.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1998, Andries E. Brouwer .\" Copyright 2002, Ian Redfern .\" Copyright 2007, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH syscalls 2 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم syscalls \- استدعاءات نظام لينكس .SH موجز .nf استدعاءات نظام لينكس. .fi .SH الوصف استدعاء النظام هو الواجهة الأساسية بين التطبيقات ونواة لينكس. .SS "استدعاءات النظام ودوال التغليف المكتبية" لا تُستدعى استدعاءات النظام مباشرةً في العادة، بل عبر دوال تغليف في glibc (أو ربما مكتبة أخرى). لتفاصيل الاستدعاء المباشر لاستدعاء نظام، انظر \fBintro\fP(2). غالباً، ولكن ليس دائماً، يكون اسم دالة التغليف هو نفس اسم استدعاء النظام الذي تستدعيه. على سبيل المثال، تحتوي glibc على الدالة \fBchdir\fP() التي تستدعي استدعاء نظام "chdir" الأساسي. .P غالباً ما تكون دالة تغليف glibc بسيطة للغاية، حيث لا تقوم إلا بعمل قليل بخلاف نسخ الوسائط إلى السجلات الصحيحة قبل استدعاء استدعاء النظام، ثم ضبط \fIerrno\fP بشكل مناسب بعد عودة استدعاء النظام. (هذه هي نفس الخطوات التي تُنفذ بواسطة \fBsyscall\fP(2)، والتي يمكن استخدامها لاستدعاء استدعاءات النظام التي لا تتوفر لها دالة تغليف). ملاحظة: تشير استدعاءات النظام إلى الفشل بإرجاع رقم خطأ سالب إلى المستدعِي في المعماريات التي لا تحتوي على سجل/علم خطأ منفصل، كما هو موضح في \fBsyscall\fP(2)؛ وعند حدوث ذلك، تقوم دالة التغليف بعكس رقم الخطأ المُرجع (لجعله موجباً)، ونسخه إلى \fIerrno\fP، وإرجاع \-1 إلى مستدعِي التغليف. .P ومع ذلك، تقوم دالة التغليف أحياناً ببعض العمل الإضافي قبل استدعاء استدعاء النظام. على سبيل المثال، يوجد حالياً (لأسباب موصوفة أدناه) استدعاءا نظام مرتبطان، هما \fBtruncate\fP(2) و \fBtruncate64\fP(2)، وتتحقق دالة تغليف glibc المسماة \fBtruncate\fP() من أيهما توفره النواة وتحدد أيهما يجب استخدامه. .SS "قائمة استدعاءات النظام" فيما يلي قائمة باستدعاءات نظام لينكس. في القائمة، يشير عمود \fIنواة\fP إلى إصدار النواة لاستدعاءات النظام التي كانت جديدة في لينكس 2.2، أو ظهرت منذ ذلك الإصدار. لاحظ النقاط التالية: .IP \[bu] 3 حيث لا يُشار إلى إصدار للنواة، يكون استدعاء النظام قد ظهر في لينكس 1.0 أو قبل ذلك. .IP \[bu] حيث يُميز استدعاء النظام بالرمز "1.2"، فهذا يعني أن استدعاء النظام ظهر غالباً في إصدار نواة لينكس 1.1.x، وظهر لأول مرة في نواة مستقرة مع 1.2. (بدأ تطوير نواة لينكس 1.2 من فرع لينكس 1.0.6 عبر سلسلة أنوية لينكس 1.1.x غير المستقرة). .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. حيث يُميز استدعاء النظام بالرمز "2.0"، فهذا يعني أن استدعاء النظام ظهر غالباً في إصدار نواة لينكس 1.3.x، وظهر لأول مرة في نواة مستقرة مع لينكس 2.0. (بدأ تطوير نواة لينكس 2.0 من فرع لينكس 1.2.x، في مكان ما حول لينكس 1.2.10، عبر سلسلة أنوية لينكس 1.3.x غير المستقرة). .IP \[bu] حيث يُميز استدعاء النظام بالرمز "2.2"، فهذا يعني أن استدعاء النظام ظهر غالباً في إصدار نواة لينكس 2.1.x، وظهر لأول مرة في نواة مستقرة مع لينكس 2.2.0. (بدأ تطوير نواة لينكس 2.2 من فرع لينكس 2.0.21 عبر سلسلة أنوية لينكس 2.1.x غير المستقرة). .IP \[bu] حيث يُميز استدعاء النظام بالرمز "2.4"، فهذا يعني أن استدعاء النظام ظهر غالباً في إصدار نواة لينكس 2.3.x، وظهر لأول مرة في نواة مستقرة مع لينكس 2.4.0. (بدأ تطوير نواة لينكس 2.4 من فرع لينكس 2.2.8 عبر سلسلة أنوية لينكس 2.3.x غير المستقرة). .IP \[bu] حيث يُميز استدعاء النظام بالرمز "2.6"، فهذا يعني أن استدعاء النظام ظهر غالباً في إصدار نواة لينكس 2.5.x، وظهر لأول مرة في نواة مستقرة مع لينكس 2.6.0. (بدأ تطوير لينكس 2.6 من فرع لينكس 2.4.15 عبر سلسلة أنوية لينكس 2.5.x غير المستقرة). .IP \[bu] بدءاً من لينكس 2.6.0، تغير نموذج التطوير، وقد تظهر استدعاءات نظام جديدة في كل إصدار من إصدارات لينكس 2.6.x. في هذه الحالة، يُعرض رقم الإصدار الدقيق الذي ظهر فيه استدعاء النظام. ويستمر هذا العرف مع سلسلة أنوية لينكس 3.x التي تلت لينكس 2.6.39؛ وسلسلة أنوية لينكس 4.x التي تلت لينكس 3.19؛ وسلسلة أنوية لينكس 5.x التي تلت لينكس 4.20؛ وسلسلة أنوية لينكس 6.x التي تلت لينكس 5.19. .IP \[bu] في بعض الحالات، أُضيف استدعاء نظام إلى سلسلة أنوية مستقرة بعد تفرعها من سلسلة الأنوية المستقرة السابقة، ثم نُقلت لاحقًا (backported) إلى سلسلة الأنوية المستقرة الأقدم. على سبيل المثال، نُقلت بعض استدعاءات النظام التي ظهرت في لينكس 2.6.x إلى إصدار لينكس 2.4.x بعد لينكس 2.4.15. عندما يكون الأمر كذلك، يُدرج الإصدار الذي ظهر فيه استدعاء النظام في كلتا سلسلتي الأنوية الرئيستين. .P قائمة استدعاءات النظام المتوفرة حتى لينكس 5.14 (أو في حالات قليلة فقط في أنوية أقدم) هي كما يلي: .P .\" .\" Looking at scripts/checksyscalls.sh in the kernel source is .\" instructive about x86 specifics. .\" .TS Lb Lb Lb Lw(26n)2 L Lx. استدعاء النظام نواة ملاحظات _ \f[B]_llseek\fR(2) 1.2 \f[B]_newselect\fR(2) 2.0 \f[B]_sysctl\fR(2) 2.0 أُزيل في 5.5 T{ \fBaccept\fP(2) T} 2.0 T{ انظر الملاحظات على \f[B]socketcall\fR(2) T} \f[B]accept4\fR(2) 2.6.28 \f[B]access\fR(2) 1.0 \f[B]acct\fR(2) 1.0 \f[B]add_key\fR(2) 2.6.10 \f[B]adjtimex\fR(2) 1.0 \f[B]alarm\fR(2) 1.0 \f[B]alloc_hugepages\fR(2) 2.5.36 أُزيل في 2.5.44 .\" 4adeefe161a74369e44cc8e663f240ece0470dc3 \f[B]arc_gettls\fR(2) 3.9 ARC فقط \f[B]arc_settls\fR(2) 3.9 ARC فقط .\" 91e040a79df73d371f70792f30380d4e44805250 \f[B]arc_usr_cmpxchg\fR(2) 4.9 ARC فقط .\" x86: 79170fda313ed5be2394f87aa2a00d597f8ed4a1 T{ \fBarch_prctl\fP(2) T} 2.6 T{ x86_64، وx86 منذ 4.12 T} .\" 9674cdc74d63f346870943ef966a034f8c71ee57 \f[B]atomic_barrier\fR(2) 2.6.34 m68k فقط \f[B]atomic_cmpxchg_32\fR(2) 2.6.34 m68k فقط T{ \fBbdflush\fP(2) T} 1.2 T{ مهمَل (لا يفعل شيئاً) منذ 2.6، أُزيل في 5.15 T} T{ \fBbind\fP(2) T} 2.0 T{ انظر الملاحظات على \f[B]socketcall\fR(2) T} \f[B]bpf\fR(2) 3.18 \f[B]brk\fR(2) 1.0 T{ \fBbreakpoint\fP(2) T} 2.2 T{ ARM OABI فقط، عُرّف ببادئة \f[B]__ARM_NR\fR T} \f[B]cacheflush\fR(2) 1.2 ليس على x86 \f[B]capget\fR(2) 2.2 \f[B]capset\fR(2) 2.2 \f[B]chdir\fR(2) 1.0 \f[B]chmod\fR(2) 1.0 T{ \fBchown\fP(2) T} 2.2 T{ انظر \fBchown\fP(2) لتفاصيل الإصدار T} \f[B]chown32\fR(2) 2.4 \f[B]chroot\fR(2) 1.0 \f[B]clock_adjtime\fR(2) 2.6.39 \f[B]clock_getres\fR(2) 2.6 \f[B]clock_gettime\fR(2) 2.6 \f[B]clock_nanosleep\fR(2) 2.6 \f[B]clock_settime\fR(2) 2.6 \f[B]clone2\fR(2) 2.4 IA\-64 فقط \f[B]clone\fR(2) 1.0 \f[B]clone3\fR(2) 5.3 \f[B]close\fR(2) 1.0 \f[B]close_range\fR(2) 5.9 .\" .\" dcef1f634657dabe7905af3ccda12cf7f0b6fcc1 .\" .\" cc20d42986d5807cbe4f5c7c8e3dab2e59ea0db3 .\" .\" db695c0509d6ec9046ee5e4c520a19fa17d9fce2 .\" \f[B]cmpxchg\f[](2) 2.6.12 T{ .\" ARM, syscall constant never was .\" exposed to user space, in-kernel .\" definition had \f[B]__ARM_NR\f[] prefix, .\" removed in 4.4 .\" T} .\" 867e359b97c970a60626d5d76bbe2a8fadbf38fb .\" bb9d812643d8a121df7d614a2b9c60193a92deb0 T{ \fBconnect\fP(2) T} 2.0 T{ انظر الملاحظات على \f[B]socketcall\fR(2) T} \f[B]copy_file_range\fR(2) 4.5 \f[B]creat\fR(2) 1.0 \f[B]create_module\fR(2) 1.0 أُزيل في 2.6 \f[B]delete_module\fR(2) 1.0 .\" 1394f03221790a988afc3e4b3cb79f2e477246a9 .\" 4ba66a9760722ccbb691b8f7116cad2f791cca7b \f[B]dup\fR(2) 1.0 \f[B]dup2\fR(2) 1.0 \f[B]dup3\fR(2) 2.6.27 \f[B]epoll_create\fR(2) 2.6 \f[B]epoll_create1\fR(2) 2.6.27 \f[B]epoll_ctl\fR(2) 2.6 \f[B]epoll_pwait\fR(2) 2.6.19 \f[B]epoll_pwait2\fR(2) 5.11 \f[B]epoll_wait\fR(2) 2.6 \f[B]eventfd\fR(2) 2.6.22 \f[B]eventfd2\fR(2) 2.6.27 T{ \fBexecv\fP(2) T} 2.0 T{ لأنظمة SPARC/SPARC64 فقط، للتوافق مع SunOS T} \f[B]execve\fR(2) 1.0 \f[B]execveat\fR(2) 3.19 \f[B]exit\fR(2) 1.0 \f[B]exit_group\fR(2) 2.6 \f[B]faccessat\fR(2) 2.6.16 \f[B]faccessat2\fR(2) 5.8 \f[B]fadvise64\fR(2) 2.6 .\" Implements \f[B]posix_fadvise\f[](2) \f[B]fadvise64_64\fR(2) 2.6 \f[B]fallocate\fR(2) 2.6.23 \f[B]fanotify_init\fR(2) 2.6.37 \f[B]fanotify_mark\fR(2) 2.6.37 .\" The fanotify calls were added in Linux 2.6.36, .\" but disabled while the API was finalized. \f[B]fchdir\fR(2) 1.0 \f[B]fchmod\fR(2) 1.0 \f[B]fchmodat\fR(2) 2.6.16 \f[B]fchown\fR(2) 1.0 \f[B]fchown32\fR(2) 2.4 \f[B]fchownat\fR(2) 2.6.16 \f[B]fcntl\fR(2) 1.0 \f[B]fcntl64\fR(2) 2.4 \f[B]fdatasync\fR(2) 2.0 \f[B]fgetxattr\fR(2) 2.6; 2.4.18 \f[B]finit_module\fR(2) 3.8 \f[B]flistxattr\fR(2) 2.6; 2.4.18 \f[B]flock\fR(2) 2.0 \f[B]fork\fR(2) 1.0 \f[B]free_hugepages\fR(2) 2.5.36 أُزيل في 2.5.44 \f[B]fremovexattr\fR(2) 2.6; 2.4.18 \f[B]fsconfig\fR(2) 5.2 \f[B]fsetxattr\fR(2) 2.6; 2.4.18 \f[B]fsmount\fR(2) 5.2 \f[B]fsopen\fR(2) 5.2 \f[B]fspick\fR(2) 5.2 \f[B]fstat\fR(2) 1.0 \f[B]fstat64\fR(2) 2.4 \f[B]fstatat64\fR(2) 2.6.16 \f[B]fstatfs\fR(2) 1.0 \f[B]fstatfs64\fR(2) 2.6 \f[B]fsync\fR(2) 1.0 \f[B]ftruncate\fR(2) 1.0 \f[B]ftruncate64\fR(2) 2.4 \f[B]futex\fR(2) 2.6 \f[B]futimesat\fR(2) 2.6.16 \f[B]get_kernel_syms\fR(2) 1.0 أُزيل في 2.6 \f[B]get_mempolicy\fR(2) 2.6.6 \f[B]get_robust_list\fR(2) 2.6.17 \f[B]get_thread_area\fR(2) 2.6 .\" 8fcd6c45f5a65621ec809b7866a3623e9a01d4ed T{ \fBget_tls\fP(2) T} 4.15 T{ لأنظمة ARM OABI فقط، له البادئة \f[B]__ARM_NR\fR T} \f[B]getcpu\fR(2) 2.6.19 \f[B]getcwd\fR(2) 2.2 \f[B]getdents\fR(2) 2.0 \f[B]getdents64\fR(2) 2.4 .\" parisc: 863722e856e64dae0e252b6bb546737c6c5626ce T{ \fBgetdomainname\fP(2) T} 2.2 T{ لأنظمة SPARC، وSPARC64؛ متوفر كـ \f[B]osf_getdomainname\fR(2) على معماريّة Alpha منذ لينكس 2.0 T} .\" ec98c6b9b47df6df1c1fa6cf3d427414f8c2cf16 T{ \fBgetdtablesize\fP(2) T} 2.0 T{ لأنظمة SPARC (أُزيل في 2.6.26)، متوفر على Alpha كـ \f[B]osf_getdtablesize\fR(2) T} \f[B]getegid\fR(2) 1.0 \f[B]getegid32\fR(2) 2.4 \f[B]geteuid\fR(2) 1.0 \f[B]geteuid32\fR(2) 2.4 \f[B]getgid\fR(2) 1.0 \f[B]getgid32\fR(2) 2.4 \f[B]getgroups\fR(2) 1.0 \f[B]getgroups32\fR(2) 2.4 .\" SPARC removal: ec98c6b9b47df6df1c1fa6cf3d427414f8c2cf16 T{ \fBgethostname\fP(2) T} 2.0 T{ لأنظمة Alpha، كان متوفراً على SPARC حتى لينكس 2.6.26 T} \f[B]getitimer\fR(2) 1.0 T{ \fBgetpeername\fP(2) T} 2.0 T{ انظر الملاحظات على \f[B]socketcall\fR(2) T} T{ \fBgetpagesize\fP(2) T} 2.0 T{ لأنظمة Alpha، وSPARC/SPARC64 فقط T} \f[B]getpgid\fR(2) 1.0 \f[B]getpgrp\fR(2) 1.0 \f[B]getpid\fR(2) 1.0 \f[B]getppid\fR(2) 1.0 \f[B]getpriority\fR(2) 1.0 \f[B]getrandom\fR(2) 3.17 \f[B]getresgid\fR(2) 2.2 \f[B]getresgid32\fR(2) 2.4 \f[B]getresuid\fR(2) 2.2 \f[B]getresuid32\fR(2) 2.4 \f[B]getrlimit\fR(2) 1.0 \f[B]getrusage\fR(2) 1.0 \f[B]getsid\fR(2) 2.0 T{ \fBgetsockname\fP(2) T} 2.0 T{ انظر الملاحظات على \f[B]socketcall\fR(2) T} T{ \fBgetsockopt\fP(2) T} 2.0 T{ انظر الملاحظات على \f[B]socketcall\fR(2) T} \f[B]gettid\fR(2) 2.4.11 \f[B]gettimeofday\fR(2) 1.0 \f[B]getuid\fR(2) 1.0 \f[B]getuid32\fR(2) 2.4 T{ \fBgetunwind\fP(2) T} 2.4.8 T{ لأنظمة IA\-64 فقط؛ مهجور T} \f[B]getxattr\fR(2) 2.6; 2.4.18 T{ \fBgetxgid\fP(2) T} 2.0 T{ لأنظمة Alpha فقط؛ راجع الملاحظات (NOTES) T} T{ \fBgetxpid\fP(2) T} 2.0 T{ لأنظمة Alpha فقط؛ راجع الملاحظات (NOTES) T} T{ \fBgetxuid\fP(2) T} 2.0 T{ لأنظمة Alpha فقط؛ راجع الملاحظات (NOTES) T} \f[B]init_module\fR(2) 1.0 \f[B]inotify_add_watch\fR(2) 2.6.13 \f[B]inotify_init\fR(2) 2.6.13 \f[B]inotify_init1\fR(2) 2.6.27 \f[B]inotify_rm_watch\fR(2) 2.6.13 \f[B]io_cancel\fR(2) 2.6 \f[B]io_destroy\fR(2) 2.6 \f[B]io_getevents\fR(2) 2.6 \f[B]io_pgetevents\fR(2) 4.18 \f[B]io_setup\fR(2) 2.6 \f[B]io_submit\fR(2) 2.6 \f[B]io_uring_enter\fR(2) 5.1 \f[B]io_uring_register\fR(2) 5.1 \f[B]io_uring_setup\fR(2) 5.1 \f[B]ioctl\fR(2) 1.0 \f[B]ioperm\fR(2) 1.0 \f[B]iopl\fR(2) 1.0 \f[B]ioprio_get\fR(2) 2.6.13 \f[B]ioprio_set\fR(2) 2.6.13 \f[B]ipc\fR(2) 1.0 .\" Implements System V IPC calls \f[B]kcmp\fR(2) 3.5 \f[B]kern_features\fR(2) 3.7 لأنظمة SPARC64 فقط .\" FIXME . document kern_features(): .\" commit 517ffce4e1a03aea979fe3a18a3dd1761a24fafb \f[B]kexec_file_load\fR(2) 3.17 \f[B]kexec_load\fR(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 \f[B]keyctl\fR(2) 2.6.10 \f[B]kill\fR(2) 1.0 \f[B]landlock_add_rule\fR(2) 5.13 \f[B]landlock_create_ruleset\fR(2) 5.13 \f[B]landlock_restrict_self\fR(2) 5.13 T{ \fBlchown\fP(2) T} 1.0 T{ انظر \fBchown\fP(2) لتفاصيل الإصدار T} \f[B]lchown32\fR(2) 2.4 \f[B]lgetxattr\fR(2) 2.6; 2.4.18 \f[B]link\fR(2) 1.0 \f[B]linkat\fR(2) 2.6.16 T{ \fBlisten\fP(2) T} 2.0 T{ انظر الملاحظات على \f[B]socketcall\fR(2) T} \f[B]listxattr\fR(2) 2.6; 2.4.18 \f[B]llistxattr\fR(2) 2.6; 2.4.18 \f[B]lookup_dcookie\fR(2) 2.6 \f[B]lremovexattr\fR(2) 2.6; 2.4.18 \f[B]lseek\fR(2) 1.0 \f[B]lsetxattr\fR(2) 2.6; 2.4.18 \f[B]lstat\fR(2) 1.0 \f[B]lstat64\fR(2) 2.4 \f[B]madvise\fR(2) 2.4 \f[B]mbind\fR(2) 2.6.6 \f[B]memory_ordering\fR(2) 2.2 لأنظمة SPARC64 فقط .\" 26025bbfbba33a9425be1b89eccb4664ea4c17b6 .\" bb6fb6dfcc17cddac11ac295861f7608194447a7 \f[B]membarrier\fR(2) 3.17 \f[B]memfd_create\fR(2) 3.17 \f[B]memfd_secret\fR(2) 5.14 \f[B]migrate_pages\fR(2) 2.6.16 \f[B]mincore\fR(2) 2.4 \f[B]mkdir\fR(2) 1.0 \f[B]mkdirat\fR(2) 2.6.16 \f[B]mknod\fR(2) 1.0 \f[B]mknodat\fR(2) 2.6.16 \f[B]mlock\fR(2) 2.0 \f[B]mlock2\fR(2) 4.4 \f[B]mlockall\fR(2) 2.0 \f[B]mmap\fR(2) 1.0 \f[B]mmap2\fR(2) 2.4 \f[B]modify_ldt\fR(2) 1.0 \f[B]mount\fR(2) 1.0 \f[B]move_mount\fR(2) 5.2 \f[B]move_pages\fR(2) 2.6.18 \f[B]mprotect\fR(2) 1.0 \f[B]mq_getsetattr\fR(2) 2.6.6 .\" Implements \f[B]mq_getattr\f[](3) and \f[B]mq_setattr\f[](3) \f[B]mq_notify\fR(2) 2.6.6 \f[B]mq_open\fR(2) 2.6.6 \f[B]mq_timedreceive\fR(2) 2.6.6 \f[B]mq_timedsend\fR(2) 2.6.6 \f[B]mq_unlink\fR(2) 2.6.6 \f[B]mremap\fR(2) 2.0 T{ \fBmsgctl\fP(2) T} 2.0 T{ انظر الملاحظات حول \f[B]ipc\fR(2) T} T{ \fBmsgget\fP(2) T} 2.0 T{ انظر الملاحظات حول \f[B]ipc\fR(2) T} T{ \fBmsgrcv\fP(2) T} 2.0 T{ انظر الملاحظات حول \f[B]ipc\fR(2) T} T{ \fBmsgsnd\fP(2) T} 2.0 T{ انظر الملاحظات حول \f[B]ipc\fR(2) T} \f[B]msync\fR(2) 2.0 .\" \f[B]multiplexer\f[](2) ?? __NR_multiplexer reserved on .\" PowerPC, but unimplemented? \f[B]munlock\fR(2) 2.0 \f[B]munlockall\fR(2) 2.0 \f[B]munmap\fR(2) 1.0 \f[B]name_to_handle_at\fR(2) 2.6.39 \f[B]nanosleep\fR(2) 2.0 .\" 5590ff0d5528b60153c0b4e7b771472b5a95e297 T{ \fBnewfstatat\fP(2) T} 2.6.16 T{ انظر \f[B]stat\fR(2) T} \f[B]nfsservctl\fR(2) 2.2 أُزيل في 3.1 \f[B]nice\fR(2) 1.0 T{ \fBold_adjtimex\fP(2) T} 2.0 T{ لأنظمة Alpha فقط؛ راجع الملاحظات (NOTES) T} T{ \fBold_getrlimit\fP(2) T} 2.4 T{ نسخة قديمة من \f[B]getrlimit\fR(2) استخدمت قيمة مختلفة لـ \f[B]RLIM_INFINITY\fR T} \f[B]oldfstat\fR(2) 1.0 \f[B]oldlstat\fR(2) 1.0 \f[B]oldolduname\fR(2) 1.0 \f[B]oldstat\fR(2) 1.0 T{ \fBoldumount\fP(2) T} 2.4.116 T{ اسم استدعاء نظام \f[B]umount\fR(2) القديم على Alpha T} \f[B]olduname\fR(2) 1.0 \f[B]open\fR(2) 1.0 \f[B]open_by_handle_at\fR(2) 2.6.39 \f[B]open_tree\fR(2) 5.2 \f[B]openat\fR(2) 2.6.16 \f[B]openat2\fR(2) 5.6 .\" 9d02a4283e9ce4e9ca11ff00615bdacdb0515a1a T{ \fBor1k_atomic\fP(2) T} 3.1 T{ لـ OpenRISC 1000 فقط T} \f[B]pause\fR(2) 1.0 \f[B]pciconfig_iobase\fR(2) 2.2.15; 2.4 ليس على x86 .\" Alpha, PowerPC, ARM; not x86 \f[B]pciconfig_read\fR(2) 2.0.26; 2.2 ليس على x86 .\" , PowerPC, ARM; not x86 \f[B]pciconfig_write\fR(2) 2.0.26; 2.2 ليس على x86 .\" , PowerPC, ARM; not x86 T{ \fBperf_event_open\fP(2) T} 2.6.31 T{ كانت perf_counter_open() في 2.6.31؛ أُعيدت تسميتها في 2.6.32 T} \f[B]personality\fR(2) 1.2 T{ \fBperfctr\fP(2) T} 2.2 T{ لـ SPARC فقط؛ أُزيل في 2.6.34 T} .\" commit c7d5a0050773e98d1094eaa9f2a1a793fafac300 removed perfctr() \f[B]perfmonctl\fR(2) 2.4 لـ IA\-64 فقط؛ أُزيل في 5.10 \f[B]pidfd_getfd\fR(2) 5.6 \f[B]pidfd_send_signal\fR(2) 5.1 \f[B]pidfd_open\fR(2) 5.3 \f[B]pipe\fR(2) 1.0 \f[B]pipe2\fR(2) 2.6.27 \f[B]pivot_root\fR(2) 2.4 \f[B]pkey_alloc\fR(2) 4.8 \f[B]pkey_free\fR(2) 4.8 \f[B]pkey_mprotect\fR(2) 4.8 \f[B]poll\fR(2) 2.0.36; 2.2 \f[B]ppoll\fR(2) 2.6.16 \f[B]prctl\fR(2) 2.2 T{ \fBpread64\fP(2) T} T{ أُضيف باسم "pread" في 2.2؛ أُعيدت تسميته "pread64" في 2.6 T} \f[B]preadv\fR(2) 2.6.30 \f[B]preadv2\fR(2) 4.6 \f[B]prlimit64\fR(2) 2.6.36 \f[B]process_madvise\fR(2) 5.10 \f[B]process_vm_readv\fR(2) 3.2 \f[B]process_vm_writev\fR(2) 3.2 \f[B]pselect6\fR(2) 2.6.16 .\" Implements \f[B]pselect\f[](2) \f[B]ptrace\fR(2) 1.0 T{ \fBpwrite64\fP(2) T} T{ أُضيف باسم "pwrite" في 2.2؛ أُعيدت تسميته "pwrite64" في 2.6 T} \f[B]pwritev\fR(2) 2.6.30 \f[B]pwritev2\fR(2) 4.6 \f[B]query_module\fR(2) 2.2 أُزيل في 2.6 \f[B]quotactl\fR(2) 1.0 \f[B]quotactl_fd\fR(2) 5.14 \f[B]read\fR(2) 1.0 \f[B]readahead\fR(2) 2.4.13 \f[B]readdir\fR(2) 1.0 .\" Supersedes \f[B]getdents\f[](2) \f[B]readlink\fR(2) 1.0 \f[B]readlinkat\fR(2) 2.6.16 \f[B]readv\fR(2) 2.0 \f[B]reboot\fR(2) 1.0 T{ \fBrecv\fP(2) T} 2.0 T{ انظر الملاحظات على \f[B]socketcall\fR(2) T} T{ \fBrecvfrom\fP(2) T} 2.0 T{ انظر الملاحظات على \f[B]socketcall\fR(2) T} T{ \fBrecvmsg\fP(2) T} 2.0 T{ انظر الملاحظات على \f[B]socketcall\fR(2) T} \f[B]recvmmsg\fR(2) 2.6.33 T{ \fBremap_file_pages\fP(2) T} 2.6 T{ مهجور منذ 3.16 T} \f[B]removexattr\fR(2) 2.6; 2.4.18 \f[B]rename\fR(2) 1.0 \f[B]renameat\fR(2) 2.6.16 \f[B]renameat2\fR(2) 3.15 \f[B]request_key\fR(2) 2.6.10 \f[B]restart_syscall\fR(2) 2.6 .\" 921ebd8f2c081b3cf6c3b29ef4103eef3ff26054 \f[B]riscv_flush_icache\fR(2) 4.15 لـ RISC\-V فقط \f[B]rmdir\fR(2) 1.0 \f[B]rseq\fR(2) 4.18 \f[B]rt_sigaction\fR(2) 2.2 \f[B]rt_sigpending\fR(2) 2.2 \f[B]rt_sigprocmask\fR(2) 2.2 \f[B]rt_sigqueueinfo\fR(2) 2.2 \f[B]rt_sigreturn\fR(2) 2.2 \f[B]rt_sigsuspend\fR(2) 2.2 \f[B]rt_sigtimedwait\fR(2) 2.2 \f[B]rt_tgsigqueueinfo\fR(2) 2.6.31 T{ \fBrtas\fP(2) T} 2.6.2 T{ لـ PowerPC/PowerPC64 فقط T} \f[B]s390_runtime_instr\fR(2) 3.7 لـ s390 فقط \f[B]s390_pci_mmio_read\fR(2) 3.19 لـ s390 فقط \f[B]s390_pci_mmio_write\fR(2) 3.19 لـ s390 فقط \f[B]s390_sthyi\fR(2) 4.15 لـ s390 فقط \f[B]s390_guarded_storage\fR(2) 4.12 لـ s390 فقط T{ \fBsched_get_affinity\fP(2) T} 2.6 T{ اسم \fB\%sched_getaffinity\fP(2) على SPARC و SPARC64 T} \f[B]sched_get_priority_max\fR(2) 2.0 \f[B]sched_get_priority_min\fR(2) 2.0 \f[B]sched_getaffinity\fR(2) 2.6 \f[B]sched_getattr\fR(2) 3.14 \f[B]sched_getparam\fR(2) 2.0 \f[B]sched_getscheduler\fR(2) 2.0 \f[B]sched_rr_get_interval\fR(2) 2.0 T{ \fBsched_set_affinity\fP(2) T} 2.6 T{ اسم \fB\%sched_setaffinity\fP(2) على SPARC و SPARC64 T} \f[B]sched_setaffinity\fR(2) 2.6 \f[B]sched_setattr\fR(2) 3.14 \f[B]sched_setparam\fR(2) 2.0 \f[B]sched_setscheduler\fR(2) 2.0 \f[B]sched_yield\fR(2) 2.0 \f[B]seccomp\fR(2) 3.17 \f[B]select\fR(2) 1.0 T{ \fBsemctl\fP(2) T} 2.0 T{ انظر الملاحظات حول \f[B]ipc\fR(2) T} T{ \fBsemget\fP(2) T} 2.0 T{ انظر الملاحظات حول \f[B]ipc\fR(2) T} T{ \fBsemop\fP(2) T} 2.0 T{ انظر الملاحظات حول \f[B]ipc\fR(2) T} \f[B]semtimedop\fR(2) 2.6; 2.4.22 T{ \fBsend\fP(2) T} 2.0 T{ انظر الملاحظات على \f[B]socketcall\fR(2) T} \f[B]sendfile\fR(2) 2.2 \f[B]sendfile64\fR(2) 2.6; 2.4.19 \f[B]sendmmsg\fR(2) 3.0 T{ \fBsendmsg\fP(2) T} 2.0 T{ انظر الملاحظات على \f[B]socketcall\fR(2) T} T{ \fBsendto\fP(2) T} 2.0 T{ انظر الملاحظات على \f[B]socketcall\fR(2) T} \f[B]set_mempolicy\fR(2) 2.6.6 \f[B]set_robust_list\fR(2) 2.6.17 \f[B]set_thread_area\fR(2) 2.6 \f[B]set_tid_address\fR(2) 2.6 T{ \fBset_tls\fP(2) T} 2.6.11 T{ لأنظمة ARM OABI/EABI فقط (الثابت له البادئة \f[B]__ARM_NR\fR) T} .\" \f[B]setaltroot\f[](2) 2.6.10 T{ .\" Removed in 2.6.11, exposed one .\" of implementation details of .\" \f[B]personality\f[](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()" \f[B]setdomainname\fR(2) 1.0 \f[B]setfsgid\fR(2) 1.2 \f[B]setfsgid32\fR(2) 2.4 \f[B]setfsuid\fR(2) 1.2 \f[B]setfsuid32\fR(2) 2.4 \f[B]setgid\fR(2) 1.0 \f[B]setgid32\fR(2) 2.4 \f[B]setgroups\fR(2) 1.0 \f[B]setgroups32\fR(2) 2.4 .\" arch/alpha/include/asm/core_lca.h T{ \fBsethae\fP(2) T} 2.0 T{ لأنظمة Alpha فقط؛ راجع الملاحظات (NOTES) T} \f[B]sethostname\fR(2) 1.0 \f[B]setitimer\fR(2) 1.0 \f[B]setns\fR(2) 3.0 \f[B]setpgid\fR(2) 1.0 T{ \fBsetpgrp\fP(2) T} 2.0 T{ اسم بديل لـ \fBsetpgid\fP(2) على Alpha T} \f[B]setpriority\fR(2) 1.0 \f[B]setregid\fR(2) 1.0 \f[B]setregid32\fR(2) 2.4 \f[B]setresgid\fR(2) 2.2 \f[B]setresgid32\fR(2) 2.4 \f[B]setresuid\fR(2) 2.2 \f[B]setresuid32\fR(2) 2.4 \f[B]setreuid\fR(2) 1.0 \f[B]setreuid32\fR(2) 2.4 \f[B]setrlimit\fR(2) 1.0 \f[B]setsid\fR(2) 1.0 T{ \fBsetsockopt\fP(2) T} 2.0 T{ انظر الملاحظات على \f[B]socketcall\fR(2) T} \f[B]settimeofday\fR(2) 1.0 \f[B]setuid\fR(2) 1.0 \f[B]setuid32\fR(2) 2.4 \f[B]setup\fR(2) 1.0 أُزيل في 2.2 \f[B]setxattr\fR(2) 2.6; 2.4.18 \f[B]sgetmask\fR(2) 1.0 T{ \fBshmat\fP(2) T} 2.0 T{ انظر الملاحظات حول \f[B]ipc\fR(2) T} T{ \fBshmctl\fP(2) T} 2.0 T{ انظر الملاحظات حول \f[B]ipc\fR(2) T} T{ \fBshmdt\fP(2) T} 2.0 T{ انظر الملاحظات حول \f[B]ipc\fR(2) T} T{ \fBshmget\fP(2) T} 2.0 T{ انظر الملاحظات حول \f[B]ipc\fR(2) T} T{ \fBshutdown\fP(2) T} 2.0 T{ انظر الملاحظات على \f[B]socketcall\fR(2) T} \f[B]sigaction\fR(2) 1.0 \f[B]sigaltstack\fR(2) 2.2 \f[B]signal\fR(2) 1.0 \f[B]signalfd\fR(2) 2.6.22 \f[B]signalfd4\fR(2) 2.6.27 \f[B]sigpending\fR(2) 1.0 \f[B]sigprocmask\fR(2) 1.0 \f[B]sigreturn\fR(2) 1.0 \f[B]sigsuspend\fR(2) 1.0 T{ \fBsocket\fP(2) T} 2.0 T{ انظر الملاحظات على \f[B]socketcall\fR(2) T} \f[B]socketcall\fR(2) 1.0 .\" Implements BSD socket calls T{ \fBsocketpair\fP(2) T} 2.0 T{ انظر الملاحظات على \f[B]socketcall\fR(2) T} .\" 5a0015d62668e64c8b6e02e360fbbea121bfd5e6 \f[B]spill\fR(2) 2.6.13 لأنظمة Xtensa فقط \f[B]splice\fR(2) 2.6.17 T{ \fBspu_create\fP(2) T} 2.6.16 T{ لـ PowerPC/PowerPC64 فقط T} T{ \fBspu_run\fP(2) T} 2.6.16 T{ لـ PowerPC/PowerPC64 فقط T} \f[B]ssetmask\fR(2) 1.0 \f[B]stat\fR(2) 1.0 \f[B]stat64\fR(2) 2.4 \f[B]statfs\fR(2) 1.0 \f[B]statfs64\fR(2) 2.6 \f[B]statx\fR(2) 4.11 \f[B]stime\fR(2) 1.0 T{ \fBsubpage_prot\fP(2) T} 2.6.25 T{ لـ PowerPC/PowerPC64 فقط T} T{ \fBswapcontext\fP(2) T} 2.6.3 T{ لـ PowerPC/PowerPC64 فقط T} .\" 529d235a0e190ded1d21ccc80a73e625ebcad09b \f[B]switch_endian\fR(2) 4.1 لأنظمة PowerPC64 فقط \f[B]swapoff\fR(2) 1.0 \f[B]swapon\fR(2) 1.0 \f[B]symlink\fR(2) 1.0 \f[B]symlinkat\fR(2) 2.6.16 \f[B]sync\fR(2) 1.0 \f[B]sync_file_range\fR(2) 2.6.17 \f[B]sync_file_range2\fR(2) 2.6.22 .\" PowerPC, ARM, tile .\" First appeared on ARM, as arm_sync_file_range(), but later renamed .\" \f[B]sys_debug_setcontext\f[](2) ??? PowerPC if CONFIG_PPC32 \f[B]syncfs\fR(2) 2.6.39 \f[B]sys_debug_setcontext\fR(2) 2.6.11 لـ PowerPC فقط T{ \fBsyscall\fP(2) T} 1.0 T{ لا يزال متوفراً على ARM OABI و MIPS O32 ABI T} \f[B]sysfs\fR(2) 1.2 \f[B]sysinfo\fR(2) 1.0 \f[B]syslog\fR(2) 1.0 .\" glibc interface is \f[B]klogctl\f[](3) \f[B]sysmips\fR(2) 2.6.0 لأنظمة MIPS فقط \f[B]tee\fR(2) 2.6.17 \f[B]tgkill\fR(2) 2.6 \f[B]time\fR(2) 1.0 \f[B]timer_create\fR(2) 2.6 \f[B]timer_delete\fR(2) 2.6 \f[B]timer_getoverrun\fR(2) 2.6 \f[B]timer_gettime\fR(2) 2.6 \f[B]timer_settime\fR(2) 2.6 .\" .\" b215e283992899650c4271e7385c79e26fb9a88e .\" .\" 4d672e7ac79b5ec5cdc90e450823441e20464691 .\" \f[B]timerfd\f[](2) 2.6.22 T{ .\" Old timerfd interface, .\" removed in 2.6.25 .\" T} \f[B]timerfd_create\fR(2) 2.6.25 \f[B]timerfd_gettime\fR(2) 2.6.25 \f[B]timerfd_settime\fR(2) 2.6.25 \f[B]times\fR(2) 1.0 \f[B]tkill\fR(2) 2.6; 2.4.22 \f[B]truncate\fR(2) 1.0 \f[B]truncate64\fR(2) 2.4 \f[B]ugetrlimit\fR(2) 2.4 \f[B]umask\fR(2) 1.0 \f[B]umount\fR(2) 1.0 .\" sys_oldumount() -- __NR_umount \f[B]umount2\fR(2) 2.2 .\" sys_umount() -- __NR_umount2 \f[B]uname\fR(2) 1.0 \f[B]unlink\fR(2) 1.0 \f[B]unlinkat\fR(2) 2.6.16 \f[B]unshare\fR(2) 2.6.16 \f[B]uselib\fR(2) 1.0 \f[B]ustat\fR(2) 1.0 \f[B]userfaultfd\fR(2) 4.3 \f[B]usr26\fR(2) 2.4.8.1 واجهة ARM OABI فقط \f[B]usr32\fR(2) 2.4.8.1 واجهة ARM OABI فقط \f[B]utime\fR(2) 1.0 \f[B]utimensat\fR(2) 2.6.22 \f[B]utimes\fR(2) 2.2 \f[B]utrap_install\fR(2) 2.2 لأنظمة SPARC64 فقط .\" FIXME . document utrap_install() .\" There's a man page for Solaris 5.11 \f[B]vfork\fR(2) 2.2 \f[B]vhangup\fR(2) 1.0 T{ \fBvm86old\fP(2) T} 1.0 T{ كانت "vm86"؛ أُعيدت تسميتها في 2.0.28/2.2 T} \f[B]vm86\fR(2) 2.0.28؛ 2.2 \f[B]vmsplice\fR(2) 2.6.17 \f[B]wait4\fR(2) 1.0 \f[B]waitid\fR(2) 2.6.10 \f[B]waitpid\fR(2) 1.0 \f[B]write\fR(2) 1.0 \f[B]writev\fR(2) 2.0 .\" 5a0015d62668e64c8b6e02e360fbbea121bfd5e6 \f[B]xtensa\fR(2) 2.6.13 لأنظمة Xtensa فقط .TE .P تُجمع كل استدعاءات المقابس (socket calls) في العديد من المنصات، بما في ذلك x86\-32، (عبر دوال تغليف glibc) من خلال \fBsocketcall\fP(2) وبالمثل تُجمع استدعاءات System\ V IPC من خلال \fBipc\fP(2). .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 على الرغم من حجز خانات لها في جدول استدعاءات النظام، إلا أن استدعاءات النظام التالية غير مُنفّذة في النواة القياسية: \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)، و\fBvserver\fP(2) (انظر أيضًا \fBunimplemented\fP(2)). ومع ذلك، توجد \fBftime\fP(3)، و\fBprofil\fP(3)، و\fBulimit\fP(3) كروتينات مكتبية. الخانة المخصصة لـ \fBphys\fP(2) مستخدمة منذ لينكس 2.1.116 لـ \fBumount\fP(2)؛ ولن تُنفذ \fBphys\fP(2) أبدًا. استدعاءات \fBgetpmsg\fP(2) و\fBputpmsg\fP(2) مخصصة للنوى المرقعة لدعم STREAMS، وقد لا توجد أبدًا في النواة القياسية. .P .\" وُجد لفترة وجيزة \fBset_zone_reclaim\fP(2)، الذي أُضيف في لينكس 2.6.13، وحُذف في لينكس 2.6.16؛ لم يكن استدعاء النظام هذا متاحًا أبدًا لمساحة المستخدم. .SS "استدعاءات النظام في المنافذ المحذوفة" وُجدت بعض استدعاءات النظام فقط في معماريات لينكس التي حُذفت منذ ذلك الحين من النواة: .TP Blackfin (حُذف المنفذ في لينكس 4.17) .RS .PD 0 .IP \[bu] 3 \fBbfin_spinlock\fP(2) (أُضيف في لينكس 2.6.22) .IP \[bu] \fBdma_memcpy\fP(2) (أُضيف في لينكس 2.6.22) .IP \[bu] \fBsram_alloc\fP(2) (أُضيف في لينكس 2.6.22) .IP \[bu] \fBsram_free\fP(2) (أُضيف في لينكس 2.6.22) .PD .RE .TP Metag (حُذف المنفذ في لينكس 4.17) .RS .PD 0 .IP \[bu] 3 \fBmetag_get_tls\fP(2) (أُضيف في لينكس 3.9) .IP \[bu] \fBmetag_set_fpu_flags\fP(2) (أُضيف في لينكس 3.9) .IP \[bu] \fBmetag_set_tls\fP(2) (أُضيف في لينكس 3.9) .IP \[bu] \fBmetag_setglobalbit\fP(2) (أُضيف في لينكس 3.9) .PD .RE .TP Tile (حُذف المنفذ في لينكس 4.17) .RS .PD 0 .IP \[bu] 3 \fBcmpxchg_badaddr\fP(2) (أُضيف في لينكس 2.6.36) .PD .RE .SH ملاحظات بشكل عام، يمكن العثور على الكود التابع لاستدعاء النظام ذي الرقم __NR_xxx المُعرّف في \fI/usr/include/asm/unistd.h\fP في مصدر نواة لينكس في الروتين \fIsys_xxx\fP(). ومع ذلك، هناك العديد من الاستثناءات، ويرجع ذلك في الغالب إلى استبدال استدعاءات النظام القديمة بأخرى أحدث، وقد عولج هذا الأمر بشكل غير منهجي إلى حد ما. في المنصات التي تحتوي على محاكاة لأنظمة تشغيل مملوكة، مثل sparc وsparc64 وalpha، هناك العديد من استدعاءات النظام الإضافية؛ وتحتوي mips64 أيضًا على مجموعة كاملة من استدعاءات النظام ذات 32 بت. .P بمرور الوقت، أصبحت التغييرات في واجهات بعض استدعاءات النظام ضرورية. وكان أحد أسباب هذه التغييرات هو الحاجة إلى زيادة حجم الهياكل أو القيم السلمية الممررة إلى استدعاء النظام. وبسبب هذه التغييرات، تمتلك بعض المعماريات (لاسيما المعماريات القديمة ذات 32 بت مثل i386) الآن مجموعات متنوعة من استدعاءات النظام ذات الصلة (مثل \fBtruncate\fP(2) و\fBtruncate64\fP(2)) التي تؤدي مهامًا مماثلة، ولكنها تختلف في التفاصيل مثل حجم وسائطها. (كما ذُكر سابقًا، لا تدرك التطبيقات ذلك عمومًا: تقوم دوال تغليف glibc ببعض العمل للتأكد من استدعاء استدعاء النظام الصحيح، والحفاظ على توافق ABI للبرمجيات الثنائية القديمة). وفيما يلي أمثلة على استدعاءات النظام التي توجد في إصدارات متعددة: .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 توجد الآن ثلاثة إصدارات مختلفة من \fBstat\fP(2): \fIsys_stat\fP() (الخانة \fI__NR_oldstat\fP)، و\fIsys_newstat\fP() (الخانة \fI__NR_stat\fP)، و\fIsys_stat64\fP() (الخانة \fI__NR_stat64\fP)، والأخير هو الأحدث. وينطبق أمر مماثل على \fBlstat\fP(2) و\fBfstat\fP(2). .IP \[bu] وبالمثل، تشير التعريفات \fI__NR_oldolduname\fP و\fI__NR_olduname\fP و\fI__NR_uname\fP إلى الروتينات \fIsys_olduname\fP() و\fIsys_uname\fP() و\fIsys_newuname\fP(). .IP \[bu] في لينكس 2.0، ظهر إصدار جديد من \fBvm86\fP(2)، وسُمي روتينا النواة القديم والجديد باسم \fIsys_vm86old\fP() و\fIsys_vm86\fP(). .IP \[bu] في لينكس 2.4، ظهر إصدار جديد من \fBgetrlimit\fP(2)، وسُمي روتينا النواة القديم والجديد باسم \fIsys_old_getrlimit\fP() (الخانة \fI__NR_getrlimit\fP) و\fIsys_getrlimit\fP() (الخانة \fI__NR_ugetrlimit\fP). .IP \[bu] .\" 64-bit off_t changes: ftruncate64, *stat64, .\" fcntl64 (because of the flock structure), getdents64, *statfs64 زاد لينكس 2.4 حجم معرفات المستخدمين والمجموعات من 16 إلى 32 بت. ولدعم هذا التغيير، أُضيفت مجموعة من استدعاءات النظام (مثل \fBchown32\fP(2) و\fBgetuid32\fP(2) و\fBgetgroups32\fP(2) و\fBsetresuid32\fP(2))، لتحل محل الاستدعاءات السابقة التي تحمل الاسم نفسه بدون اللاحقة "32". .IP \[bu] أضاف لينكس 2.4 دعمًا للتطبيقات في معماريات 32 بت للوصول إلى الملفات الكبيرة (أي الملفات التي لا يمكن تمثيل أحجامها وإزاحاتها بـ 32 بت). ولدعم هذا التغيير، كانت هناك حاجة إلى بدائل لاستدعاءات النظام التي تتعامل مع إزاحات الملفات وأحجامها. وبناءً على ذلك، أُضيفت استدعاءات النظام التالية: \fBfcntl64\fP(2) و\fBgetdents64\fP(2) و\fBstat64\fP(2) و\fBstatfs64\fP(2) و\fBtruncate64\fP(2)، وأشباهها التي تعمل مع واصفات الملفات أو الروابط الرمزية. تحل استدعاءات النظام هذه محل استدعاءات النظام الأقدم التي تحمل نفس الاسم بدون اللاحقة "64"، باستثناء حالة استدعاءات "stat". .IP في المنصات الأحدث التي لا تدعم سوى الوصول إلى الملفات بـ 64 بت ومعرفات UID/GID بـ 32 بت (مثل alpha وia64 وs390x وx86\-64)، توجد نسخة واحدة فقط من استدعاءات نظام UID/GID والوصول إلى الملفات. وفي المنصات (عادةً منصات 32 بت) التي توجد بها استدعاءات *64 و*32، تُعد الإصدارات الأخرى مهجورة. .IP \[bu] أُضيفت استدعاءات \fIrt_sig*\fP في لينكس 2.2 لدعم إضافة إشارات الوقت الحقيقي (انظر \fBsignal\fP(7)). تحل استدعاءات النظام هذه محل استدعاءات النظام الأقدم التي تحمل الاسم نفسه بدون البادئة "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. .\" .\" تستخدم استدعاءات النظام \fBselect\fP(2) و\fBmmap\fP(2) خمسة وسائط أو أكثر، مما تسبب في مشاكل في الطريقة التي كان يتم بها إعداد تمرير الوسائط في i386. وبالتالي، بينما تمتلك المعماريات الأخرى \fIsys_select\fP() و\fIsys_mmap\fP() المقابلة لـ \fI__NR_select\fP و\fI__NR_mmap\fP، نجد في i386 عوضًا عن ذلك \fIold_select\fP() و\fIold_mmap\fP() (وهي روتينات تستخدم مؤشرًا إلى كتلة وسائط). في هذه الأيام، لم يعد تمرير خمسة وسائط يمثل مشكلة، وهناك \fI__NR__newselect\fP الذي يقابل مباشرة \fIsys_select\fP() وبالمثل \fI__NR_mmap2\fP. وتعد s390x هي المعمارية الوحيدة ذات 64 بت التي تمتلك \fIold_mmap\fP(). .SS "تفاصيل خاصة بالمعمارية: Alpha" .TP \fBgetxgid\fP(2) يُرجع زوجًا من GID وGID الفعال عبر السجلين \fBr0\fP و\fBr20\fP؛ وهو مُوفر بدلًا من \fBgetgid\fP(2) و\fBgetegid\fP(2). .TP \fBgetxpid\fP(2) يُرجع زوجًا من PID وPID الأب عبر السجلين \fBr0\fP و\fBr20\fP؛ وهو مُوفر بدلًا من \fBgetpid\fP(2) و\fBgetppid\fP(2). .TP \fBold_adjtimex\fP(2) هو بديل لـ \fBadjtimex\fP(2) يستخدم \fIstruct\ timeval32\fP، من أجل التوافق مع OSF/1. .TP \fBgetxuid\fP(2) يُرجع زوجًا من UID وUID الفعال عبر السجلين \fBr0\fP و\fBr20\fP؛ وهو مُوفر بدلًا من \fBgetuid\fP(2) و\fBgeteuid\fP(2). .TP \fBsethae\fP(2) يُستخدم لضبط سجل ملحق عنوان المضيف (Host Address Extension) في أجهزة Alpha منخفضة التكلفة من أجل الوصول إلى مساحة العنوان التي تتجاوز أول 27 بت. .SH "انظر أيضًا" \fBintro\fP(2)، و\fBsyscall\fP(2)، و\fBunimplemented\fP(2)، و\fBerrno\fP(3)، و\fBlibc\fP(7)، و\fBvdso\fP(7)، و\fBausyscall\fP(8) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .