recvmsg(2) DG/UX 4.30 recvmsg(2)
NAME
recvmsg - Receive a message from a socket.
SYNOPSIS
#include <sys/socket.h>
int recvmsg (s, msg, user_flags)
int s;
struct msghdr * msg;
int user_flags;
PARAMETERS
s File descriptor of socket to receive from.
msg Pointer to receive msg packet.
user_flags Flags for transfer.
DESCRIPTION
This call is identical to recv or recvfrom depending on
whether or not the msg_namelen fields are greater than zero.
If the <msg_namelen> field of the msghdr structure is non-
zero, this call is identical to recvfrom, otherwise it is
identical to recv.
The added value of this call is that it allows an IOV to be
supplied in the msg packet for use of non-contiguous buffers
(see readv for more information about IOV structures).
ACCESS CONTROL
None.
RETURN VALUE
These calls return the number of bytes received.
0..<len> Number of bytes transferred.
-1 An error occurred. Errno is set to indicate
the error.
EXCEPTIONS
Errno may be set to one of the following error codes:
EBADF The argument <s> is not an active valid
descriptor.
Licensed material--property of copyright holder(s) Page 1
recvmsg(2) DG/UX 4.30 recvmsg(2)
ENOTSOCK The argument <s> is not a socket.
EAGAIN The socket is marked non-blocking and the
receive operation would block.
EINTR The receive was interrupted by delivery of a
signal before any data was available for the
receive.
EFAULT The data was specified to be received into a
non-existent or protected part of the process
address space.
EMSGSIZE Too many entries in the iovec array.
SEE ALSO
The related manual sections: read(2), readv(2),
recvfrom(2), send(2), socket(2).
Licensed material--property of copyright holder(s) Page 2