VMS Help  —  TCPIP Services, Programming Interfaces, Socket API Functions, sendmsg()  Description
    This function sends the data in a msghdr structure to any other
    socket.
    You can use this function on any socket to send data to any named
    socket. The data in the msg_iov field of the msghdr structure
    is sent to the socket whose address is specified in the msg_name
    field of the structure. The receiving socket gets the data using
    the read(), recv(),  recvfrom(), or recvmsg() function. When the
    iovec array specifies more than one buffer, the data is gathered
    from all specified buffers before being sent.
    Normally the sendmsg() function blocks if there is no space for
    the incoming data in the buffer. It waits until the buffer space
    becomes available. If the socket is set to nonblocking and there
    is no space for the data, the sendmsg() function fails with the
    EWOULDBLOCK error.
    If the message is too large to be sent in one piece, and the
    socket type is SOCK_DGRAM, which requires that messages be sent
    in one piece, sendmsg() fails with the EMSGSIZE error.
    If the address specified is an INADDR_BROADCAST address, the
    SO_BROADCAST socket option must be set and the process must
    have OPER, SYSPRV, or BYPASS privilege for the I/O operation
    to succeed.
    A success return from sendmsg() does not guarantee that the data
    has been received by the peer. All errors (except EWOULDBLOCK)
    are detected locally. To determine when it is possible to send
    more data, use the select() function.
    Related Functions
    See also read(), recv(),  recvfrom(), recvmsg(), socket(),  and
    getsockopt().
Close Help