.TH zmq_recv 3 "" "(c)2007-2009 FastMQ Inc." "0MQ User Manuals" .SH NAME zmq_recv \- retrieves a message from the socket .SH SYNOPSIS .B int zmq_recv (void *s, zmq_msg_t *msg, int flags); .SH DESCRIPTION Receive a message from the socket .IR s , store it in .IR msg . Any content previously in .IR msg will be properly deallocated. .IR flags argument can be combination of the flags described below. .IP "\fBZMQ_NOBLOCK\fP" The flag specifies that the operation should be performed in non-blocking mode. I.e. if it cannot be processed immediately, error should be returned with .IR errno set to EAGAIN. .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 .IP "\fBEAGAIN\fP" it's a non-blocking receive and there's no message available at the moment. .IP "\fBENOTSUP\fP" function isn't supported by particular socket type. .IP "\fBEFSM\fP" function cannot be called at the moment, because socket is not in the approprite state. This error may occur with sockets that switch between several states (e.g. ZMQ_REQ). .SH EXAMPLE .nf zmq_msg_t msg; int rc = zmq_msg_init (&msg); assert (rc == 0); rc = zmq_recv (s, &msg, 0); assert (rc == 0); .fi .SH SEE ALSO .BR zmq_send (3) .BR zmq_msg_init (3) .BR zmq_msg_data (3) .BR zmq_msg_size (3) .SH AUTHOR Martin Sustrik