recvmsg(2)
_________________________________________________________________
recvmsg System Call
Receive a message from a socket.
_________________________________________________________________
SYNTAX
#include <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.
DG/UX 4.00 Page 1
Licensed material--property of copyright holder(s)
recvmsg(2)
-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.
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).
DG/UX 4.00 Page 2
Licensed material--property of copyright holder(s)