SYSCALLS(2)

Linuxの全システムコールのリストを得たいときは、SYSCALLS(2)という第2章の目次のような項目が参考になります。

$ man syscalls



NAME
       syscalls - Linux system calls

SYNOPSIS
       Linux system calls.

DESCRIPTION
       The system call is the fundamental interface between an application and the Linux kernel.


       System call                 Kernel        Notes
       ────────────────────────────────────────

       _llseek(2)                  1.2
       _newselect(2)
       _sysctl(2)
       accept(2)
       accept4(2)                  2.6.28
       access(2)
       acct(2)
       add_key(2)                  2.6.11
       adjtimex(2)
       afs_syscall(2)                            Not implemented
       alarm(2)
       alloc_hugepages(2)          2.5.36        Removed in 2.5.44
       bdflush(2)
       bind(2)
       break(2)                                  Not implemented
       brk(2)
       cacheflush(2)               1.2           Not on i386


以下続く。


システムコールの総数が定義されているのは、/usr/include/asm/unistd_32.h

/*
 * This file contains the system call numbers.
 */

#define __NR_restart_syscall      0
#define __NR_exit                 1
#define __NR_fork                 2
#define __NR_read                 3
#define __NR_write                4
#define __NR_open                 5
#define __NR_close                6
#define __NR_waitpid              7
以下続く。

ちなみに僕の環境(Ubuntu10.04、32bit)では、システムコールの総数は337個でした。