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 -------- linkxs:xs_msg_move[3] linkxs:xs_msg_init[3] linkxs:xs_msg_init_size[3] linkxs:xs_msg_init_data[3] linkxs:xs_msg_close[3] linkxs:xs[7] AUTHORS ------- The Crossroads documentation was written by Martin Sustrik and Martin Lucina .