Open System Services System Calls Reference Manual (G06.25+, H06.03+)
System Functions (s and S) sendmsg(2)
NAME
sendmsg - Sends a message on a socket using a message structure
LIBRARY
G-series native OSS processes: system library
H-series OSS processes: implicit libraries
SYNOPSIS
#include <sys/socket.h>
ssize_t sendmsg(
int socket,
const struct msghdr *message,
int flags
);
PARAMETERS
socket Specifies the file descriptor of the socket.
message Points to a msghdr structure containing both the destination address for the out-
going message and the buffers for the outgoing message. The length and format
of the address depend on the address family for the socket. The msg_flags
member of the structure is ignored. For:
AF_INET sockets
A pointer in msghdr to the address structure sockaddr_in must
be cast as a struct sockaddr.
AF_INET6 sockets
A pointer to the address structure sockaddr_in6 must be cast as
a struct sockaddr.
AF_UNIX sockets
A pointer to the address structure sockaddr_un must be cast as a
struct sockaddr.
flags Is a value that controls message transmission. The value of the flags parameter
is formed by bitwise ORing zero or more of these values:
MSG_DONTROUTE
Sends without using routing tables. (Not recommended; use
only for debugging purposes.)
MSG_OOB Sends out-of-band data on sockets that support out-of-band com-
munications.
DESCRIPTION
The sendmsg() function sends a message through a connection-oriented or connectionless
socket. If the socket is connectionless, the message is sent to the address specified in the
msghdr structure. If the socket is connection-oriented, the destination address in the msghdr
structure is ignored.
Successful completion of a call to sendmsg() does not imply successful delivery of the message.
A return value of -1 indicates only locally detected errors.
If the sending socket has no space to hold the message to be transmitted and the socket’s file
descriptor is blocking (O_NONBLOCK is not set), the sendmsg() function blocks until space is
available. If the sending socket has no space to hold the message to be transmitted and the
socket’s file descriptor is marked nonblocking (O_NONBLOCK is set), the sendmsg() function
527186-003 Hewlett-Packard Company 7−25