The whole resource access API is defined in srl.h. Task code should include it:
#include <srl.h>
Todo
GET_ARG
Abstract type for a MWMR channel
Reads from an MWMR channel to the given buffer. Block the task until the whole transfer is completed.
| Parameters: |
|
|---|
Writes to an MWMR channel to the given buffer. Block the task until the whole transfer is completed.
| Parameters: |
|
|---|
Reads from an MWMR channel to the given buffer. Returns as soon as a blocking could occur.
| Parameters: |
|
|---|---|
| Returns: | The actual size transfered, in bytes. |
Writes to an MWMR channel to the given buffer. Returns as soon as a blocking could occur.
| Parameters: |
|
|---|---|
| Returns: | The actual size transfered, in bytes. |
Writes a config register of an MWMR controller.
| Parameters: |
|
|---|
Reads a status register of an MWMR controller.
| Parameters: |
|
|---|---|
| Returns: | the value present is status register |
Abstract type for a Synchronization barrier
Waits until all tasks registered on the barrier have called this function.
| Parameters: |
|
|---|
Resets the internal state of the barrier. If tasks are waiting on the same barrier at time of call, application behavior is undefined.
| Parameters: |
|
|---|
Abstract type for a Shared-memory buffer
Retrieves the base address of a memspace
| Parameters: |
|
|---|---|
| Returns: | The memspace base address |
Retrieves the size of a memspace
| Parameters: |
|
|---|---|
| Returns: | The memspace size, in bytes |
Waits until the lock is taken exclusively.
| Parameters: |
|
|---|
Releases the taken lock. If a task releases a lock it does not own, application behavior is undefined.
| Parameters: |
|
|---|
Try to take a lock, if it would block, don’t take it and return immediately.
| Parameters: |
|
|---|---|
| Returns: | 0 if taken successfully, non-0 otherwise |