XS_MSG_COPY(3)

NAME
xs_msg_copy - copy content of a message to another message

SYNOPSIS

int xs_msg_copy (xs_msg_t *dest, xs_msg_t *src);

DESCRIPTION

The xs_msg_copy() function shall copy the message object referenced by src to the message object referenced by dest. The original content of dest, if any, shall be released.

    Caution

    The implementation may choose not to physically copy the message content, rather to share the underlying buffer between src and dest. Avoid modifying message content after a message has been copied with xs_msg_copy(), doing so can result in undefined behaviour. If what you need is an actual hard copy, allocate a new message using xs_msg_init_size() and copy the message content using memcpy().

    Caution

    Never access xs_msg_t members directly, instead always use the xs_msg family of functions.

RETURN VALUE

The xs_msg_copy() function shall return zero if successful. Otherwise it shall return -1 and set errno to one of the values defined below.

ERRORS

EFAULT
    Invalid message.

SEE ALSO

xs_msg_move(3) xs_msg_init(3) xs_msg_init_size(3) xs_msg_init_data(3) xs_msg_close(3) xs(7)

AUTHORS

The Crossroads documentation was written by Martin Sustrik <sustrik@250bpm.com[1]> and Martin Lucina <martin@lucina.net[2]>.

NOTES

1.  sustrik@250bpm.com
    mailto:sustrik@250bpm.com

2.  martin@lucina.net
    mailto:martin@lucina.net