.TH zmq_msg_init_data 3 "" "(c)2007-2009 FastMQ Inc." "0MQ User Manuals" .SH NAME zmq_msg_init \- initialises 0MQ message from the given data .SH SYNOPSIS .nf .B typedef void (zmq_free_fn) (void *data); .B int zmq_msg_init_data (zmq_msg_t *msg, void *data, size_t size, zmq_free_fn *ffn); .fi .SH DESCRIPTION Initialise a message from a supplied buffer. Message isn't copied, instead 0MQ infrastructure takes ownership of the buffer located at address .IR data , .IR size bytes long. Deallocation function ( .IR ffn ) will be called once the data are not needed anymore. Note that deallocation function prototype is designed so that it complies with standard C .IR free function. When using a static constant buffer, .IR ffn may be NULL to prevent subsequent deallocation. .SH RETURN VALUE In case of success the function returns zero. Otherwise it returns -1 and sets .IR errno to the appropriate value. .SH ERRORS No errors are defined. .SH EXAMPLE .nf void *data = malloc (6); assert (data); memcpy (data, "ABCDEF", 6); zmq_msg_t msg; rc = zmq_msg_init_data (&msg, data, 6, free); assert (rc == 0); rc = zmq_send (s, &msg, 0); assert (rc == 0); .fi .SH SEE ALSO .BR zmq_msg_close (3) .BR zmq_msg_init (3) .BR zmq_msg_init_size (3) .BR zmq_msg_data (3) .BR zmq_msg_size (3) .SH AUTHOR Martin Sustrik