NAME
	  socket - Creates an end point	for communication and returns
	  a descriptor

     SYNOPSIS
	  #include <sys/types.h>

	  #include <sys/socket.h>

	  int socket  (
	       int addr_family,
	       int type,
	       int protocol );

     PARAMETERS
	  addr_family
	       Specifies an address family with	which addresses	speci-
	       fied in later socket operations should be interpreted.
	       The sys/socket.h	file contains the definitions of the
	       address families.  Commonly used	families are:

	       AF_UNIX
		    UNIX pathnames

	       AF_INET
		    ARPA Internet addresses

	       AF_NS
		    Xerox Network Software addresses

	  type Specifies the semantics of communication. The
	       sys/socket.h file defines the socket types.  The	fol-
	       lowing types are	supported:

	       SOCK_STREAM
		    Provides sequenced,	reliable, two-way byte streams
		    with a transmission	mechanism for out-of-band
		    data.

	       SOCK_DGRAM
		    Provides datagrams,	which are connectionless mes-
		    sages of a fixed maximum length.

	       SOCK_RAW
		    Provides access to internal	network	protocols and
		    interfaces.	This type of socket is available only
		    to a process with superuser	privilege.

	  protocol
	       Specifies a particular protocol to be used with the
	       socket.	Specifying a protocol of 0 (zero) causes the
	       socket()	function to default to the typical protocol
	       for the requested type of returned socket.

     DESCRIPTION
	  The socket() function	creates	a socket of the	specified type
	  in the specified addr_family.

	  The socket() function	returns	a descriptor (an integer) that
	  can be used in later system calls that operate on sockets.

	  Socket level options control socket operations. The get-
	  sockopt() and	setsockopt() functions are used	to get and set
	  these	options, which are defined in the sys/socket.h file.

     RETURN VALUES
	  Upon successful completion, the socket() function returns a
	  nonnegative integer (the socket descriptor). Otherwise, a
	  value	of -1 is returned and errno is set to indicate the
	  error.

     ERRORS
	  If the socket() function fails, errno	may be set to one of
	  the following	values:

	  [EAFNOSUPPORT]
		    The	addresses in the specified address family are
		    not	available in the kernel.

	  [EPROTONOSUPPORT]
		    The	socket in the specified	address	family is not
		    supported.

	  [EMFILE]  The	per-process descriptor table is	full.

	  [ENOBUFS] Insufficient resources were	available in the sys-
		    tem	to complete the	call.

	  [EPERM]   The	process	is attempting to open a	raw socket and
		    does not have superuser privilege.

     RELATED INFORMATION
	  Functions: accept(2),	bind(2), connect(2), listen(2),
	  getsockname(2), getsockopt(2), recv(2), recvfrom(2),
	  recvmsg(2), send(2), sendto(2), sendmsg(2), setsockopt(2),
	  shutdown(2), socketpair(2)








Acknowledgement and Disclaimer