blob: 13a429806ee060b9090bc93846557088645cfc4c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
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 <sustrik@250bpm.com>
and Martin Lucina <martin@lucina.net>.
|