zmq_msg_init_data(3) ==================== NAME ---- zmq_msg_init_data - initialises 0MQ message from the given data SYNOPSIS -------- 'typedef void (zmq_free_fn) (void *data, void *hint);' 'int zmq_msg_init_data (zmq_msg_t *msg, void *data, size_t size, zmq_free_fn *ffn, void *hint);' DESCRIPTION ----------- Initialise a message from a supplied buffer. Message isn't copied, instead 0MQ infrastructure takes ownership of the buffer located at address 'data', 'size' bytes long. Deallocation function ('ffn') will be called once the data are not needed anymore. When using a static constant buffer, 'ffn' may be NULL to prevent subsequent deallocation. If needed, additional 'hint' can be passed to the initialisation function. It's an opaque pointer that will be later on passed to 'ffn' as a second argument. RETURN VALUE ------------ In case of success the function returns zero. Otherwise it returns -1 and sets 'errno' to the appropriate value. ERRORS ------ No errors are defined. EXAMPLE ------- ---- void my_free (void *data, void *hint) {free (data);} ... void *data = malloc (6); assert (data); memcpy (data, "ABCDEF", 6); zmq_msg_t msg; rc = zmq_msg_init_data (&msg, data, 6, my_free, NULL); assert (rc == 0); rc = zmq_send (s, &msg, 0); assert (rc == 0); ---- SEE ALSO -------- linkzmq:zmq_msg_close[3] linkzmq:zmq_msg_init[3] linkzmq:zmq_msg_init_size[3] linkzmq:zmq_msg_data[3] linkzmq:zmq_msg_size[3] AUTHOR ------ Martin Sustrik