sendmsg man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

SENDMSG(3XNET)							SENDMSG(3XNET)

NAME
       sendmsg - send a message on a socket using a message structure

SYNOPSIS
       cc [ flag ... ] file ... -lxnet [ library ... ]
       #include <sys/socket.h>

       ssize_t sendmsg(int socket, const struct msghdr *message, int flags);

PARAMETERS
       The function takes the following arguments:

       socket
		  Specifies the socket file descriptor.

       message
		  Points  to  a msghdr structure, containing both the destina‐
		  tion address and the buffers for the outgoing	 message.  The
		  length  and format of the address depend on the address fam‐
		  ily of the socket.  The msg_flags member is ignored.

       flags
		  Specifies the type of message transmission. The  application
		  may specify 0 or the following flag:

		  MSG_EOR
			     Terminates	 a  record (if supported by the proto‐
			     col)

		  MSG_OOB
			     Sends out-of-band data on	sockets	 that  support
			     out-of-bound data. The significance and semantics
			     of out-of-band data are protocol-specific.

DESCRIPTION
       The sendmsg() function sends a message  through	a  connection-mode  or
       connectionless-mode  socket.  If the socket is connectionless-mode, the
       message will be sent to the address specified by msghdr.	 If the socket
       is connection-mode, the destination address in msghdr is ignored.

       The   msg_iov  and   msg_iovlen	fields of message specify zero or more
       buffers containing the data to be sent. msg_iov points to an  array  of
       iovec  structures;   msg_iovlen	must  be  set to the dimension of this
       array. In each  iovec structure, the  iov_base field specifies  a stor‐
       age area and the	 iov_len field gives its size  in bytes. Some of these
       sizes can be zero. The data from each storage area indicated by msg_iov
       is sent in turn.

       Successful  completion of a call to sendmsg() does not guarantee deliv‐
       ery of the message. A  return  value  of	 −1  indicates	only  locally-
       detected errors.

       If  space is not available at the sending socket to hold the message to
       be transmitted and the socket file descriptor does not have  O_NONBLOCK
       set,  sendmsg()	function blocks until space is available.  If space is
       not available at the sending socket to hold the message to be transmit‐
       ted  and the socket file descriptor does have O_NONBLOCK set, sendmsg()
       function will fail.

       If the socket protocol supports broadcast and the specified address  is
       a broadcast address for the socket protocol, sendmsg() will fail if the
       SO_BROADCAST option is not set for the socket.

       The socket in use may require the process to  have  appropriate	privi‐
       leges to use the sendmsg() function.

USAGE
       The  select(3C)	and poll(2) functions can be used to determine when it
       is possible to send more data.

RETURN VALUES
       Upon successful completion, sendmsg() function returns  the  number  of
       bytes sent.  Otherwise, −1 is returned and errno is set to indicate the
       error.

ERRORS
       The sendmsg() function will fail if:

       EAGAIN
       EWOULDBLOCK
		       The socket's file descriptor is marked  O_NONBLOCK  and
		       the requested operation would block.

       EAFNOSUPPORT
		       Addresses  in  the  specified  address family cannot be
		       used with this socket.

       EBADF
		       The socket argument is not a valid file descriptor.

       ECONNRESET
		       A connection was forcibly closed by a peer.

       EFAULT
		       The  message parameter, or storage pointed  to  by  the
		       msg_name,  msg_control  or  msg_iov fields of the  mes‐
		       sage parameter, or storage  pointed  to	by  the	 iovec
		       structures  pointed  to by the msg_iov field can not be
		       accessed.

       EINTR
		       A signal interrupted  sendmsg()	before	any  data  was
		       transmitted.

       EINVAL
		       The sum of the iov_len values overflows an ssize_t.

       EMSGSIZE
		       The  message is to large to be sent all at once (as the
		       socket requires),  or  the  msg_iovlen  member  of  the
		       msghdr  structure pointed to by message is less than or
		       equal to 0 or is greater than IOV_MAX.

       ENOTCONN
		       The socket is connection-mode but is not connected.

       ENOTSOCK
		       The socket argument does not refer a socket.

       EOPNOTSUPP
		       The socket argument is associated with  a  socket  that
		       does  not  support  one	or  more  of the values set in
		       flags.

       EPIPE
		       The socket is shut down for writing, or the  socket  is
		       connection-mode and is no longer connected. In the lat‐
		       ter case, and if the socket is of type SOCK_STREAM, the
		       SIGPIPE signal is generated to the calling thread.

       If  the	address	 family	 of the socket is AF_UNIX, then sendmsg() will
       fail if:

       EIO
		       An I/O error occurred while reading from or writing  to
		       the file system.

       ELOOP
		       Too many symbolic links were encountered in translating
		       the pathname in the socket address.

       ENAMETOOLONG
		       A component of a pathname exceeded NAME_MAX characters,
		       or an entire pathname exceeded PATH_MAX characters.

       ENOENT
		       A  component  of the pathname does not name an existing
		       file or the pathname is an empty string.

       ENOTDIR
		       A component of the path prefix of the pathname  in  the
		       socket address is not a directory.

       The sendmsg() function may fail if:

       EACCES
		       Search permission is denied for a component of the path
		       prefix; or write access to the named socket is denied.

       EDESTADDRREQ
		       The socket is not connection-mode and does not have its
		       peer address set, and no destination address was speci‐
		       fied.

       EHOSTUNREACH
		       The  destination	 host  cannot  be  reached   (probably
		       because	the  host  is  down  or a remote router cannot
		       reach it).

       EIO
		       An I/O error occurred while reading from or writing  to
		       the file system.

       EISCONN
		       A  destination  address was specified and the socket is
		       already connected.

       ENETDOWN
		       The local interface used to reach  the  destination  is
		       down.

       ENETUNREACH
		       No route to the network is present.

       ENOBUFS
		       Insufficient  resources were available in the system to
		       perform the operation.

       ENOMEM
		       Insufficient  memory  was  available  to	 fulfill   the
		       request.

       ENOSR
		       There were insufficient STREAMS resources available for
		       the operation to complete.

       If the address family of the socket is AF_UNIX, then sendmsg() may fail
       if:

       ENAMETOOLONG
		       Pathname	 resolution  of	 a  symbolic  link produced an
		       intermediate result whose length exceeds PATH_MAX.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Standard	      │
       ├────────────────────┼─────────────────┤
       │MT-Level	    │ MT-Safe	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       poll(2)	    getsockopt(3XNET),	    recv(3XNET),      recvfrom(3XNET),
       recvmsg(3XNET),	 select(3C),   send(3XNET),   sendto(3XNET),  setsock‐
       opt(3XNET), shutdown(3XNET), socket(3XNET), attributes(5), standards(5)

				  Nov 1, 2003			SENDMSG(3XNET)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net