Provided by: manpages-ko-dev_4.21.0-2_all
이름
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).
설명
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) SYS_BIND bind(2) SYS_CONNECT connect(2) SYS_LISTEN listen(2) SYS_ACCEPT accept(2) SYS_GETSOCKNAME getsockname(2) SYS_GETPEERNAME getpeername(2) SYS_SOCKETPAIR socketpair(2) SYS_SEND send(2) SYS_RECV recv(2) SYS_SENDTO sendto(2) SYS_RECVFROM recvfrom(2) SYS_SHUTDOWN shutdown(2) SYS_SETSOCKOPT setsockopt(2) SYS_GETSOCKOPT getsockopt(2) SYS_SENDMSG sendmsg(2) SYS_RECVMSG recvmsg(2) SYS_ACCEPT4 accept4(2) SYS_RECVMMSG recvmmsg(2) SYS_SENDMMSG sendmmsg(2)
표준
이 함수는 리눅스에 의존하며 호환성을 염두에 둔 프로그램에서는 사용해서는 안된다.
주의
On some architectures—for example, x86-64 and ARM—there is no socketcall() system call; instead socket(2), accept(2), bind(2), 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) 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), bind(2), connect(2), getpeername(2), getsockname(2), getsockopt(2), listen(2), recv(2), recvfrom(2), recvmsg(2), send(2), sendmsg(2), sendto(2), setsockopt(2), shutdown(2), socket(2), socketpair(2)
번역
이 매뉴얼 페이지의 한국어 번역은 다음에 의해 편집되었습니다: 정강훈 <skyeyes@soback.kornet.net> 이 번역은 무료 문서입니다. 저작권 조건에 대해서는 GNU General Public License 버전 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 이상을 읽으십시오. 책임이 없습니다. 이 매뉴얼 페이지의 번역에서 오류를 발견하면 ⟨translation-team-ko@googlegroups.com⟩ 로 이메일을 보내주십시오.