dacs_send

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.

SEE ALSO

dacs_recv(3), dacs_wait(3), dacs_test(3)