]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man2/socketcall.2
All pages: Remove the 5th argument to .TH
[thirdparty/man-pages.git] / man2 / socketcall.2
CommitLineData
fea681da
MK
1.\" Copyright (c) 1995 Michael Chastain (mec@shell.portal.com), 15 April 1995.
2.\"
e4a74ca8 3.\" SPDX-License-Identifier: GPL-2.0-or-later
fea681da
MK
4.\"
5.\" Modified Tue Oct 22 22:11:53 1996 by Eric S. Raymond <esr@thyrsus.com>
45186a5d 6.TH SOCKETCALL 2 2021-03-22 "Linux man-pages (unreleased)"
fea681da
MK
7.SH NAME
8socketcall \- socket system calls
4b0ab5ad
AC
9.SH LIBRARY
10Standard C library
8fc3b2cf 11.RI ( libc ", " \-lc )
fea681da 12.SH SYNOPSIS
c7db92b9 13.nf
b6687e39
AC
14.BR "#include <linux/net.h>" " /* Definition of " SYS_* " constants */"
15.BR "#include <sys/syscall.h>" " /* Definition of " SYS_socketcall " */"
16.B #include <unistd.h>
68e4db0a 17.PP
b6687e39 18.BI "int syscall(SYS_socketcall, int " call ", unsigned long *" args );
c7db92b9 19.fi
fa50e159
AC
20.PP
21.IR Note :
b6687e39
AC
22glibc provides no wrapper for
23.BR socketcall (),
24necessitating the use of
25.BR syscall (2).
fea681da 26.SH DESCRIPTION
e511ffb6 27.BR socketcall ()
fea681da
MK
28is a common kernel entry point for the socket system calls.
29.I call
30determines which socket function to invoke.
31.I args
32points to a block containing the actual arguments,
33which are passed through to the appropriate call.
34.PP
35User programs should call the appropriate functions by their usual names.
36Only standard library implementors and kernel hackers need to know about
e511ffb6 37.BR socketcall ().
f576fff5
MF
38.PP
39.TS
40tab(:);
41l l.
42\fIcall\fR:Man page
43T{
44.B SYS_SOCKET
45T}:T{
46.BR socket (2)
47T}
48T{
49.B SYS_BIND
50T}:T{
51.BR bind (2)
52T}
53T{
54.B SYS_CONNECT
55T}:T{
56.BR connect (2)
57T}
58T{
59.B SYS_LISTEN
60T}:T{
61.BR listen (2)
62T}
63T{
64.B SYS_ACCEPT
65T}:T{
66.BR accept (2)
67T}
68T{
69.B SYS_GETSOCKNAME
70T}:T{
71.BR getsockname (2)
72T}
73T{
74.B SYS_GETPEERNAME
75T}:T{
76.BR getpeername (2)
77T}
78T{
79.B SYS_SOCKETPAIR
80T}:T{
81.BR socketpair (2)
82T}
83T{
84.B SYS_SEND
85T}:T{
86.BR send (2)
87T}
88T{
89.B SYS_RECV
90T}:T{
91.BR recv (2)
92T}
93T{
94.B SYS_SENDTO
95T}:T{
96.BR sendto (2)
97T}
98T{
99.B SYS_RECVFROM
100T}:T{
101.BR recvfrom (2)
102T}
103T{
104.B SYS_SHUTDOWN
105T}:T{
106.BR shutdown (2)
107T}
108T{
109.B SYS_SETSOCKOPT
110T}:T{
111.BR setsockopt (2)
112T}
113T{
114.B SYS_GETSOCKOPT
115T}:T{
116.BR getsockopt (2)
117T}
118T{
119.B SYS_SENDMSG
120T}:T{
121.BR sendmsg (2)
122T}
123T{
124.B SYS_RECVMSG
125T}:T{
126.BR recvmsg (2)
127T}
128T{
129.B SYS_ACCEPT4
130T}:T{
131.BR accept4 (2)
132T}
133T{
134.B SYS_RECVMMSG
135T}:T{
136.BR recvmmsg (2)
137T}
138T{
139.B SYS_SENDMMSG
140T}:T{
141.BR sendmmsg (2)
142T}
143.TE
3113c7f3 144.SH STANDARDS
fea681da
MK
145This call is specific to Linux, and should not be used in programs
146intended to be portable.
bf25f45c 147.SH NOTES
0181a85a 148On some architectures\(emfor example, x86-64 and ARM\(emthere is no
bf25f45c
MK
149.BR socketcall ()
150system call; instead
151.BR socket (2),
152.BR accept (2),
153.BR bind (2),
154and so on really are implemented as separate system calls.
efeece04 155.PP
b08d144c
MK
156On x86-32,
157.BR socketcall ()
158was historically the only entry point for the sockets API.
159However, starting in Linux 4.3,
160.\" commit 9dea5dc921b5f4045a18c63eb92e84dc274d17eb
161direct system calls are provided on x86-32 for the sockets API.
162This facilitates the creation of
163.BR seccomp (2)
164filters that filter sockets system calls
165(for new user-space binaries that are compiled
166to use the new entry points)
167and also provides a (very) small performance improvement.
47297adb 168.SH SEE ALSO
fea681da
MK
169.BR accept (2),
170.BR bind (2),
171.BR connect (2),
172.BR getpeername (2),
173.BR getsockname (2),
174.BR getsockopt (2),
175.BR listen (2),
176.BR recv (2),
177.BR recvfrom (2),
ed2a6c73 178.BR recvmsg (2),
fea681da 179.BR send (2),
ed2a6c73 180.BR sendmsg (2),
f0c34053 181.BR sendto (2),
fea681da
MK
182.BR setsockopt (2),
183.BR shutdown (2),
184.BR socket (2),
185.BR socketpair (2)