SYSCALL(2)

명칭
syscall, __syscall - 간접적인 시스템 콜

프로그램 라이브러리
libc

서식
<sys/syscall.h> <unistd.h> int syscall(int number, ...) off_t __syscall(quad_t number, ...)

해설
syscall() (은)는, 지정했다 number (을)를 가지는 어셈블리 언어 인터페이스 의 시스템 콜을, 지정한 인수로 실행합니다. 시스템 콜의 상징적 정수는, 헤더 파일 <sys/syscall.h> 에 있습니다. __syscall() (은)는, 1 개(살) 이상의 파라미터가 64 비트 인수로, 인수의 alignment가 올바른 일을 프로텍션하는 경우에 사용해 주세요. 이 시스템 콜은, C 프로그램 라이브러리에 엔트리가 없는, 새로운 시스템 콜을 테스트하는 경우에 유용합니다.

반환값
반환값은, 호출하는 시스템 콜로 정의되고 있습니다. 일반적으로 0 은 정상적으로 완료한 것을 나타냅니다. -1 (은)는 에러를 나타내, 에러 코드가 errno (으)로 설정됩니다.

버그
pipe(2) (와)과 같이, 복수의 반환값이 있는 시스템 콜을 시뮬레이트 하는 방법은 없습니다.

역사
syscall() 함수 호출은, 4.0BSD 그리고 등장했습니다.