Le System Call Interface de Linux est l'interface fondamentale entre une application et le noyau Linux. Il s'agit de la bibliothèque de fonctions communiquant avec le noyau la plus stable et la moins sujet à changement. Il donc préférable de se basé sur ses fonctions pour effectuer de développement durable et de prendre en considération que les autres bibliothèques de codes que vos applications utiliseront puissent changer de nombreuses fois. La majorité des fonctions est situé dans le fichier unistd.h du C pour Linux. Toutefois, certaines de ses fonctions sont uniquement supporté par des architectures PowerPC, 80x86 ou Sparc.
Liste des fonctions
Nom | Version du noyau | Commentaires |
---|---|---|
_llseek | 1.2 | |
_newselect | 2.0 | |
_sysctl | 2.0 | |
accept | 2.0 | Voir socketcall |
accept4 | 2.6.28 | |
access | 1.0 | |
acct | 1.0 | |
add_key | 2.6.10 | |
adjtimex | 1.0 | |
alarm | 1.0 | |
alloc_hugepages | 2.5.36 | Enlever du noyau Linux 2.5.44 |
bdflush | 1.2 | Obsolète depuis 2.6 (ne fait rien) |
bind | 2.0 | Voir socketcall |
bpf | 3.18 | |
brk | 1.0 | |
cacheflush | 1.2 | Pas disponible dans architecture 80x86 |
capget | 2.2 | |
capset | 2.2 | |
chdir | 1.0 | |
chmod | 1.0 | |
chown | 2.2 | |
chown32 | 2.4 | |
chroot | 1.0 | |
clock_adjtime | 2.6.39 | |
clock_getres | 2.6 | |
clock_gettime | 2.6 | |
clock_nanosleep | 2.6 | |
clock_settime | 2.6 | |
clone | 1.0 | |
close | 1.0 | |
connect | 2.0 | Voir socketcall |
copy_file_range | 4.5 | |
creat | 1.0 | |
create_module | 1.0 | Enlevé du noyau Linux 2.6 |
delete_module | 1.0 | |
dup | 1.0 | |
dup2 | 1.0 | |
dup3 | 2.6.27 | |
epoll_create | 2.6 | |
epoll_create1 | 2.6.27 | |
epoll_ctl | 2.6 | |
epoll_pwait | 2.6.19 | |
epoll_wait | 2.6 | |
eventfd | 2.6.22 | |
eventfd2 | 2.6.27 | |
execve | 1.0 | |
execveat | 3.19 | |
exit | 1.0 | |
exit_group | 2.6 | |
faccessat | 2.6.16 | |
fadvise64 | 2.6.16 | |
fadvise64_64 | 2.6 | |
fallocate | 2.6.23 | |
fanotify_init | 2.6.37 | |
fanotify_mark | 2.6.37 | |
fchdir | 1.0 | |
fchmod | 1.0 | |
fchmodat | 2.6.16 | |
fchown | 1.0 | |
fchown32 | 2.4 | |
fchownat | 2.6.16 | |
fcntl | 1.0 | |
fcntl64 | 2.4 | |
fdatasync | 2.0 | |
fgetxattr | 2.6; 2.4.18 | |
finit_module | 3.8 | |
flistxattr | 2.6; 2.4.18 | |
flock | 2.0 | |
fork | 1.0 | |
free_hugepages | 2.5.36 | Enlevé du noyau Linux 2.5.44 |
fremovexattr | 2.6; 2.4.18 | |
fsetxattr | 2.6; 2.4.18 | |
fstat | 1.0 | |
fstat64 | 2.4 | |
fstatat64 | 2.6.16 | |
fstatfs | 1.0 | |
fstatfs64 | 2.6 | |
fsync | 1.0 | |
ftruncate | 1.0 | |
ftruncate64 | 2.4 | |
futex | 2.6 | |
futimesat | 2.6.16 | |
get_kernel_syms | 1.0 | Enlevé du noyau Linux 2.6 |
get_mempolicy | 2.6.6 | |
get_robust_list | 2.6.17 | |
get_thread_area | 2.6 | |
getcpu | 2.6.19 | |
getcwd | 2.2 | |
getdents | 2.0 | |
getdents64 | 2.4 | |
getegid | 1.0 | |
getegid32 | 2.4 | |
geteuid | 1.0 | |
geteuid32 | 2.4 | |
getgid | 1.0 | |
getgid32 | 2.4 | |
getgroups | 1.0 | |
getgroups32 | 2.4 | |
getitimer | 1.0 | |
getpeername | 2.0 | Voir socketcall |
getpagesize | 2.0 | Pas disponible dans architecture 80x86 |
getpgid | 1.0 | |
getpgrp | 1.0 | |
getpid | 1.0 | |
getppid | 1.0 | |
getpriority | 1.0 | |
getrandom | 3.17 | |
getresgid | 2.2 | |
getresgid32 | 2.4 | |
getresuid | 2.2 | |
getresuid32 | 2.4 | |
getrlimit | 1.0 | |
getrusage | 1.0 | |
getsid | 2.0 | |
getsockname | 2.0 | Voir socketcall |
getsockopt | 2.0 | Voir socketcall |
gettid | 2.4.11 | |
gettimeofday | 1.0 | |
getuid | 1.0 | |
getuid32 | 2.4 | |
getunwind | 2.4.8 | ia64; obsolète |
getxattr | 2.6; 2.4.18 | |
init_module | 1.0 | |
inotify_add_watch | 2.6.13 | |
inotify_init | 2.6.13 | |
inotify_init1 | 2.6.27 | |
inotify_rm_watch | 2.6.13 | |
io_cancel | 2.6 | |
io_destroy | 2.6 | |
io_getevents | 2.6 | |
io_setup | 2.6 | |
io_submit | 2.6 | |
ioctl | 1.0 | |
ioperm | 1.0 | |
iopl | 1.0 | |
ioprio_get | 2.6.13 | |
ioprio_set | 2.6.13 | |
ipc | 1.0 | |
kcmp | 3.5 | |
kern_features | 3.7 | Sparc64 |
kexec_file_load | 3.17 | |
kexec_load | 2.6.13 | |
keyctl | 2.6.10 | |
kill | 1.0 | |
lchown | 1.0 | Voir chown |
lchown32 | 2.4 | |
lgetxattr | 2.6; 2.4.18 | |
link | 1.0 | |
linkat | 2.6.16 | |
listen | 2.0 | Voir socketcall |
listxattr | 2.6; 2.4.18 | |
llistxattr | 2.6; 2.4.18 | |
lookup_dcookie | 2.6 | |
lremovexattr | 2.6; 2.4.18 | |
lseek | 1.0 | |
lsetxattr | 2.6; 2.4.18 | |
lstat | 1.0 | |
lstat64 | 2.4 | |
madvise | 2.4 | |
mbind | 2.6.6 | |
membarrier | 3.17 | |
memfd_create | 3.17 | |
migrate_pages | 2.6.16 | |
mincore | 2.4 | |
mkdir | 1.0 | |
mkdirat | 2.6.16 | |
mknod | 1.0 | |
mknodat | 2.6.16 | |
mlock | 2.0 | |
mlock2 | 4.4 | |
mlockall | 2.0 | |
mmap | 1.0 | |
mmap2 | 2.4 | |
modify_ldt | 1.0 | |
mount | 1.0 | |
move_pages | 2.6.18 | |
mprotect | 1.0 | |
mq_getsetattr | 2.6.6 | |
mq_notify | 2.6.6 | |
mq_open | 2.6.6 | |
mq_timedreceive | 2.6.6 | |
mq_timedsend | 2.6.6 | |
mq_unlink | 2.6.6 | |
mremap | 2.0 | |
msgctl | 2.0 | Voir ipc |
msgget | 2.0 | Voir ipc |
msgrcv | 2.0 | Voir ipc |
msgsnd | 2.0 | Voir ipc |
msync | 2.0 | |
munlock | 2.0 | |
munlockall | 2.0 | |
munmap | 1.0 | |
name_to_handle_at | 2.6.39 | |
nfsservctl | 2.2 | Enlever du noyau Linux 3.1 |
nice | 1.0 | |
oldfstat | 1.0 | |
oldlstat | 1.0 | |
oldolduname | 1.0 | |
oldstat | 1.0 | |
olduname | 1.0 | |
open | 1.0 | |
open_by_handle_at | 2.6.39 | |
openat | 2.6.16 | |
pause | 1.0 | |
pciconfig_iobase | 2.2.15; 2.4 | Pas disponible dans architecture 80x86 |
pciconfig_read | 2.0.26; 2.2 | Pas disponible dans architecture 80x86 |
pciconfig_write | 2.0.26; 2.2 | Pas disponible dans architecture 80x86 |
perf_event_open | 2.6.31 | A été perf_counter_open() dans le noyau Linux 2.6.31; puis a été renommé dans 2.6.32. |
personality | 1.2 | |
perfctr | 2.2 | Sparc; enlevé du noyau Linux 2.6.34 |
perfmonctl | 2.4 | Architecture ia64 |
pipe | 1.0 | |
pipe2 | 2.6.27 | |
pivot_root | 2.4 | |
pkey_alloc | 4.8 | |
pkey_free | 4.8 | |
pkey_mprotect | 4.8 | |
poll | 2.0.36; 2.2 | |
ppc_rtas | 2.6.2 | Architecture PowerPC |
ppc_swapcontext | 2.6.3 | Architecture PowerPC |
ppoll | 2.6.16 | |
prctl | 2.2 | |
pread64 | Ajouter sous le nom pread dans le noyau Linux 2.2 et renommé pread64 dans le noyau Linux 2.6 | |
preadv | 2.6.30 | |
preadv2 | 4.6 | |
prlimit64 | 2.6.36 | |
process_vm_readv | 3.2 | |
process_vm_writev | 3.2 | |
pselect6 | 2.6.16 | |
ptrace | 1.0 | |
pwrite64 | Ajouter sous le nom pwrite dans le noyau Linux 2.2 et renommé pwrite64 dans le noyau Linux 2.6 | |
pwritev | 2.6.30 | |
pwritev2 | 4.6 | |
query_module | 2.2 | Enlever du noyau Linux 2.6 |
quotactl | 1.0 | |
read | 1.0 | |
readahead | 2.4.13 | |
readdir | 1.0 | |
readlink | 1.0 | |
readlinkat | 2.6.16 | |
readv | 2.0 | |
reboot | 1.0 | |
recv | 2.0 | Voir socketcall |
recvfrom | 2.0 | Voir socketcall |
recvmsg | 2.0 | Voir socketcall |
recvmmsg | 2.6.33 | |
remap_file_pages | 2.6 | Obsolète dans le noyau 3.16 |
removexattr | 2.6; 2.4.18 | |
rename | 1.0 | |
renameat | 2.6.16 | |
renameat2 | 3.15 | |
request_key | 2.6.10 | |
restart_syscall | 2.6 | |
rmdir | 1.0 | |
rt_sigaction | 2.2 | |
rt_sigpending | 2.2 | |
rt_sigprocmask | 2.2 | |
rt_sigqueueinfo | 2.2 | |
rt_sigreturn | 2.2 | |
rt_sigsuspend | 2.2 | |
rt_sigtimedwait | 2.2 | |
rt_tgsigqueueinfo | 2.6.31 | |
s390_runtime_instr | 3.7 | Seulement s390 |
s390_pci_mmio_read | 3.19 | Seulement s390 |
s390_pci_mmio_write | 3.19 | Seulement s390 |
s390_sthyi | 4.15 | Seulement s390 |
sched_get_priority_max | 2.0 | |
sched_get_priority_min | 2.0 | |
sched_getaffinity | 2.6 | |
sched_getattr | 3.14 | |
sched_getparam | 2.0 | |
sched_getscheduler | 2.0 | |
sched_rr_get_interval | 2.0 | |
sched_setaffinity | 2.6 | |
sched_setattr | 3.14 | |
sched_setparam | 2.0 | |
sched_setscheduler | 2.0 | |
sched_yield | 2.0 | |
seccomp | 3.17 | |
select | 1.0 | |
semctl | 2.0 | Voir ipc |
semget | 2.0 | Voir ipc |
semop | 2.0 | Voir ipc |
semtimedop | 2.6; 2.4.22 | |
send | 2.0 | Voir socketcall |
sendfile | 2.2 | |
sendfile64 | 2.6; 2.4.19 | |
sendmmsg | 3.0 | |
sendmsg | 2.0 | Voir socketcall |
sendto | 2.0 | Voir socketcall |
set_mempolicy | 2.6.6 | |
set_robust_list | 2.6.17 | |
set_thread_area | 2.6 | |
set_tid_address | 2.6 | |
setdomainname | 1.0 | |
setfsgid | 1.2 | |
setfsgid32 | 2.4 | |
setfsuid | 1.2 | |
setfsuid32 | 2.4 | |
setgid | 1.0 | |
setgid32 | 2.4 | |
setgroups | 1.0 | |
setgroups32 | 2.4 | |
sethostname | 1.0 | |
setitimer | 1.0 | |
setns | 3.0 | |
setpgid | 1.0 | |
setpriority | 1.0 | |
setregid | 1.0 | |
setregid32 | 2.4 | |
setresgid | 2.2 | |
setresgid32 | 2.4 | |
setresuid | 2.2 | |
setresuid32 | 2.4 | |
setreuid | 1.0 | |
setreuid32 | 2.4 | |
setrlimit | 1.0 | |
setsid | 1.0 | |
setsockopt | 2.0 | Voir socketcall |
settimeofday | 1.0 | |
setuid | 1.0 | |
setuid32 | 2.4 | |
setup | 1.0 | Enlever du noyau Linux 2.2 |
setxattr | 2.6; 2.4.18 | |
sgetmask | 1.0 | |
shmat | 2.0 | Voir ipc |
shmctl | 2.0 | Voir ipc |
shmdt | 2.0 | Voir ipc |
shmget | 2.0 | Voir ipc |
shutdown | 2.0 | Voir socketcall |
sigaction | 1.0 | |
sigaltstack | 2.2 | |
signal | 1.0 | |
signalfd | 2.6.22 | |
signalfd4 | 2.6.27 | |
sigpending | 1.0 | |
sigprocmask | 1.0 | |
sigreturn | 1.0 | |
sigsuspend | 1.0 | |
socket | 2.0 | Voir socketcall |
socketcall | 1.0 | |
socketpair | 2.0 | Voir socketcall |
splice | 2.6.17 | |
spu_create | 2.6.16 | Architecture PowerPC |
spu_run | 2.6.16 | Architecture PowerPC |
ssetmask | 1.0 | |
stat | 1.0 | |
stat64 | 2.4 | |
statfs | 1.0 | |
statfs64 | 2.6 | |
statx | 4.11 | |
stime | 1.0 | |
subpage_prot | 2.6.25 | Architecture PowerPC |
swapoff | 1.0 | |
swapon | 1.0 | |
symlink | 1.0 | |
symlinkat | 2.6.16 | |
sync | 1.0 | |
sync_file_range | 2.6.17 | |
sync_file_range2 | 2.6.22 | |
syncfs | 2.6.39 | |
sysfs | 1.2 | |
sysinfo | 1.0 | |
syslog | 1.0 | |
tee | 2.6.17 | |
tgkill | 2.6 | |
time | 1.0 | |
timer_create | 2.6 | |
timer_delete | 2.6 | |
timer_getoverrun | 2.6 | |
timer_gettime | 2.6 | |
timer_settime | 2.6 | |
timerfd_create | 2.6.25 | |
timerfd_gettime | 2.6.25 | |
timerfd_settime | 2.6.25 | |
times | 1.0 | |
tkill | 2.6; 2.4.22 | |
truncate | 1.0 | |
truncate64 | 2.4 | |
ugetrlimit | 2.4 | |
umask | 1.0 | |
umount | 1.0 | |
umount2 | 2.2 | |
uname | 1.0 | |
unlink | 1.0 | |
unlinkat | 2.6.16 | |
unshare | 2.6.16 | |
uselib | 1.0 | |
ustat | 1.0 | |
userfaultfd | 4.3 | |
utime | 1.0 | |
utimensat | 2.6.22 | |
utimes | 2.2 | |
utrap_install | 2.2 | Architecture Sparc |
vfork | 2.2 | |
vhangup | 1.0 | |
vm86old | 1.0 | Était vm86, renommé au noyau Linux 2.0.28/2.2 |
vm86 | 2.0.28; 2.2 | |
vmsplice | 2.6.17 | |
wait4 | 1.0 | |
waitid | 2.6.10 | |
waitpid | 1.0 | |
write | 1.0 | |
writev | 2.0 |
Dernière mise à jour : Dimanche, le 10 juin 2018