Index Index for
Section 2
Index Alphabetical
listing for S
Bottom of page Bottom of
page

socket(2)

NAME

socket - Create an end point for communication and return a descriptor

SYNOPSIS

#include <sys/socket.h> int socket( int domain, int type, int protocol );

STANDARDS

Interfaces documented on this reference page conform to industry standards as follows: socket(): XNS4.0, XNS5.0 Refer to the standards(5) reference page for more information about industry standards and associated tags.

PARAMETERS

domain Specifies the communications domain in which a socket is to be created. The domain argument specifies the address family with which addresses specified 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 Internet addresses (IPv4) AF_INET6 [Tru64 UNIX] Internet addresses (IPv6) type Specifies the semantics of communication. The sys/socket.h file defines the socket types. The following 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 messages of a fixed maximum length. SOCK_RAW [Tru64 UNIX] Provides access to internal network protocols and interfaces. This type of socket is available only to a process with the 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 domain. 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 getsockopt() and setsockopt() functions are used to get and set these options, which are defined in the sys/socket.h file. The sensitivity level of the new socket is inherited from the creating process. The information label of the new socket is set to System Low.

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: [EACCES] The process have not have appropriate privileges. [EAFNOSUPPORT] The addresses in the specified address family are not supported. [EMFILE] The per-process descriptor table is full. [ENFILE] No more file descriptors are available for the system. [ENOBUFS] Insufficient resources were available in the system to complete the call. [ENOMEM] The system was unable to allocate kernel memory to increase the process descriptor table. [ENOSR] The available STREAMS resources were insufficient for the operation to complete. [EPERM] [Tru64 UNIX] The process is attempting to open a raw socket and does not have the superuser privilege. [EPROTONOSUPPORT] The protocol is not supported by the specified address family or the protocol is not supported. [EPROTOTYPE] The socket type is not supported by the protocol.

SEE ALSO

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) Standards: standards(5) Network Programmer's Guide

Index Index for
Section 2
Index Alphabetical
listing for S
Top of page Top of
page