xs_msg_init(3) ============== NAME ---- xs_msg_init - initialise empty Crossroads message SYNOPSIS -------- *int xs_msg_init (xs_msg_t '*msg');* DESCRIPTION ----------- The _xs_msg_init()_ function shall initialise the message object referenced by 'msg' to represent an empty message. This function is most useful when called before receiving a message with _xs_recv()_. CAUTION: Never access 'xs_msg_t' members directly, instead always use the _xs_msg_ family of functions. CAUTION: The functions _xs_msg_init()_, _xs_msg_init_data()_ and _xs_msg_init_size()_ are mutually exclusive. Never initialize the same 'xs_msg_t' twice. RETURN VALUE ------------ The _xs_msg_init()_ function shall return zero if successful. Otherwise it shall return `-1` and set 'errno' to one of the values defined below. ERRORS ------ No errors are defined. EXAMPLE ------- .Receiving a message from a socket ---- xs_msg_t msg; rc = xs_msg_init (&msg); assert (rc == 0); rc = xs_recv (socket, &msg, 0); assert (rc == 0); ---- SEE ALSO -------- linkxs:xs_msg_init_size[3] linkxs:xs_msg_init_data[3] linkxs:xs_msg_close[3] linkxs:xs_msg_data[3] linkxs:xs_msg_size[3] linkxs:xs[7] AUTHORS ------- The Crossroads documentation was written by Martin Sustrik and Martin Lucina .