Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
socket.h(3HEAD)			    Headers		       socket.h(3HEAD)

NAME
       socket.h, socket	- Internet Protocol family

SYNOPSIS
       #include	<sys/socket.h>

DESCRIPTION
       The  <sys/socket.h>  header  defines the	unsigned integral type sa_fam-
       ily_t through typedef.

       The <sys/socket.h> header defines the sockaddr structure	that  includes
       the following members:

       sa_family_t	    sa_family		  /* address family */
       char		    sa_data[]		  /*   socket  address
						  (variable-length
						  data)	*/

       The  <sys/socket.h>  header  defines the	msghdr structure that includes
       the following members:

       void		    *msg_name		  /* optional address */
       size_t		    msg_namelen		  /* size of address */
       struct iovec	    *msg_iov		  /* scatter/gather array */
       int		    msg_iovlen		  /* members in	msg_iov	*/
       void		    *msg_control	  /* ancillary data, see below */
       size_t		    msg_controllen	  /* ancillary data buffer len */
       int		    msg_flags		  /* flags on received message */

       The <sys/socket.h> header defines the cmsghdr structure	that  includes
       the following members:

       size_t		    cmsg_len		  /*  data byte	count, includ-
						  ing hdr */
       int		    cmsg_level		  /* originating protocol */
       int		    cmsg_type		  /* protocol-specific type */

       Ancillary data consists of a sequence of	pairs, each  consisting	 of  a
       cmsghdr	structure  followed  by	a data array.  The data	array contains
       the ancillary data message, and the cmsghdr structure contains descrip-
       tive  information  that	allows	an  application	to correctly parse the
       data.

       The values for cmsg_level will be legal values for the  level  argument
       to  the getsockopt() and	setsockopt() functions.	The SCM_RIGHTS type is
       supported for level SOL_SOCKET.

       Ancillary  data	is  also  possible   at	  the	socket	 level.	   The
       <sys/socket.h>  header  defines	the  following	macro  for  use	as the
       cmsg_type value when cmsg_level is SOL_SOCKET:

       SCM_RIGHTS      Indicates that  the  data  array	 contains  the	access
		       rights to be sent or received.

       SCM_UCRED       Indicates  that the data	array contains a ucred_t to be
		       received. The ucred_t is	the credential of the  sending
		       process	at  the	 time  the message was sent. This is a
		       Sun-specific, Evolving interface.  See ucred_get(3C).

       The <sys/socket.h> header defines the following macros to  gain	access
       to  the	data  arrays  in  the ancillary	data associated	with a message
       header:

       CMSG_DATA(cmsg)

	   If the argument is a	pointer	to a cmsghdr structure,	this macro re-
	   turns  an  unsigned	character pointer to the data array associated
	   with	the cmsghdr structure.

       CMSG_NXTHDR(mhdr, cmsg)

	   If the first	argument is a pointer to a msghdr  structure  and  the
	   second  argument  is	a pointer to a cmsghdr structure in the	ancil-
	   lary	data, pointed to by  the  msg_control  field  of  that	msghdr
	   structure,  this macro returns a pointer to the next	cmsghdr	struc-
	   ture, or a null pointer if this structure is	the  last  cmsghdr  in
	   the ancillary data.

       CMSG_FIRSTHDR(mhdr)

	   If  the argument is a pointer to a msghdr structure,	this macro re-
	   turns a pointer to the first	cmsghdr	 structure  in	the  ancillary
	   data	 associated  with  this	msghdr structure, or a null pointer if
	   there is no ancillary data associated with the msghdr structure.

       CMSG_SPACE(len)

	   Given the length of an ancillary data object, CMSG_SPACE()  returns
	   the space required by the object and	its cmsghdr structure, includ-
	   ing any padding needed  to  satisfy	alignment  requirements.  This
	   macro  can  be used,	for example, to	allocate space dynamically for
	   the ancillary data. This macro should not be	used to	initialize the
	   cmsg_len  member  of	 a cmsghdr structure. Use the CMSG_LEN() macro
	   instead.

       CMSG_LEN(len)

	   Given the length of an ancillary data  object,  CMSG_LEN()  returns
	   the value to	store in the cmsg_len member of	the cmsghdr structure,
	   taking into account any padding needed  to  satisfy	alignment  re-
	   quirements.

       The  <sys/socket.h>  header  defines the	linger structure that includes
       the following members:

       int		    l_onoff		  /* indicates	whether	 linger
						  option is enabled */
       int		    l_linger		  /* linger time, in seconds */

       The <sys/socket.h> header defines the following macros:

       SOCK_DGRAM	       Datagram	socket

       SOCK_STREAM	       Byte-stream socket

       SOCK_SEQPACKET	       Sequenced-packet	socket

       The  <sys/socket.h>  header  defines the	following macro	for use	as the
       level argument of setsockopt() and getsockopt().

       SOL_SOCKET      Options to be accessed at socket	 level,	 not  protocol
		       level.

       The  <sys/socket.h> header defines the following	macros:	for use	as the
       option_name argument in getsockopt() or setsockopt() calls:

       SO_DEBUG	       Debugging information is	being recorded.

       SO_ACCEPTCONN   Socket is accepting connections.

       SO_BROADCAST    Transmission of broadcast messages is supported.

       SO_REUSEADDR    Reuse of	local addresses	is supported.

       SO_KEEPALIVE    Connections are kept alive with periodic	messages.

       SO_LINGER       Socket lingers on close.

       SO_OOBINLINE    Out-of-band data	is transmitted in line.

       SO_SNDBUF       Send buffer size.

       SO_RCVBUF       Receive buffer size.

       SO_ERROR	       Socket error status.

       SO_TYPE	       Socket type.

       SO_RECVUCRED    Request the  reception  of  user	 credential  ancillary
		       data.  This  is a Sun-specific, Evolving	interface. See
		       ucred_get(3C).

       The <sys/socket.h> header defines the following macros for use  as  the
       valid  values  for  the msg_flags field in the msghdr structure,	or the
       flags parameter in recvfrom(), recvmsg(), sendto(), or sendmsg()	calls:

       MSG_CTRUNC      Control data truncated.

       MSG_EOR	       Terminates a record (if supported by the	protocol).

       MSG_OOB	       Out-of-band data.

       MSG_PEEK	       Leave received data in queue.

       MSG_TRUNC       Normal data truncated.

       MSG_WAITALL     Wait for	complete message.

       The <sys/socket.h> header defines the following macros:

       AF_UNIX	       UNIX domain sockets

       AF_INET	       Internet	domain sockets

       The <sys/socket.h> header defines the following macros:

       SHUT_RD	       Disables	further	receive	operations.

       SHUT_WR	       Disables	further	send operations.

       SHUT_RDWR       Disables	further	send and receive operations.

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

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Standard			   |
       +-----------------------------+-----------------------------+

SEE ALSO
       accept(3SOCKET),	 accept(3XNET),	  bind(3SOCKET),   bind(3XNET),	  con-
       nect(3SOCKET),	  connect(3XNET),    getpeername(3SOCKET),    getpeer-
       name(3XNET),    getpeerucred(3C),    getsockname(3SOCKET),     getsock-
       name(3XNET),  getsockopt(3SOCKET),  getsockopt(3XNET), libsocket(3LIB),
       listen(3SOCKET),	    listen(3XNET),     recv(3SOCKET),	  recv(3XNET),
       recvfrom(3SOCKET),  recvfrom(3XNET),  recvmsg(3SOCKET), recvmsg(3XNET),
       send(3SOCKET),	 send(3XNET),	 sendmsg(3SOCKET),     sendmsg(3XNET),
       sendto(3SOCKET),	sendto(3XNET), setsockopt(3SOCKET), setsockopt(3XNET),
       shutdown(3SOCKET),  shutdown(3XNET),  socket(3SOCKET),	socket(3XNET),
       socketpair(3SOCKET)    socketpair(3XNET),   ucred_get(3C)attributes(5),
       standards(5)

SunOS 5.10			  11 Aug 2004		       socket.h(3HEAD)

NAME | SYNOPSIS | DESCRIPTION | ATTRIBUTES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=socket.h&sektion=3head&manpath=SunOS+5.10>

home | help