sendmsg man page on Solaris

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

sendmsg(3XNET)	 X/Open Networking Services Library Functions	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 des‐
		       tination address and the buffers for the outgoing  mes‐
		       sage.  The  length  and format of the address depend on
		       the address family of the socket.  The msg_flags member
		       is ignored.

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

		       MSG_EOR		       Terminates a  record  (if  sup‐
					       ported by the protocol)

		       MSG_OOB		       Sends out-of-band data on sock‐
					       ets 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		       The  socket's  file descriptor is marked O_NON‐
       EWOULDBLOCK	       BLOCK and the requested operation would block.

       EAFNOSUPPORT	       Addresses in the specified address family  can‐
			       not 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  message  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  con‐
			       nected.

       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 con‐
			       nected.	In  the latter 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 specified.

       EHOSTUNREACH	       The  destination host cannot be reached (proba‐
			       bly 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 destina‐
			       tion 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)

SunOS 5.10			  1 Nov 2003			sendmsg(3XNET)
[top]

List of man pages available for Solaris

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