NAME
dacs_send
- send a message to another process
SYNOPSIS
DACS_ERR_T dacs_send ( void *src_data, uint32_t size, de_id_t dst_de, dacs_process_id_t dst_pid, uint32_t stream, dacs_wid_t wid, DACS_BYTE_SWAP_T swap )
Call parameters |
|
*src_data |
A pointer to the beginning of the source (send) message
buffer. |
size |
The size of the message buffer. |
dst_de |
The message destination DE. |
dst_pid |
The message destination process. |
stream |
The identifier of the stream on which the message is
to be sent. |
wid |
A wait identifier. |
swap |
The little-endian or big-endian byte-swapping flag.Possible values are:- DACS_BYTE_SWAP_DISABLE,
- DACS_BYTE_SWAP_HALF_WORD,
- DACS_BYTE_SWAP_WORD or
- DACS_BYTE_SWAP_DOUBLE_WORD.
See Data communication for
details. |
DESCRIPTION
The dacs_send service
asynchronously sends a message to another process. Upon successful return
a send operation is either pending or in progress. Use dacs_test() or dacs_wait() to
test for completion on this DE, so that the local
buffer can be reused or changed.
Note: The size of the buffer at the
destination process must be greater than or equal to amount of data sent;
otherwise the send operation fails silently. This
error will later be reported by dacs_test() or dacs_wait() as DACS_ERR_BUF_OVERFLOW.
RETURN VALUE
The
dacs_send service
returns an error indicator defined as:
- DACS_SUCCESS: normal return.
- DACS_ERR_INVALID_ADDR: the pointer is invalid.
- DACS_ERR_INVALID_ATTR: the flag or enumerated constant
is invalid.
- DACS_ERR_NO_RESOURCE: unable to allocate required resources.
- DACS_ERR_INVALID_DE: the specified DE is either invalid
or not reserved.
- DACS_ERR_INVALID_PID: the specified PID does not refer
to an active process.
- DACS_ERR_INVALID_TARGET: this operation is not allowed
for the target process.
- DACS_ERR_NOT_ALIGNED: the requested data transfer does
not have proper alignment for its size.
- DACS_ERR_INVALID_SIZE: the size is zero or not supported
by the platform.
- DACS_ERR_INVALID_WID: the wait identifier is invalid.
- DACS_ERR_INVALID_STREAM: the stream identifier is invalid.