xs_msg_init(3)

# xs_msg_init(3) Manual Page

## 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

xs_msg_init_size(3) xs_msg_init_data(3) xs_msg_close(3) xs_msg_data(3) xs_msg_size(3) xs(7)

## AUTHORS

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