procfs: make ipc vectors available
[minix.git] / man / man2 / socket.2
blobef65fd461a934c09b05808986e58ab7489659837
1 .TH SOCKET 2
2 .SH NAME
3 socket \- creates a socket.
4 .SH SYNOPSIS
5 .ft B
6 #include <sys/socket.h>
8 .in +5
9 .ti -5
10 int socket(int \fIdomain\fP, int \fItype\fP, int \fIprotocol\fP);
11 .br
12 .ft P
13 .SH DESCRIPTION
14 socket() creates a socket in the specified \fIdomain\fP. A socket
15 is a communications endpoint. Currently two values are supported
16 for \fIdomain\fP, PF_INET for internet sockets and PF_UNIX for
17 local unix domain sockets. The \fItype\fP of socket can be
18 SOCK_STREAM for TCP sockets in the PF_INET \fIdomain\fP or
19 SOCK_DGRAM for UDP sockets in the PF_INET \fIdomain\fP. For
20 sockets in the PF_UNIX \fIdomain\fP, SOCK_STREAM, SOCK_DGRAM, and
21 SOCK_SEQPACKET are supported values for \fItype\fP. The value
22 of \fIprotocol\fP is always 0 or IPPROTO_TCP for TCP sockets or
23 IPPROTO_UDP for UDP sockets.
24 .SH RETURN VALUES
25 On success, this function returns a numeric socket descriptor.
26 On error, -1 is returned and \fIerrno\fP is set.
27 .SH ERRORS
28 .TP 15
29 [EAFNOSUPPORT]
30 The \fIdomain\fP is not supported.
31 .TP 15
32 [EPROTOTYPE]
33 The \fIprotocol\fP is not supported by the \fIdomain\fP.
34 .TP 15
35 [EMFILE]
36 The process descriptor table is full.
37 .TP 15
38 [ENFILE]
39 The system descriptor table is full.
40 .TP 15
41 [ENOSPC]
42 Could not allocate a file descriptor.
43 .SH SEE ALSO
44 .BR socketpair(2),
45 .BR bind(2),
46 .BR listen(2),
47 .BR accept(2),
48 .BR connect(2),
49 .BR shutdown(2),
50 .BR getsockopt(2),
51 .BR setsockopt(2),
52 .BR ip(4),
53 .BR inet(8),
54 .BR unix(8)