The recvmsg subroutine uses a msghdr structure to decrease the number of directly supplied parameters. In BSD 4.3 Reno, the size and members of the msghdr structure have been modified. The default behaviour is that of BSD 4.4. Parameters Socket Specifies the unique name of the socket. Message Points to the address of the msghdr structure, which contains both the address for the incoming message and the space for the sender address.
Flags Permits the subroutine to exercise control over the reception of messages.
Moves an error code, indicating the specific error, into the errno global variable. The Socket parameter refers to a file, not a socket. The socket is marked nonblocking, and no connections are present to be accepted. The recvmsg subroutine was interrupted by delivery of a signal before any data was available for the receive. The Address parameter is not in a writable part of the user address space.