.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (C) 2007 Michael Kerrisk .\" with some input from Stepan Kasal .\" .\" Some content retained from an earlier version of this page: .\" Copyright (C) 1998 Andries Brouwer (aeb@cwi.nl) .\" Modifications for 2.2 and 2.4 Copyright (C) 2002 Ian Redfern .\" .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH syscalls 2 "16. Januar 2024" "Linux man\-pages 6.06" .SH BEZEICHNUNG syscalls \- Linux\-Systemaufrufe .SH ÜBERSICHT .nf Linux\-Systemaufrufe. .fi .SH BESCHREIBUNG Der Systemaufruf ist eine fundamentale Schnittstelle zwischen Anwendungen und dem Linux\-Kernel. .SS "Systemaufrufe und Bibliothek\-Wrapper\-Funktionen" Systemaufrufe werden im Allgemeinen nicht direkt aufgerufen, sondern mittels Wrapper\-Funktionen in Glibc (oder möglicherweise einer anderen Bibliothek). Zu Details des direkten Aufrufs eines Systemaufrufs siehe \fBintro\fP(2). Oft, aber nicht immer, ist der Name der Wrapper\-Funktion identisch zu dem Namen des Systemaufrufs, den sie aufruft. Beispielsweise enthält Glibc eine Funktion \fBchdir\fP(), die den zugrundeliegenden Systemaufruf »chdir« aufruft. .P Oft ist die Glibc\-Wrapper\-Funktion recht dünn und sie macht kaum mehr, als die Argumente in die richtigen Register zu kopieren, bevor sie den Systemaufruf aufruft, und anschließend \fIerrno\fP entsprechend zu setzen, nachdem der Systemaufruf zurückkehrte. (Dies sind die gleichen Schritte, die auch \fBsyscall\fP(2) durchführt, welches dazu verwandt werden kann, Systemaufrufe aufzurufen, für die keine Wrapper\-Funktion bereitgestellt wird.) Hinweis: Systemaufrufe zeigen einen Fehlschlag an, indem sie eine negative Fehlernummer an den Aufrufenden auf Architekturen zurückliefern, die kein getrenntes Fehlerregister/\-schalter bereitstellen. Darauf wird in \fBsyscall\fP(2) hingewiesen. Wenn dies passiert negiert die Wrapper\-Funktion die zurückgelieferte Fehlernummer (damit sie positiv wird), kopiert sie nach \fIerrno\fP und liefert \-1 an den Aufrufenden des Wrappers zurück. .P Manchmal erledigt die Wrapper\-Funktion vor dem Aufruf des Systemaufrufs zusätzliche Aufgaben. Beispielsweise gibt es heutzutage (aus weiter unten beschriebenen Gründen) zwei zusammenhängende Systemaufrufe \fBtruncate\fP(2) und \fBtruncate64\fP(2) und die Glibc\-Wrapper\-Funktion \fBtruncate\fP() prüft, welche dieser Systemaufrufe vom Kernel bereitgestellt wird und bestimmt, welcher eingesetzt werden soll. .SS "Liste der Systemaufrufe" Nachfolgend ist eine Liste der Linux\-Systemaufrufe. In der Liste zeigt die Spalte \fIKernel\fP die Kernelversion für solche Systemaufrufe an, die in Linux 2.2 neu waren oder seitdem in dieser Kernelversion erschienen sind. Beachten Sie die folgenden Punkte: .IP \[bu] 3 Wo keine Kernelversion angezeigt ist, erschien der Systemaufruf in Linux 1.0 oder früher. .IP \[bu] Wo ein Systemaufruf mit »1.2« markiert ist, bedeutet dies, dass der Systemaufruf wahrscheinlich in einer Linux 1.1.x\-Kernelversion und erstmalig in einem stabilen Kernel mit 1.2 erschien. (Die Entwicklung der Linux 1.2er\-Kernel erfolgte von einem Zweig von Linux 1.0.6 über die instabile Linux\-1.1.x\-Kernelserie.) .IP \[bu] .\" Was Linux 2.0 started from a branch of Linux 1.2.10? .\" At least from the timestamps of the tarballs of .\" of Linux 1.2.10 and Linux 1.3.0, that's how it looks, but in .\" fact the diff doesn't seem very clear, the .\" Linux 1.3.0 .tar.bz is much bigger (2.0 MB) than the .\" Linux 1.2.10 .tar.bz2 (1.8 MB), and AEB points out the .\" timestamps of some files in Linux 1.3.0 seem to be older .\" than those in Linux 1.2.10. All of this suggests .\" that there might not have been a clean branch point. Wo ein Systemaufruf mit »2.0« markiert ist, bedeutet dies, dass der Systemaufruf wahrscheinlich in einer Linux 1.3.x\-Kernelversion und erstmalig in einem stabilen Kernel mit Linux 2.0 erschien. (Die Entwicklung der Linux 2.0er\-Kernel erfolgte von einem Zweig von Linux 1.2.x, irgendwo rund um Linux 1.2.10, über die instabile Linux\-1.3.x\-Kernelserie.) .IP \[bu] Wo ein Systemaufruf mit »2.2« markiert ist, bedeutet dies, dass der Systemaufruf wahrscheinlich in einer Linux 2.1.x\-Kernelversion und erstmalig in einem stabilen Kernel mit Linux 2.2.0 erschien. (Die Entwicklung der Linux 2.2er\-Kernel erfolgte von einem Zweig von Linux 2.0.21 über die instabile Linux\-2.1.x\-Kernelserie.) .IP \[bu] Wo ein Systemaufruf mit »2.4« markiert ist, bedeutet dies, dass der Systemaufruf wahrscheinlich in einer Linux 2.3.x\-Kernelversion und erstmalig in einem stabilen Kernel mit Linux 2.4.0 erschien. (Die Entwicklung der Linux 2.4er\-Kernel erfolgte von einem Zweig von Linux 2.2.8 über die instabile Linux\-2.3.x\-Kernelserie.) .IP \[bu] Wo ein Systemaufruf mit »2.6« markiert ist, bedeutet dies, dass der Systemaufruf wahrscheinlich in einer Linux 2.5.x\-Kernelversion und erstmalig in einem stabilen Kernel mit Linux 2.6.0 erschien. (Die Entwicklung der Linux 2.6er\-Kernel erfolgte von einem Zweig des Kernels 2.4.15 über die instabile 2.5.x\-Kernelserie.) .IP \[bu] Beginnend mit Linux 2.6.0 wurde das Entwicklungsmodell geändert und neue Systemaufrufe können in jeder Linux\-2.6.x\-er Veröffentlichung erscheinen. In diesem Fall wird die genaue Versionsnummer, bei der der Systemaufruf erschien, angezeigt. Diese Konvention gilt auch für die Linux 3.x\-er\-Kernelserie, die auf Linux 2.6.39 folgte und die Linux 4.x\-er\-Kernelserie, die auf Linux 3.19 folgte und die Linux 5.x\-er\-Kernelserie, die auf Linux 4.20 folgte; und die Linux 6.x\-Kernelserie, die auf Linux 5.19 folgte. .IP \[bu] In einigen Fällen wurde ein Systemaufruf zu einer stabilen Kernelserie hinzugefügt, nachdem sie von der vorherigen stabilen Kernelversion abgeleitet wurde, und dieser wurde dann in vorherige stabile Kernelserie zurückportiert. Beispielsweise wurden einige Systemaufrufe, die in Linux 2.6.x erschienen, auch in eine Linux 2.4.x\-Veröffentlichung nach Linux 2.4.15 rückportiert. Wenn dies der Fall ist, werden die Versionen, in denen der Systemaufruf in beiden Haupt\-Kernelserien erschien, aufgelistet. .P Die Liste der Systemaufrufe, die in Linux 5.14 verfügbar sind (oder in einigen wenigen Fällen nur in älteren Kerneln) ist wie folgt: .P .\" .\" Looking at scripts/checksyscalls.sh in the kernel source is .\" instructive about x86 specifics. .\" .TS Lb Lb Lb L2 L L. Systemaufruf Kernel Hinweise _ \fB_llseek\fP(2) 1.2 \fB_newselect\fP(2) 2.0 \fB_sysctl\fP(2) 2.0 Entfernt in 5.5 \fBaccept\fP(2) 2.0 T{ Siehe Hinweise zu \fBsocketcall\fP(2) T} \fBaccept4\fP(2) 2.6.28 \fBaccess\fP(2) 1.0 \fBacct\fP(2) 1.0 \fBadd_key\fP(2) 2.6.10 \fBadjtimex\fP(2) 1.0 \fBalarm\fP(2) 1.0 \fBalloc_hugepages\fP(2) 2.5.36 Entfernt in 2.5.44 .\" 4adeefe161a74369e44cc8e663f240ece0470dc3 \fBarc_gettls\fP(2) 3.9 Nur ARC \fBarc_settls\fP(2) 3.9 Nur ARC .\" 91e040a79df73d371f70792f30380d4e44805250 \fBarc_usr_cmpxchg\fP(2) 4.9 Nur ARC .\" x86: 79170fda313ed5be2394f87aa2a00d597f8ed4a1 \fBarch_prctl\fP(2) 2.6 T{ X86_64, X86 seit 4.12 T} .\" 9674cdc74d63f346870943ef966a034f8c71ee57 \fBatomic_barrier\fP(2) 2.6.34 Nur M68k \fBatomic_cmpxchg_32\fP(2) 2.6.34 Nur M68k \fBbdflush\fP(2) 1.2 T{ Veraltet (bewirkt nichts) seit 2.6 T} \fBbind\fP(2) 2.0 T{ Siehe Hinweise zu \fBsocketcall\fP(2) T} \fBbpf\fP(2) 3.18 \fBbrk\fP(2) 1.0 \fBbreakpoint\fP(2) 2.2 T{ Nur ARM OABI, definiert mit Präfix \fB__ARM_NR\fP T} \fBcacheflush\fP(2) 1.2 Nicht auf X86 \fBcapget\fP(2) 2.2 \fBcapset\fP(2) 2.2 \fBchdir\fP(2) 1.0 \fBchmod\fP(2) 1.0 \fBchown\fP(2) 2.2 T{ Siehe \fBchown\fP(2) für Versionsdetails T} \fBchown32\fP(2) 2.4 \fBchroot\fP(2) 1.0 \fBclock_adjtime\fP(2) 2.6.39 \fBclock_getres\fP(2) 2.6 \fBclock_gettime\fP(2) 2.6 \fBclock_nanosleep\fP(2) 2.6 \fBclock_settime\fP(2) 2.6 \fBclone2\fP(2) 2.4 Nur IA\-64 \fBclone\fP(2) 1.0 \fBclone3\fP(2) 5.3 \fBclose\fP(2) 1.0 \fBclose_range\fP(2) 5.9 .\" .\" dcef1f634657dabe7905af3ccda12cf7f0b6fcc1 .\" .\" cc20d42986d5807cbe4f5c7c8e3dab2e59ea0db3 .\" .\" db695c0509d6ec9046ee5e4c520a19fa17d9fce2 .\" \fBcmpxchg\fP(2) 2.6.12 T{ .\" ARM, syscall constant never was .\" exposed to user space, in-kernel .\" definition had \fB__ARM_NR\fP prefix, .\" removed in 4.4 .\" T} .\" 867e359b97c970a60626d5d76bbe2a8fadbf38fb .\" bb9d812643d8a121df7d614a2b9c60193a92deb0 \fBconnect\fP(2) 2.0 T{ Siehe Hinweise zu \fBsocketcall\fP(2) T} \fBcopy_file_range\fP(2) 4.5 \fBcreat\fP(2) 1.0 \fBcreate_module\fP(2) 1.0 Entfernt in 2.6 \fBdelete_module\fP(2) 1.0 .\" 1394f03221790a988afc3e4b3cb79f2e477246a9 .\" 4ba66a9760722ccbb691b8f7116cad2f791cca7b \fBdup\fP(2) 1.0 \fBdup2\fP(2) 1.0 \fBdup3\fP(2) 2.6.27 \fBepoll_create\fP(2) 2.6 \fBepoll_create1\fP(2) 2.6.27 \fBepoll_ctl\fP(2) 2.6 \fBepoll_pwait\fP(2) 2.6.19 \fBepoll_pwait2\fP(2) 5.11 \fBepoll_wait\fP(2) 2.6 \fBeventfd\fP(2) 2.6.22 \fBeventfd2\fP(2) 2.6.27 \fBexecv\fP(2) 2.0 T{ Nur SPARC/SPARC64, zur Kompatibilität mit SunOS T} \fBexecve\fP(2) 1.0 \fBexecveat\fP(2) 3.19 \fBexit\fP(2) 1.0 \fBexit_group\fP(2) 2.6 \fBfaccessat\fP(2) 2.6.16 \fBfaccessat2\fP(2) 5.8 \fBfadvise64\fP(2) 2.6 .\" Implements \fBposix_fadvise\fP(2) \fBfadvise64_64\fP(2) 2.6 \fBfallocate\fP(2) 2.6.23 \fBfanotify_init\fP(2) 2.6.37 \fBfanotify_mark\fP(2) 2.6.37 .\" The fanotify calls were added in Linux 2.6.36, .\" but disabled while the API was finalized. \fBfchdir\fP(2) 1.0 \fBfchmod\fP(2) 1.0 \fBfchmodat\fP(2) 2.6.16 \fBfchown\fP(2) 1.0 \fBfchown32\fP(2) 2.4 \fBfchownat\fP(2) 2.6.16 \fBfcntl\fP(2) 1.0 \fBfcntl64\fP(2) 2.4 \fBfdatasync\fP(2) 2.0 \fBfgetxattr\fP(2) 2.6; 2.4.18 \fBfinit_module\fP(2) 3.8 \fBflistxattr\fP(2) 2.6; 2.4.18 \fBflock\fP(2) 2.0 \fBfork\fP(2) 1.0 \fBfree_hugepages\fP(2) 2.5.36 Entfernt in 2.5.44 \fBfremovexattr\fP(2) 2.6; 2.4.18 \fBfsconfig\fP(2) 5.2 \fBfsetxattr\fP(2) 2.6; 2.4.18 \fBfsmount\fP(2) 5.2 \fBfsopen\fP(2) 5.2 \fBfspick\fP(2) 5.2 \fBfstat\fP(2) 1.0 \fBfstat64\fP(2) 2.4 \fBfstatat64\fP(2) 2.6.16 \fBfstatfs\fP(2) 1.0 \fBfstatfs64\fP(2) 2.6 \fBfsync\fP(2) 1.0 \fBftruncate\fP(2) 1.0 \fBftruncate64\fP(2) 2.4 \fBfutex\fP(2) 2.6 \fBfutimesat\fP(2) 2.6.16 \fBget_kernel_syms\fP(2) 1.0 Entfernt in 2.6 \fBget_mempolicy\fP(2) 2.6.6 \fBget_robust_list\fP(2) 2.6.17 \fBget_thread_area\fP(2) 2.6 .\" 8fcd6c45f5a65621ec809b7866a3623e9a01d4ed \fBget_tls\fP(2) 4.15 T{ Nur ARM OABI, hat Präfix \fB__ARM_NR\fP T} \fBgetcpu\fP(2) 2.6.19 \fBgetcwd\fP(2) 2.2 \fBgetdents\fP(2) 2.0 \fBgetdents64\fP(2) 2.4 .\" parisc: 863722e856e64dae0e252b6bb546737c6c5626ce \fBgetdomainname\fP(2) 2.2 T{ SPARC, SPARC64; verfügbar als \fBosf_getdomainname\fP(2) auf Alpha seit Linux 2.0 T} .\" ec98c6b9b47df6df1c1fa6cf3d427414f8c2cf16 \fBgetdtablesize\fP(2) 2.0 T{ SPARC (entfernt in 2.6.26), verfügbar auf Alpha als \fBosf_getdtablesize\fP(2) T} \fBgetegid\fP(2) 1.0 \fBgetegid32\fP(2) 2.4 \fBgeteuid\fP(2) 1.0 \fBgeteuid32\fP(2) 2.4 \fBgetgid\fP(2) 1.0 \fBgetgid32\fP(2) 2.4 \fBgetgroups\fP(2) 1.0 \fBgetgroups32\fP(2) 2.4 .\" SPARC removal: ec98c6b9b47df6df1c1fa6cf3d427414f8c2cf16 \fBgethostname\fP(2) 2.0 T{ Alpha, war auf SPARC bis Linux 2.6.26 verfügbar T} \fBgetitimer\fP(2) 1.0 \fBgetpeername\fP(2) 2.0 T{ Siehe Hinweise zu \fBsocketcall\fP(2) T} \fBgetpagesize\fP(2) 2.0 Nicht auf X86 \fBgetpgid\fP(2) 1.0 \fBgetpgrp\fP(2) 1.0 \fBgetpid\fP(2) 1.0 \fBgetppid\fP(2) 1.0 \fBgetpriority\fP(2) 1.0 \fBgetrandom\fP(2) 3.17 \fBgetresgid\fP(2) 2.2 \fBgetresgid32\fP(2) 2.4 \fBgetresuid\fP(2) 2.2 \fBgetresuid32\fP(2) 2.4 \fBgetrlimit\fP(2) 1.0 \fBgetrusage\fP(2) 1.0 \fBgetsid\fP(2) 2.0 \fBgetsockname\fP(2) 2.0 T{ Siehe Hinweise zu \fBsocketcall\fP(2) T} \fBgetsockopt\fP(2) 2.0 T{ Siehe Hinweise zu \fBsocketcall\fP(2) T} \fBgettid\fP(2) 2.4.11 \fBgettimeofday\fP(2) 1.0 \fBgetuid\fP(2) 1.0 \fBgetuid32\fP(2) 2.4 \fBgetunwind\fP(2) 2.4.8 T{ Nur IA\-64; veraltet T} \fBgetxattr\fP(2) 2.6; 2.4.18 \fBgetxgid\fP(2) 2.0 T{ Nur Alpha; siehe HINWEISE T} \fBgetxpid\fP(2) 2.0 T{ Nur Alpha; siehe HINWEISE T} \fBgetxuid\fP(2) 2.0 T{ Nur Alpha; siehe HINWEISE T} \fBinit_module\fP(2) 1.0 \fBinotify_add_watch\fP(2) 2.6.13 \fBinotify_init\fP(2) 2.6.13 \fBinotify_init1\fP(2) 2.6.27 \fBinotify_rm_watch\fP(2) 2.6.13 \fBio_cancel\fP(2) 2.6 \fBio_destroy\fP(2) 2.6 \fBio_getevents\fP(2) 2.6 \fBio_pgetevents\fP(2) 4.18 \fBio_setup\fP(2) 2.6 \fBio_submit\fP(2) 2.6 \fBio_uring_enter\fP(2) 5.1 \fBio_uring_register\fP(2) 5.1 \fBio_uring_setup\fP(2) 5.1 \fBioctl\fP(2) 1.0 \fBioperm\fP(2) 1.0 \fBiopl\fP(2) 1.0 \fBioprio_get\fP(2) 2.6.13 \fBioprio_set\fP(2) 2.6.13 \fBipc\fP(2) 1.0 .\" Implements System V IPC calls \fBkcmp\fP(2) 3.5 \fBkern_features\fP(2) 3.7 Nur SPARC64 .\" FIXME . document kern_features(): .\" commit 517ffce4e1a03aea979fe3a18a3dd1761a24fafb \fBkexec_file_load\fP(2) 3.17 \fBkexec_load\fP(2) 2.6.13 .\" The entry in the syscall table was reserved starting in 2.6.7 .\" Was named sys_kexec_load() from 2.6.7 to 2.6.16 \fBkeyctl\fP(2) 2.6.10 \fBkill\fP(2) 1.0 \fBlandlock_add_rule\fP(2) 5.13 \fBlandlock_create_ruleset\fP(2) 5.13 \fBlandlock_restrict_self\fP(2) 5.13 \fBlchown\fP(2) 1.0 T{ Siehe \fBchown\fP(2) für Versionsdetails T} \fBlchown32\fP(2) 2.4 \fBlgetxattr\fP(2) 2.6; 2.4.18 \fBlink\fP(2) 1.0 \fBlinkat\fP(2) 2.6.16 \fBlisten\fP(2) 2.0 T{ Siehe Hinweise zu \fBsocketcall\fP(2) T} \fBlistxattr\fP(2) 2.6; 2.4.18 \fBllistxattr\fP(2) 2.6; 2.4.18 \fBlookup_dcookie\fP(2) 2.6 \fBlremovexattr\fP(2) 2.6; 2.4.18 \fBlseek\fP(2) 1.0 \fBlsetxattr\fP(2) 2.6; 2.4.18 \fBlstat\fP(2) 1.0 \fBlstat64\fP(2) 2.4 \fBmadvise\fP(2) 2.4 \fBmbind\fP(2) 2.6.6 \fBmemory_ordering\fP(2) 2.2 Nur SPARC64 .\" 26025bbfbba33a9425be1b89eccb4664ea4c17b6 .\" bb6fb6dfcc17cddac11ac295861f7608194447a7 \fBmembarrier\fP(2) 3.17 \fBmemfd_create\fP(2) 3.17 \fBmemfd_secret\fP(2) 5.14 \fBmigrate_pages\fP(2) 2.6.16 \fBmincore\fP(2) 2.4 \fBmkdir\fP(2) 1.0 \fBmkdirat\fP(2) 2.6.16 \fBmknod\fP(2) 1.0 \fBmknodat\fP(2) 2.6.16 \fBmlock\fP(2) 2.0 \fBmlock2\fP(2) 4.4 \fBmlockall\fP(2) 2.0 \fBmmap\fP(2) 1.0 \fBmmap2\fP(2) 2.4 \fBmodify_ldt\fP(2) 1.0 \fBmount\fP(2) 1.0 \fBmove_mount\fP(2) 5.2 \fBmove_pages\fP(2) 2.6.18 \fBmprotect\fP(2) 1.0 \fBmq_getsetattr\fP(2) 2.6.6 .\" Implements \fBmq_getattr\fP(3) and \fBmq_setattr\fP(3) \fBmq_notify\fP(2) 2.6.6 \fBmq_open\fP(2) 2.6.6 \fBmq_timedreceive\fP(2) 2.6.6 \fBmq_timedsend\fP(2) 2.6.6 \fBmq_unlink\fP(2) 2.6.6 \fBmremap\fP(2) 2.0 \fBmsgctl\fP(2) 2.0 T{ Siehe Hinweise zu \fBipc\fP(2) T} \fBmsgget\fP(2) 2.0 T{ Siehe Hinweise zu \fBipc\fP(2) T} \fBmsgrcv\fP(2) 2.0 T{ Siehe Hinweise zu \fBipc\fP(2) T} \fBmsgsnd\fP(2) 2.0 T{ Siehe Hinweise zu \fBipc\fP(2) T} \fBmsync\fP(2) 2.0 .\" \fBmultiplexer\fP(2) ?? __NR_multiplexer reserved on .\" PowerPC, but unimplemented? \fBmunlock\fP(2) 2.0 \fBmunlockall\fP(2) 2.0 \fBmunmap\fP(2) 1.0 \fBname_to_handle_at\fP(2) 2.6.39 \fBnanosleep\fP(2) 2.0 .\" 5590ff0d5528b60153c0b4e7b771472b5a95e297 \fBnewfstatat\fP(2) 2.6.16 Siehe \fBstat\fP(2) \fBnfsservctl\fP(2) 2.2 Entfernt in 3.1 \fBnice\fP(2) 1.0 \fBold_adjtimex\fP(2) 2.0 T{ Nur Alpha; siehe HINWEISE T} \fBold_getrlimit\fP(2) 2.4 T{ Ältere Variante von \fBgetrlimit\fP(2) die einen anderen Wert für \fBRLIM_INFINITY\fP verwandte T} \fBoldfstat\fP(2) 1.0 \fBoldlstat\fP(2) 1.0 \fBoldolduname\fP(2) 1.0 \fBoldstat\fP(2) 1.0 \fBoldumount\fP(2) 2.4.116 T{ Name des alten Systemaufrufs \fBumount\fP(2) auf Alpha T} \fBolduname\fP(2) 1.0 \fBopen\fP(2) 1.0 \fBopen_by_handle_at\fP(2) 2.6.39 \fBopen_tree\fP(2) 5.2 \fBopenat\fP(2) 2.6.16 \fBopenat2\fP(2) 5.6 .\" 9d02a4283e9ce4e9ca11ff00615bdacdb0515a1a \fBor1k_atomic\fP(2) 3.1 T{ Nur OpenRISC 1000 T} \fBpause\fP(2) 1.0 \fBpciconfig_iobase\fP(2) 2.2.15; 2.4 Nicht auf X86 .\" Alpha, PowerPC, ARM; not x86 \fBpciconfig_read\fP(2) 2.0.26; 2.2 Nicht auf X86 .\" , PowerPC, ARM; not x86 \fBpciconfig_write\fP(2) 2.0.26; 2.2 Nicht auf X86 .\" , PowerPC, ARM; not x86 \fBperf_event_open\fP(2) 2.6.31 T{ War perf_counter_open() in 2.6.31; umbenannt in 2.6.32 T} \fBpersonality\fP(2) 1.2 \fBperfctr\fP(2) 2.2 T{ Nur SPARC; entfernt in 2.6.34 T} .\" commit c7d5a0050773e98d1094eaa9f2a1a793fafac300 removed perfctr() \fBperfmonctl\fP(2) 2.4 Nur IA\-64; entfernt in 5.10 \fBpidfd_getfd\fP(2) 5.6 \fBpidfd_send_signal\fP(2) 5.1 \fBpidfd_open\fP(2) 5.3 \fBpipe\fP(2) 1.0 \fBpipe2\fP(2) 2.6.27 \fBpivot_root\fP(2) 2.4 \fBpkey_alloc\fP(2) 4.8 \fBpkey_free\fP(2) 4.8 \fBpkey_mprotect\fP(2) 4.8 \fBpoll\fP(2) 2.0.36; 2.2 \fBppoll\fP(2) 2.6.16 \fBprctl\fP(2) 2.2 \fBpread64\fP(2) T{ Als »pread« in 2.2 hinzugefügt; in »pread64« in 2.6 umbenannt T} \fBpreadv\fP(2) 2.6.30 \fBpreadv2\fP(2) 4.6 \fBprlimit64\fP(2) 2.6.36 \fBprocess_madvise\fP(2) 5.10 \fBprocess_vm_readv\fP(2) 3.2 \fBprocess_vm_writev\fP(2) 3.2 \fBpselect6\fP(2) 2.6.16 .\" Implements \fBpselect\fP(2) \fBptrace\fP(2) 1.0 \fBpwrite64\fP(2) T{ Als »pwrite« in 2.2. hinzugefügt; in »pwrite64« in 2.6 umbenannt T} \fBpwritev\fP(2) 2.6.30 \fBpwritev2\fP(2) 4.6 \fBquery_module\fP(2) 2.2 Entfernt in 2.6 \fBquotactl\fP(2) 1.0 \fBquotactl_fd\fP(2) 5.14 \fBread\fP(2) 1.0 \fBreadahead\fP(2) 2.4.13 \fBreaddir\fP(2) 1.0 .\" Supersedes \fBgetdents\fP(2) \fBreadlink\fP(2) 1.0 \fBreadlinkat\fP(2) 2.6.16 \fBreadv\fP(2) 2.0 \fBreboot\fP(2) 1.0 \fBrecv\fP(2) 2.0 T{ Siehe Hinweise zu \fBsocketcall\fP(2) T} \fBrecvfrom\fP(2) 2.0 T{ Siehe Hinweise zu \fBsocketcall\fP(2) T} \fBrecvmsg\fP(2) 2.0 T{ Siehe Hinweise zu \fBsocketcall\fP(2) T} \fBrecvmmsg\fP(2) 2.6.33 \fBremap_file_pages\fP(2) 2.6 T{ Veraltet seit 3.16 T} \fBremovexattr\fP(2) 2.6; 2.4.18 \fBrename\fP(2) 1.0 \fBrenameat\fP(2) 2.6.16 \fBrenameat2\fP(2) 3.15 \fBrequest_key\fP(2) 2.6.10 \fBrestart_syscall\fP(2) 2.6 .\" 921ebd8f2c081b3cf6c3b29ef4103eef3ff26054 \fBriscv_flush_icache\fP(2) 4.15 Nur RISC\-V \fBrmdir\fP(2) 1.0 \fBrseq\fP(2) 4.18 \fBrt_sigaction\fP(2) 2.2 \fBrt_sigpending\fP(2) 2.2 \fBrt_sigprocmask\fP(2) 2.2 \fBrt_sigqueueinfo\fP(2) 2.2 \fBrt_sigreturn\fP(2) 2.2 \fBrt_sigsuspend\fP(2) 2.2 \fBrt_sigtimedwait\fP(2) 2.2 \fBrt_tgsigqueueinfo\fP(2) 2.6.31 \fBrtas\fP(2) 2.6.2 T{ Nur PowerPC/PowerPC64 T} \fBs390_runtime_instr\fP(2) 3.7 Nur S390 \fBs390_pci_mmio_read\fP(2) 3.19 Nur S390 \fBs390_pci_mmio_write\fP(2) 3.19 Nur S390 \fBs390_sthyi\fP(2) 4.15 Nur S390 \fBs390_guarded_storage\fP(2) 4.12 Nur S390 \fBsched_get_affinity\fP(2) 2.6 T{ Name von \fB\%sched_getaffinity\fP(2) auf SPARC und SPARC64 T} \fBsched_get_priority_max\fP(2) 2.0 \fBsched_get_priority_min\fP(2) 2.0 \fBsched_getaffinity\fP(2) 2.6 \fBsched_getattr\fP(2) 3.14 \fBsched_getparam\fP(2) 2.0 \fBsched_getscheduler\fP(2) 2.0 \fBsched_rr_get_interval\fP(2) 2.0 \fBsched_set_affinity\fP(2) 2.6 T{ Name von \fB\%sched_setaffinity\fP(2) auf SPARC und SPARC64 T} \fBsched_setaffinity\fP(2) 2.6 \fBsched_setattr\fP(2) 3.14 \fBsched_setparam\fP(2) 2.0 \fBsched_setscheduler\fP(2) 2.0 \fBsched_yield\fP(2) 2.0 \fBseccomp\fP(2) 3.17 \fBselect\fP(2) 1.0 \fBsemctl\fP(2) 2.0 T{ Siehe Hinweise zu \fBipc\fP(2) T} \fBsemget\fP(2) 2.0 T{ Siehe Hinweise zu \fBipc\fP(2) T} \fBsemop\fP(2) 2.0 T{ Siehe Hinweise zu \fBipc\fP(2) T} \fBsemtimedop\fP(2) 2.6; 2.4.22 \fBsend\fP(2) 2.0 T{ Siehe Hinweise zu \fBsocketcall\fP(2) T} \fBsendfile\fP(2) 2.2 \fBsendfile64\fP(2) 2.6; 2.4.19 \fBsendmmsg\fP(2) 3.0 \fBsendmsg\fP(2) 2.0 T{ Siehe Hinweise zu \fBsocketcall\fP(2) T} \fBsendto\fP(2) 2.0 T{ Siehe Hinweise zu \fBsocketcall\fP(2) T} \fBset_mempolicy\fP(2) 2.6.6 \fBset_robust_list\fP(2) 2.6.17 \fBset_thread_area\fP(2) 2.6 \fBset_tid_address\fP(2) 2.6 \fBset_tls\fP(2) 2.6.11 T{ Nur ARM OABI/EABI (Konstante hat Präfix \fB__ARM_NR\fP) T} .\" \fBsetaltroot\fP(2) 2.6.10 T{ .\" Removed in 2.6.11, exposed one .\" of implementation details of .\" \fBpersonality\fP(2) (creating an .\" alternative root, precursor of .\" mount namespaces) to user space. .\" T} .\" See http://lkml.org/lkml/2005/8/1/83 .\" "[PATCH] remove sys_set_zone_reclaim()" \fBsetdomainname\fP(2) 1.0 \fBsetfsgid\fP(2) 1.2 \fBsetfsgid32\fP(2) 2.4 \fBsetfsuid\fP(2) 1.2 \fBsetfsuid32\fP(2) 2.4 \fBsetgid\fP(2) 1.0 \fBsetgid32\fP(2) 2.4 \fBsetgroups\fP(2) 1.0 \fBsetgroups32\fP(2) 2.4 .\" arch/alpha/include/asm/core_lca.h \fBsethae\fP(2) 2.0 T{ Nur Alpha; siehe HINWEISE T} \fBsethostname\fP(2) 1.0 \fBsetitimer\fP(2) 1.0 \fBsetns\fP(2) 3.0 \fBsetpgid\fP(2) 1.0 \fBsetpgrp\fP(2) 2.0 T{ Alternativer Name für \fBsetpgid\fP(2) auf Alpha T} \fBsetpriority\fP(2) 1.0 \fBsetregid\fP(2) 1.0 \fBsetregid32\fP(2) 2.4 \fBsetresgid\fP(2) 2.2 \fBsetresgid32\fP(2) 2.4 \fBsetresuid\fP(2) 2.2 \fBsetresuid32\fP(2) 2.4 \fBsetreuid\fP(2) 1.0 \fBsetreuid32\fP(2) 2.4 \fBsetrlimit\fP(2) 1.0 \fBsetsid\fP(2) 1.0 \fBsetsockopt\fP(2) 2.0 T{ Siehe Hinweise zu \fBsocketcall\fP(2) T} \fBsettimeofday\fP(2) 1.0 \fBsetuid\fP(2) 1.0 \fBsetuid32\fP(2) 2.4 \fBsetup\fP(2) 1.0 Entfernt in 2.2 \fBsetxattr\fP(2) 2.6; 2.4.18 \fBsgetmask\fP(2) 1.0 \fBshmat\fP(2) 2.0 T{ Siehe Hinweise zu \fBipc\fP(2) T} \fBshmctl\fP(2) 2.0 T{ Siehe Hinweise zu \fBipc\fP(2) T} \fBshmdt\fP(2) 2.0 T{ Siehe Hinweise zu \fBipc\fP(2) T} \fBshmget\fP(2) 2.0 T{ Siehe Hinweise zu \fBipc\fP(2) T} \fBshutdown\fP(2) 2.0 T{ Siehe Hinweise zu \fBsocketcall\fP(2) T} \fBsigaction\fP(2) 1.0 \fBsigaltstack\fP(2) 2.2 \fBsignal\fP(2) 1.0 \fBsignalfd\fP(2) 2.6.22 \fBsignalfd4\fP(2) 2.6.27 \fBsigpending\fP(2) 1.0 \fBsigprocmask\fP(2) 1.0 \fBsigreturn\fP(2) 1.0 \fBsigsuspend\fP(2) 1.0 \fBsocket\fP(2) 2.0 T{ Siehe Hinweise zu \fBsocketcall\fP(2) T} \fBsocketcall\fP(2) 1.0 .\" Implements BSD socket calls \fBsocketpair\fP(2) 2.0 T{ Siehe Hinweise zu \fBsocketcall\fP(2) T} .\" 5a0015d62668e64c8b6e02e360fbbea121bfd5e6 \fBspill\fP(2) 2.6.13 Nur Xtensa \fBsplice\fP(2) 2.6.17 \fBspu_create\fP(2) 2.6.16 T{ Nur PowerPC/PowerPC64 T} \fBspu_run\fP(2) 2.6.16 T{ Nur PowerPC/PowerPC64 T} \fBssetmask\fP(2) 1.0 \fBstat\fP(2) 1.0 \fBstat64\fP(2) 2.4 \fBstatfs\fP(2) 1.0 \fBstatfs64\fP(2) 2.6 \fBstatx\fP(2) 4.11 \fBstime\fP(2) 1.0 \fBsubpage_prot\fP(2) 2.6.25 T{ Nur PowerPC/PowerPC64 T} \fBswapcontext\fP(2) 2.6.3 T{ Nur PowerPC/PowerPC64 T} .\" 529d235a0e190ded1d21ccc80a73e625ebcad09b \fBswitch_endian\fP(2) 4.1 Nur PowerPC64 \fBswapoff\fP(2) 1.0 \fBswapon\fP(2) 1.0 \fBsymlink\fP(2) 1.0 \fBsymlinkat\fP(2) 2.6.16 \fBsync\fP(2) 1.0 \fBsync_file_range\fP(2) 2.6.17 \fBsync_file_range2\fP(2) 2.6.22 .\" PowerPC, ARM, tile .\" First appeared on ARM, as arm_sync_file_range(), but later renamed .\" \fBsys_debug_setcontext\fP(2) ??? PowerPC if CONFIG_PPC32 \fBsyncfs\fP(2) 2.6.39 \fBsys_debug_setcontext\fP(2) 2.6.11 Nur PowerPC \fBsyscall\fP(2) 1.0 T{ Im ARM OABI und MIPS O32 ABI immer noch verfügbar T} \fBsysfs\fP(2) 1.2 \fBsysinfo\fP(2) 1.0 \fBsyslog\fP(2) 1.0 .\" glibc interface is \fBklogctl\fP(3) \fBsysmips\fP(2) 2.6.0 Nur MIPS \fBtee\fP(2) 2.6.17 \fBtgkill\fP(2) 2.6 \fBtime\fP(2) 1.0 \fBtimer_create\fP(2) 2.6 \fBtimer_delete\fP(2) 2.6 \fBtimer_getoverrun\fP(2) 2.6 \fBtimer_gettime\fP(2) 2.6 \fBtimer_settime\fP(2) 2.6 .\" .\" b215e283992899650c4271e7385c79e26fb9a88e .\" .\" 4d672e7ac79b5ec5cdc90e450823441e20464691 .\" \fBtimerfd\fP(2) 2.6.22 T{ .\" Old timerfd interface, .\" removed in 2.6.25 .\" T} \fBtimerfd_create\fP(2) 2.6.25 \fBtimerfd_gettime\fP(2) 2.6.25 \fBtimerfd_settime\fP(2) 2.6.25 \fBtimes\fP(2) 1.0 \fBtkill\fP(2) 2.6; 2.4.22 \fBtruncate\fP(2) 1.0 \fBtruncate64\fP(2) 2.4 \fBugetrlimit\fP(2) 2.4 \fBumask\fP(2) 1.0 \fBumount\fP(2) 1.0 .\" sys_oldumount() -- __NR_umount \fBumount2\fP(2) 2.2 .\" sys_umount() -- __NR_umount2 \fBuname\fP(2) 1.0 \fBunlink\fP(2) 1.0 \fBunlinkat\fP(2) 2.6.16 \fBunshare\fP(2) 2.6.16 \fBuselib\fP(2) 1.0 \fBustat\fP(2) 1.0 \fBuserfaultfd\fP(2) 4.3 \fBusr26\fP(2) 2.4.8.1 Nur ARM OABI \fBusr32\fP(2) 2.4.8.1 Nur ARM OABI \fButime\fP(2) 1.0 \fButimensat\fP(2) 2.6.22 \fButimes\fP(2) 2.2 \fButrap_install\fP(2) 2.2 Nur SPARC64 .\" FIXME . document utrap_install() .\" There's a man page for Solaris 5.11 \fBvfork\fP(2) 2.2 \fBvhangup\fP(2) 1.0 \fBvm86old\fP(2) 1.0 T{ War »vm86«; wurde in 2.0.28/2.2 umbenannt T} \fBvm86\fP(2) 2.0.28; 2.2 \fBvmsplice\fP(2) 2.6.17 \fBwait4\fP(2) 1.0 \fBwaitid\fP(2) 2.6.10 \fBwaitpid\fP(2) 1.0 \fBwrite\fP(2) 1.0 \fBwritev\fP(2) 2.0 .\" 5a0015d62668e64c8b6e02e360fbbea121bfd5e6 \fBxtensa\fP(2) 2.6.13 Nur Xtensa .TE .P Auf vielen Plattformen, einschließlich X86\-32, werden Socket\-Aufrufe (mittels der Glibc\-Wrapper\-Funktionen) über \fBsocketcall\fP(2) im Multiplex\-Verfahren behandelt und ebenso werden System\-V\-IPC\-Aufrufe mittels \fBipc\fP(2) im Multiplex\-Verfahren behandelt. .P .\" __NR_afs_syscall is 53 on Linux 2.6.22/i386 .\" __NR_break is 17 on Linux 2.6.22/i386 .\" __NR_ftime is 35 on Linux 2.6.22/i386 .\" __NR_getpmsg is 188 on Linux 2.6.22/i386 .\" __NR_gtty is 32 on Linux 2.6.22/i386 .\" __NR_idle is 112 on Linux 2.6.22/i386 .\" __NR_lock is 53 on Linux 2.6.22/i386 .\" __NR_madvise1 is 219 on Linux 2.6.22/i386 .\" __NR_mpx is 66 on Linux 2.6.22/i386 .\" Slot has been reused .\" __NR_prof is 44 on Linux 2.6.22/i386 .\" __NR_profil is 98 on Linux 2.6.22/i386 .\" __NR_putpmsg is 189 on Linux 2.6.22/i386 .\" __NR_security is 223 on Linux 2.4/i386 .\" __NR_security is 223 on Linux 2.4/i386; absent on 2.6/i386, present .\" on a couple of 2.6 architectures .\" __NR_stty is 31 on Linux 2.6.22/i386 .\" The security call is for future use. .\" __NR_tuxcall is 184 on x86_64, also on PPC and alpha .\" __NR_ulimit is 58 on Linux 2.6.22/i386 .\" __NR_vserver is 273 on Linux 2.6.22/i386 Obwohl für sie in der Systemaufruftabelle Plätze reserviert sind, sind die folgenden Systemaufrufe im Standard\-Kernel nicht implementiert: \fBafs_syscall\fP(2), \fBbreak\fP(2), \fBftime\fP(2), \fBgetpmsg\fP(2), \fBgtty\fP(2), \fBidle\fP(2), \fBlock\fP(2), \fBmadvise1\fP(2), \fBmpx\fP(2), \fBphys\fP(2), \fBprof\fP(2), \fBprofil\fP(2), \fBputpmsg\fP(2), \fBsecurity\fP(2), \fBstty\fP(2), \fBtuxcall\fP(2), \fBulimit\fP(2) und \fBvserver\fP(2) (siehe auch \fBunimplemented\fP(2)). Allerdings existieren \fBftime\fP(3), \fBprofil\fP(3) und \fBulimit\fP(3) als Bibliotheksroutinen. Der Platz für \fBphys\fP(2) wird seit Linux 2.1.116 für \fBumount\fP(2) verwandt; \fBphys\fP(2) wird niemals implementiert. Die Aufrufe \fBgetpmsg\fP(2) und \fBputpmsg\fP(2) sind für Kernel, die auf die Unterstützung von Streams angepasst wurden, reserviert und könnten niemals im Standard\-Kernel auftauchen. .P .\" Für einen kurzen Zeitraum gab es \fBset_zone_reclaim\fP(2), hinzugefügt in Linux 2.6.13 und entfernt in Linux 2.6.16. Dieser Systemaufruf stand dem Anwendungsraum niemals zur Verfügung. .SS "Systemaufrufe auf entfernten Portierungen" Einige Systemaufrufe existierten ausschließlich auf Linux\-Architekturen, die seitdem aus dem Kernel entfernt wurden: .TP AVR32 (Portierung in Linux 4.12 entfernt) .RS .PD 0 .IP \[bu] 3 \fBpread\fP(2) .IP \[bu] \fBpwrite\fP(2) .PD .RE .TP Blackfin (Portierung in Linux 4.17 entfernt) .RS .PD 0 .IP \[bu] 3 \fBbfin_spinlock\fP(2) (hinzugfügt in Linux 2.6.22) .IP \[bu] \fBdma_memcpy\fP(2) (hinzugefügt in Linux 2.6.22) .IP \[bu] \fBpread\fP(2) (hinzugefügt in Linux 2.6.22) .IP \[bu] \fBpwrite\fP(2) (hinzugefügt in Linux 2.6.22) .IP \[bu] \fBsram_alloc\fP(2) (hinzugefügt in Linux 2.6.22) .IP \[bu] \fBsram_free\fP(2) (hinzugefügt in Linux 2.6.22) .PD .RE .TP Metag (Portierung in Linux 4.17 entfernt) .RS .PD 0 .IP \[bu] 3 \fBmetag_get_tls\fP(2) (hinzugefügt in Linux 3.9) .IP \[bu] \fBmetag_set_fpu_flags\fP(2) (hinzugefügt in Linux 3.9) .IP \[bu] \fBmetag_set_tls\fP(2) (hinzugefügt in Linux 3.9) .IP \[bu] \fBmetag_setglobalbit\fP(2) (hinzugefügt in Linux 3.9) .PD .RE .TP Tile (Portierung in Linux 4.17 entfernt) .RS .PD 0 .IP \[bu] 3 \fBcmpxchg_badaddr\fP(2) (hinzugefügt in Linux 2.6.36) .PD .RE .SH ANMERKUNGEN Grob gesagt kann der Code, der zu dem Systemaufruf mit der in \fI/usr/include/asm/unistd.h\fP definierten Nummer __NR_xxx gehört in den Linux\-Kernelquellen in der Routine \fIsys_xxx\fP() gefunden werden. Allerdings gibt es viele Ausnahmen, da hauptsächlich ältere Systemaufrufe durch neuere ersetzt wurden und dabei nicht immer systematisch vorgegangen wurde. Auf Plattformen mit proprietären Betriebssystem\-Emulationen, wie Sparc, Sparc64 und Alpha, gibt es viele zusätzliche Systemaufrufe; Mips64 enthält auch einen kompletten Satz an 32\-bit\-Systemaufrufen. .P Im Laufe der Zeit wurden Änderungen an einigen Schnittstellen der Systemaufrufe notwendig. Ein Grund für solche Änderungen war die Notwendigkeit, die Größe von Strukturen oder skalaren Werten, die an den Systemaufruf übergeben werden, zu erhöhen. Aufgrund dieser Änderungen haben jetzt bestimmte Architekturen (insbesondere die langexistierenden 32\-bit\-Architekturen wie I386) verschiedene Gruppen von zusammengehörigen Systemaufrufen (z.B. \fBtruncate\fP(2) und \fBtruncate64\fP(2)), die ähnliche Aufgaben erledigen, aber sich in Details wie der Größe ihrer Argumente unterscheiden. (Wie weiter oben angemerkt, bekommen das Anwendungen im Allgemeinen nicht mit: Die Glibc\-Wrapperfunktion haben Vorkehrungen um sicherzustellen, dass der richtige Systemaufruf aufgerufen wird und dass die ABI\-Kompatibilität für ältere Programme gewährt wird). Folgende Systemaufrufe sind Beispiele, die in verschiedenen Versionen existieren: .IP \[bu] 3 .\" e.g., on 2.6.22/i386: __NR_oldstat 18, __NR_stat 106, __NR_stat64 195 .\" The stat system calls deal with three different data structures, .\" defined in include/asm-i386/stat.h: __old_kernel_stat, stat, stat64 Es gibt jetzt drei verschiedene Versionen von \fBstat\fP(2): \fIsys_stat\fP() (Platz \fI__NR_oldstat\fP), \fIsys_newstat\fP() (Platz \fI__NR_stat\fP) und \fIsys_stat64\fP() (Platz \fI__NR_stat64\fP), wobei letzterer der neuste ist. Eine ähnliche Geschichte existiert für \fBlstat\fP(2) und \fBfstat\fP(2). .IP \[bu] Ähnlich beziehen sich die Definitionen \fI__NR_oldolduname\fP, \fI__NR_olduname\fP und \fI__NR_uname\fP auf die Routinen \fIsys_olduname\fP(), \fIsys_uname\fP() und \fIsys_newuname\fP(). .IP \[bu] In Linux 2.0 erschien eine neue Version von \fBvm86\fP(2), wobei die alte und die neue Kernelroutine als \fIsys_vm86old\fP() und \fIsys_vm86\fP() benannt wurden. .IP \[bu] In Linux 2.4 erschien eine neue Version von \fBgetrlimit\fP(2) , wobei die alte und die neue Kernelroutine als \fIsys_old_getrlimit\fP() (Platz \fI__NR_getrlimit\fP) und \fIsys_getrlimit\fP() (Platz \fI__NR_ugetrlimit\fP) benannt wurden. .IP \[bu] .\" 64-bit off_t changes: ftruncate64, *stat64, .\" fcntl64 (because of the flock structure), getdents64, *statfs64 Linux 2.4 erhöhte die Größe der Benutzer\- und Gruppenkennungen von 16 auf 32 bit. Um diese Änderung zu unterstützen, wurden eine Reihe von Systemaufrufen hinzugefügt (z.B. \fBchown32\fP(2), \fBgetuid32\fP(2), \fBgetgroups32\fP(2), \fBsetresuid32\fP(2)), die ältere Aufrufe mit dem gleichen Namen ohne die Endung »32« ersetzen. .IP \[bu] Linux 2.4 fügte Unterstützungen zum Zugriff auf große Dateien (d.h. Dateien, deren Größe und Dateiversatz nicht in 32 bit dargestellt werden kann) für Anwendungen auf 32\-bit\-Architekturen hinzu. Um diese Änderung zu unterstützen, wurden für Systemaufrufe, die mit Dateiversätzen und \-größen umgehen, Ersetzungen notwendig. Daher wurden die folgenden Systemaufrufe hinzugefügt: \fBfcntl64\fP(2), \fBgetdents64\fP(2), \fBstat64\fP(2), \fBstatfs64\fP(2), \fBtruncate64\fP(2) und ihre Entsprechungen, die mit Dateideskriptoren und symbolischen Links arbeiten. Diese Systemaufrufe ersetzen die älteren Systemaufrufe, die bis auf den Fall der »stat«\-Systemaufrufe die gleichen Namen ohne die Endung »64« haben. .IP Auf neueren Plattformen, die nur über 64\-bit\-Zugriff und 32\-bit UIDs/GIDs verfügen (z.B. Alpha, Ia64, S390x, X86\-64) gibt es nur eine einzige Version der UID/GID\- und Dateizugriffs\-Systemaufrufe. Auf Plattformen (typischerweise 32\-bit\-Plattformen), bei denen die *64\- und *32\-Aufrufe existieren, sind die anderen Versionen veraltet. .IP \[bu] Die Aufrufe \fIrt_sig*\fP wurden in Linux 2.2 hinzugefügt, um die Hinzufügung von Echtzeitsignalen (siehe \fBsignal\fP(7)) zu unterstützen. Diese Systemaufrufe ersetzen die älteren Systemaufrufe mit dem gleichen Namen ohne den Präfix »rt_«. .IP \[bu] .\" (used by libc 6) .\" .P .\" Two system call numbers, .\" .IR __NR__llseek .\" and .\" .IR __NR__sysctl .\" have an additional underscore absent in .\" .IR sys_llseek () .\" and .\" .IR sys_sysctl (). .\" .\" In Linux 2.1.81, .\" .BR lchown (2) .\" and .\" .BR chown (2) .\" were swapped; that is, .\" .BR lchown (2) .\" was added with the semantics that were then current for .\" .BR chown (2), .\" and the semantics of the latter call were changed to what .\" they are today. .\" .\" Die Systemaufrufe \fBselect\fP(2) und \fBmmap\fP(2) verwenden fünf oder mehr Argumente, was zu Problemen mit der Art, wie die Argumentenübergabe auf I386 eingerichtet war, führte. Während andere Architekturen über \fIsys_select\fP() und \fIsys_mmap\fP() entsprechend zu \fI__NR_select\fP und \fI__NR_mmap\fP verfügen, kann auf I386 stattdessen \fIold_select\fP() und \fIold_mmap\fP() (Routinen, die einen Zeiger auf einen Argumentenblock verwenden) gefunden werden. Heutzutage ist die Übergabe von fünf oder mehr Argumenten kein Problem mehr und es gibt ein \fI__NR__newselect\fP, das direkt \fIsys_select\fP() entspricht und ähnlich \fI__NR_mmap2\fP. S390x ist die einzige 64\-bit\-Architektur, die über \fIold_mmap\fP() verfügt. .SS "Architektur\-spezifische Details: Alpha" .TP \fBgetxgid\fP(2) Liefert ein Paar an GID\- und effektiver GID mittels der Register \fBr0\fP und \fBr20\fP zurück; er wird anstelle von \fBgetgid\fP(2) und \fBgetegid\fP(2) bereitgestellt. .TP \fBgetxpid\fP(2) Liefert ein Paar an PID und Eltern\-PID mittels der Register \fBr0\fP und \fBr20\fP zurück; er wird anstelle von \fBgetpid\fP(2) und \fBgetppid\fP(2) bereitgestellt. .TP \fBold_adjtimex\fP(2) Ist eine Variante von \fBadjtimex\fP(2), die zur Kompatibilität mit OSF/1 \fIstruct timeval32\fP verwendet. .TP \fBgetxuid\fP(2) Liefert ein Paar an GID und effektiver GID mittels der Register \fBr0\fP und \fBr20\fP zurück; er wird anstelle von \fBgetuid\fP(2) und \fBgeteuid\fP(2) bereitgestellt. .TP \fBsethae\fP(2) Wird für die Konfiguration der Rechneradressen\-Erweiterungsregister in günstigen Alphas verwandt, damit auf den Adressraum jenseits der ersten 27 bit zugegriffen werden kann. .SH "SIEHE AUCH" \fBausyscall\fP(1), \fBintro\fP(2), \fBsyscall\fP(2), \fBunimplemented\fP(2), \fBerrno\fP(3), \fBlibc\fP(7), \fBvdso\fP(7) .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .