.\" Copyright (c) 1995 Michael Chastain (mec@shell.portal.com), 15 April 1995.
.\"
.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, see
.\" .
.\" %%%LICENSE_END
.\"
.\" Modified Tue Oct 22 22:11:53 1996 by Eric S. Raymond
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.\"
.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
.\" all rights reserved.
.\" Translated Mon Mar 3 23:45:10 JST 1997
.\" by HANATAKA Shinya
.\" Updated 2013-03-26, Akihiro MOTOKI
.\"
.TH SOCKETCALL 2 2017\-09\-15 Linux "Linux Programmer's Manual"
.SH 名前
socketcall \- ソケットシステムコール
.SH 書式
\fB#include \fP
.PP
\fBint socketcall(int \fP\fIcall\fP\fB, unsigned long *\fP\fIargs\fP\fB);\fP
.SH 説明
\fBsocketcall\fP() はソケットシステムコールのための共通のカーネルエントリー ポイント(kernel entry point)である。
\fIcall\fP はどのソケット関数を呼び出すかを指定する。 \fIargs\fP は適切なコールに渡すための実際の引数を含んでいるブロックを指す。
.PP
ユーザープログラムは通常の名前を使用して適切な関数を呼び出すべきである。 標準ライブラリの実装者やカーネルハッカーのみが \fBsocketcall\fP()
について知る必要がある。
.PP
.TS
tab(:);
l l.
\fIcall\fP:マニュアル
T{
\fBSYS_SOCKET\fP
T}:T{
\fBsocket\fP(2)
T}
T{
\fBSYS_BIND\fP
T}:T{
\fBbind\fP(2)
T}
T{
\fBSYS_CONNECT\fP
T}:T{
\fBconnect\fP(2)
T}
T{
\fBSYS_LISTEN\fP
T}:T{
\fBlisten\fP(2)
T}
T{
\fBSYS_ACCEPT\fP
T}:T{
\fBaccept\fP(2)
T}
T{
\fBSYS_GETSOCKNAME\fP
T}:T{
\fBgetsockname\fP(2)
T}
T{
\fBSYS_GETPEERNAME\fP
T}:T{
\fBgetpeername\fP(2)
T}
T{
\fBSYS_SOCKETPAIR\fP
T}:T{
\fBsocketpair\fP(2)
T}
T{
\fBSYS_SEND\fP
T}:T{
\fBsend\fP(2)
T}
T{
\fBSYS_RECV\fP
T}:T{
\fBrecv\fP(2)
T}
T{
\fBSYS_SENDTO\fP
T}:T{
\fBsendto\fP(2)
T}
T{
\fBSYS_RECVFROM\fP
T}:T{
\fBrecvfrom\fP(2)
T}
T{
\fBSYS_SHUTDOWN\fP
T}:T{
\fBshutdown\fP(2)
T}
T{
\fBSYS_SETSOCKOPT\fP
T}:T{
\fBsetsockopt\fP(2)
T}
T{
\fBSYS_GETSOCKOPT\fP
T}:T{
\fBgetsockopt\fP(2)
T}
T{
\fBSYS_SENDMSG\fP
T}:T{
\fBsendmsg\fP(2)
T}
T{
\fBSYS_RECVMSG\fP
T}:T{
\fBrecvmsg\fP(2)
T}
T{
\fBSYS_ACCEPT4\fP
T}:T{
\fBaccept4\fP(2)
T}
T{
\fBSYS_RECVMMSG\fP
T}:T{
\fBrecvmmsg\fP(2)
T}
T{
\fBSYS_SENDMMSG\fP
T}:T{
\fBsendmmsg\fP(2)
T}
.TE
.SH 準拠
このコールは Linux 特有であり、移植を意図したプログラムで 使用してはいけない。
.SH 注意
いくつかのアーキテクチャー\\(emfor 例えば x86\-64 や ARM\\(emでは、システムコール \fBsocketcall\fP()
が存在しない。実際には、その代わりに \fBsocket\fP(2), \fBaccept\fP(2), \fBbind\fP(2)
などが独立したシステムコールとして実装されている。
.PP
.\" commit 9dea5dc921b5f4045a18c63eb92e84dc274d17eb
On x86\-32, \fBsocketcall\fP() was historically the only entry point for the
sockets API. However, starting in Linux 4.3, direct system calls are
provided on x86\-32 for the sockets API. This facilitates the creation of
\fBseccomp\fP(2) filters that filter sockets system calls (for new user\-space
binaries that are compiled to use the new entry points) and also provides a
(very) small performance improvement.
.SH 関連項目
\fBaccept\fP(2), \fBbind\fP(2), \fBconnect\fP(2), \fBgetpeername\fP(2),
\fBgetsockname\fP(2), \fBgetsockopt\fP(2), \fBlisten\fP(2), \fBrecv\fP(2),
\fBrecvfrom\fP(2), \fBrecvmsg\fP(2), \fBsend\fP(2), \fBsendmsg\fP(2), \fBsendto\fP(2),
\fBsetsockopt\fP(2), \fBshutdown\fP(2), \fBsocket\fP(2), \fBsocketpair\fP(2)
.SH この文書について
この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
\%https://www.kernel.org/doc/man\-pages/ に書かれている。