socketcall(2)

소켓 시스템 콜들 · man2 · 한국어

socketcall(2) System Calls Manual socketcall(2)

socketcall - 소켓 시스템 콜들

표준 C 라이브러리 (libc, -lc)

#include <linux/net.h>        /* Definition of SYS_* constants */
#include <sys/syscall.h>      /* Definition of SYS_socketcall */
#include <unistd.h>
int syscall(SYS_socketcall, int call, unsigned long *args);

Note: glibc provides no wrapper for socketcall(), necessitating the use of syscall(2)EN.

socketcall() is a common kernel entry point for the socket system calls. call determines which socket function to invoke. args points to a block containing the actual arguments, which are passed through to the appropriate call.

사용자 프로그램은 사용 이름들로 적당한 함수들을 호출해야 한다. 단지 표준 라이브러리 수행자나 해커들만이 socketcall()를 알 필요가 있다.

call Man page
SYS_SOCKET socket(2)EN
SYS_BIND bind(2)EN
SYS_CONNECT connect(2)EN
SYS_LISTEN listen(2)EN
SYS_ACCEPT accept(2)EN
SYS_GETSOCKNAME getsockname(2)EN
SYS_GETPEERNAME getpeername(2)EN
SYS_SOCKETPAIR socketpair(2)EN
SYS_SEND send(2)EN
SYS_RECV recv(2)EN
SYS_SENDTO sendto(2)EN
SYS_RECVFROM recvfrom(2)EN
SYS_SHUTDOWN shutdown(2)EN
SYS_SETSOCKOPT setsockopt(2)EN
SYS_GETSOCKOPT getsockopt(2)EN
SYS_SENDMSG sendmsg(2)EN
SYS_RECVMSG recvmsg(2)EN
SYS_ACCEPT4 accept4(2)EN
SYS_RECVMMSG recvmmsg(2)EN
SYS_SENDMMSG sendmmsg(2)EN

이 함수는 리눅스에 의존하며 호환성을 염두에 둔 프로그램에서는 사용해서는 안된다.

On some architectures—for example, x86-64 and ARM—there is no socketcall() system call; instead socket(2)EN, accept(2)EN, bind(2)EN, and so on really are implemented as separate system calls.

On x86-32, socketcall() 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 seccomp(2)EN 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.

accept(2)EN, bind(2)EN, connect(2)EN, getpeername(2)EN, getsockname(2)EN, getsockopt(2)EN, listen(2)EN, recv(2)EN, recvfrom(2)EN, recvmsg(2)EN, send(2)EN, sendmsg(2)EN, sendto(2)EN, setsockopt(2)EN, shutdown(2)EN, socket(2)EN, socketpair(2)EN

이 매뉴얼 페이지의 한국어 번역은 다음에 의해 편집되었습니다: 정강훈 <skyeyes@soback.kornet.net>

이 번역은 무료 문서입니다. 저작권 조건에 대해서는 GNU General Public License 버전 3 이상을 읽으십시오. 책임이 없습니다.

이 매뉴얼 페이지의 번역에서 오류를 발견하면 translation-team-ko@googlegroups.com 로 이메일을 보내주십시오.

2023년 2월 5일 Linux man-pages 6.03