.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2017, David Howells .\" Copyright 1992, Drew Eckhardt .\" Copyright 1995, Nicolai Langfeldt .\" Copyright 2006-2014, 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 statx 2 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم statx \- جلب حالة الملف (موسع) .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#define _GNU_SOURCE \fP/* انظر feature_test_macros(7) */ \fB#include \fP/* تعريف ثوابت \fBAT_*\fP */ \fB#include \fP .P \fBint statx(int \fP\fIdirfd\fP\fB, const char *_Nullable restrict \fP\fIpath\fP\fB,\fP \fB int \fP\fIflags\fP\fB, unsigned int \fP\fImask\fP\fB,\fP \fB struct statx *restrict \fP\fIstatxbuf\fP\fB);\fP .fi .SH الوصف تُعيد هذه الدالة معلومات حول ملف ما، وتخزنها في المخزن المؤقت الذي يشير إليه \fIstatxbuf\fP. المخزن المؤقت المُعاد هو هيكل من النوع التالي: .P .in +4n .EX struct statx { __u32 stx_mask; /* قناع بتات يشير إلى الحقول المملوءة */ __u32 stx_blksize; /* حجم الكتلة لمدخلات ومخرجات نظام الملفات */ __u64 stx_attributes; /* مؤشرات سمات الملف الإضافية */ __u32 stx_nlink; /* عدد الوصلات الصلبة */ __u32 stx_uid; /* معرف مستخدم المالك */ __u32 stx_gid; /* معرف مجموعة المالك */ __u16 stx_mode; /* نوع الملف ووضعه */ __u64 stx_ino; /* رقم الفهرس (Inode) */ __u64 stx_size; /* الحجم الإجمالي بالبايت */ __u64 stx_blocks; /* عدد الكتل المخصصة بحجم 512B */ __u64 stx_attributes_mask; /* قناع لإظهار المدعوم في stx_attributes */ \& /* الحقول التالية هي طوابع زمنية للملف */ struct statx_timestamp stx_atime; /* آخر وصول */ struct statx_timestamp stx_btime; /* وقت الإنشاء */ struct statx_timestamp stx_ctime; /* آخر تغيير للحالة */ struct statx_timestamp stx_mtime; /* آخر تعديل */ \& /* إذا كان هذا الملف يمثل جهازاً، فإن الحقلين التاليين يحتويان على معرف الجهاز */ __u32 stx_rdev_major; /* المعرف الرئيس */ __u32 stx_rdev_minor; /* المعرف الثانوي */ \& /* الحقلان التاليان يحتويان على معرف الجهاز الذي يحتوي على نظام الملفات حيث يوجد الملف */ __u32 stx_dev_major; /* المعرف الرئيس */ __u32 stx_dev_minor; /* المعرف الثانوي */ \& __u64 stx_mnt_id; /* معرف الوصل */ \& /* قيود محاذاة الدخل/الخرج المباشر */ __u32 stx_dio_mem_align; __u32 stx_dio_offset_align; \& __u64 stx_subvol; /* معرف المجلد الفرعي */ \& /* حدود الكتابة الذرية للدخل/الخرج المباشر */ __u32 stx_atomic_write_unit_min; __u32 stx_atomic_write_unit_max; __u32 stx_atomic_write_segments_max; \& /* محاذاة إزاحة الملف لقراءات الدخل/الخرج المباشر */ __u32 stx_dio_read_offset_align; \& /* الحد الأقصى الأمثل لوحدة الكتابة الذرية للدخل/الخرج المباشر */ __u32 stx_atomic_write_unit_max_opt; }; .EE .in .P الطوابع الزمنية للملف هي هياكل من النوع التالي: .P .in +4n .EX struct statx_timestamp { __s64 tv_sec; /* الثواني منذ العصر (توقيت يونكس) */ __u32 tv_nsec; /* النانو ثانية منذ tv_sec */ }; .EE .in .P (لاحظ أن المساحة المحجوزة والحشو قد حُذفا.) .SS "استدعاء statx():" للوصول إلى حالة ملف ما، لا يلزم وجود أذونات على الملف نفسه، ولكن في حالة \fBstatx\fP() مع مسار، يُشترط إذن التنفيذ (البحث) على جميع الأدلة في \fIpath\fP التي تؤدي إلى الملف. .P يستخدم \fBstatx\fP() كلاً من \fIpath\fP و \fIdirfd\fP و \fIflags\fP لتحديد الملف الهدف بإحدى الطرق التالية: .TP مسار مطلق إذا بدأ \fIpath\fP بشرطة مائلة، فهو مسار مطلق يحدد الملف الهدف. وفي هذه الحالة، يُتجاهل \fIdirfd\fP. .TP مسار نسبي إذا كان \fIpath\fP سلسلة تبدأ بمحرف غير الشرطة المائلة وكان \fIdirfd\fP هو \fBAT_FDCWD\fP، فإن \fIpath\fP هو مسار نسبي يُفسر بالنسبة لدليل العمل الحالي للعملية. .TP مسار نسبي بالنسبة لدليل إذا كان \fIpath\fP سلسلة تبدأ بمحرف غير الشرطة المائلة وكان \fIdirfd\fP واصف ملف يشير إلى دليل، فإن \fIpath\fP هو مسار نسبي يُفسر بالنسبة للدليل الذي يشير إليه \fIdirfd\fP. (انظر \fBopenat\fP(2) لشرح سبب فائدة ذلك.) .TP بواسطة واصف الملف إذا كان \fIpath\fP سلسلة فارغة (أو NULL منذ لينكس 6.11) وحُددت العلامة \fBAT_EMPTY_PATH\fP في \fIflags\fP (انظر أدناه)، فإن الملف الهدف هو الذي يشير إليه واصف الملف \fIdirfd\fP. .P يمكن استخدام \fIflags\fP للتأثير على البحث المستند إلى المسار. تُبنى قيمة \fIflags\fP عبر إجراء عملية OR لواحد أو أكثر من الثوابت التالية: .TP \fBAT_EMPTY_PATH\fP .\" commit 65cfc6722361570bfe255698d9cd4dccaf47570d إذا كان \fIpath\fP سلسلة فارغة (أو NULL منذ لينكس 6.11)، فسيجري العمل على الملف الذي يشير إليه \fIdirfd\fP (والذي ربما جُلب باستخدام علامة \fBO_PATH\fP في \fBopen\fP(2)). في هذه الحالة، يمكن لـ \fIdirfd\fP أن يشير إلى أي نوع من الملفات، وليس فقط الأدلة. .IP إذا كان \fIdirfd\fP هو \fBAT_FDCWD\fP، فإن الاستدعاء يعمل على دليل العمل الحالي. .TP \fBAT_NO_AUTOMOUNT\fP لا تقم بالوصل الآلي لمكون النهاية ("basename") في \fIpath\fP إذا كان دليلاً يمثل نقطة وصل آلي. يتيح ذلك للمستدعِي جمع سمات نقطة الوصل الآلي (بدلاً من الموقع الذي سيُوصل إليه). ليس لهذه العلامة أي تأثير إذا وُصلت نقطة الوصل بالفعل. .IP يمكن استخدام العلامة \fBAT_NO_AUTOMOUNT\fP في الأدوات التي تفحص الأدلة لمنع الوصل الآلي الجماعي لدليل يحتوي على نقاط وصل آلي. .IP كل من \fBstat\fP(2) و \fBlstat\fP(2) و \fBfstatat\fP(2) تعمل كما لو أن \fBAT_NO_AUTOMOUNT\fP كانت مضبوطة. .TP \fBAT_SYMLINK_NOFOLLOW\fP إذا كان \fIpath\fP وصلة رمزية، فلا تتبعها: بدلاً من ذلك، أعِد معلومات حول الوصلة نفسها، كما يفعل \fBlstat\fP(2). .P يمكن أيضًا استخدام \fIflags\fP للتحكم في نوع المزامنة التي ستقوم بها النواة عند الاستعلام عن ملف في نظام ملفات بعيد. يتم ذلك عن طريق إجراء عملية OR مع إحدى القيم التالية: .TP \fBAT_STATX_SYNC_AS_STAT\fP افعل ما يفعله \fBstat\fP(2). هذا هو الخيار المبدئي وهو خاص جداً بنوع نظام الملفات. .TP \fBAT_STATX_FORCE_SYNC\fP اجبر المزامنة للسمات مع الخادم. قد يتطلب هذا من نظام ملفات الشبكة إجراء إعادة كتابة للبيانات للحصول على طوابع زمنية صحيحة. .TP \fBAT_STATX_DONT_SYNC\fP لا تقم بمزامنة أي شيء، بل خذ فقط ما هو موجود في خبيئة النظام إن أمكن. قد يعني هذا أن المعلومات المعادة تقريبية، ولكن في نظام ملفات الشبكة، قد لا يتطلب الأمر رحلة ذهاب وإياب إلى الخادم \- حتى لو لم تكن هناك إجارة (lease) قائمة. .P تُستخدم المعامل \fImask\fP في الدالة \fBstatx\fP() لإخبار النواة بالحقول التي يهتم بها المستدعِي. \fImask\fP هو مزيج ORed من الثوابت التالية: .P .in +1n .TS lB l. STATX_TYPE طلب stx_mode & S_IFMT STATX_MODE طلب stx_mode & \[ti]S_IFMT STATX_NLINK طلب stx_nlink STATX_UID طلب stx_uid STATX_GID طلب stx_gid STATX_ATIME طلب stx_atime STATX_MTIME طلب stx_mtime STATX_CTIME طلب stx_ctime STATX_INO طلب stx_ino STATX_SIZE طلب stx_size STATX_BLOCKS طلب stx_blocks STATX_BASIC_STATS [كل ما سبق] STATX_BTIME طلب stx_btime STATX_ALL نفس STATX_BASIC_STATS | STATX_BTIME. هذا مهجور ولا ينبغي استخدامه. STATX_MNT_ID طلب stx_mnt_id (منذ لينكس 5.8) STATX_DIOALIGN طلب stx_dio_mem_align و stx_dio_offset_align. (منذ لينكس 6.1؛ يختلف الدعم حسب نظام الملفات) STATX_MNT_ID_UNIQUE طلب stx_mnt_id فريد (منذ لينكس 6.8) STATX_SUBVOL طلب stx_subvol (منذ لينكس 6.10؛ يختلف الدعم حسب نظام الملفات) STATX_WRITE_ATOMIC طلب stx_atomic_write_unit_min، stx_atomic_write_unit_max، stx_atomic_write_segments_max، و stx_atomic_write_unit_max_opt. (منذ لينكس 6.11؛ يختلف الدعم حسب نظام الملفات) STATX_DIO_READ_ALIGN طلب stx_dio_read_offset_align. (منذ لينكس 6.14؛ يختلف الدعم حسب نظام الملفات) .TE .in .P لاحظ أن النواة، بصفة عامة، لا ترفض القيم الموجودة في \fImask\fP بخلاف ما ذُكر أعلاه. (للاطلاع على استثناء، راجع \fBEINVAL\fP في قسم الأخطاء). بدلاً من ذلك، تكتفي النواة بإبلاغ المستدعِي بالقيم التي تدعمها هذه النواة ونظام الملفات عبر الحقل \fIstatx.stx_mask\fP. بناءً على ذلك، لا تضبط \fImask\fP ببساطة على \fBUINT_MAX\fP (تعيين جميع البتات)، فمن المحتمل استخدام بت واحد أو أكثر في المستقبل لتحديد توسعة للمخزن المؤقت. .SS "المعلومات المُعادة" تُعاد معلومات الحالة الخاصة بالملف المستهدف في بنية I التي يشير إليها I. وتتضمن هذه البنية الحقل \fIstx_mask\fP الذي يوضح المعلومات الأخرى التي أُعيدت. يمتلك \fIstx_mask\fP تنسيق المعامل \fImask\fP نفسه، وتُضبط البتات فيه للإشارة إلى الحقول التي مُلئت. .P تجدر الإشارة إلى أن النواة قد تُعيد حقولاً لم تُطلب، وقد تفشل في إعادة حقول طُلبت، اعتماداً على ما يدعمه نظام الملفات الأساسي. (الحقول التي تُعطى قيماً رغم عدم طلبها يمكن تجاهلها ببساطة). في كلتا الحالتين، لن يكون \fIstx_mask\fP مساوياً لـ \fImask\fP. .P إذا كان نظام الملفات لا يدعم حقلاً معيناً أو إذا كانت القيمة غير قابلة للتمثيل (على سبيل المثال، ملف ذو نوع غريب)، فعندئذٍ تُمسح بتة القناع المقابلة لذلك الحقل في \fIstx_mask\fP حتى لو طلبها المستخدم، وتُملأ قيمة صورية لأغراض التوافق إذا كانت متاحة (مثلاً، قد يُحدد معرف مستخدم (UID) ومعرف مجموعة (GID) صوريين عند الوصل في ظروف معينة). .P قد يملأ نظام الملفات أيضًا حقولاً لم يطلبها المستدعِي إذا كانت قيمها متاحة لديه وكانت المعلومات متوفرة بدون تكلفة إضافية. إذا حدث هذا، فستُضبط البتات المقابلة في \fIstx_mask\fP. .P .\" Background: inode attributes are modified with i_mutex held, but .\" read by stat() without taking the mutex. \fIملاحظة\fP: لأسباب تتعلق بالأداء والبساطة، قد تحتوي الحقول المختلفة في هيكل \fIstatx\fP على معلومات حالة من لحظات مختلفة أثناء تنفيذ استدعاء النظام. على سبيل المثال، إذا غُيّر \fIstx_mode\fP أو \fIstx_uid\fP بواسطة عملية أخرى عبر استدعاء \fBchmod\fP(2) أو \fBchown\fP(2)، فقد يُعيد \fBstat\fP() حقل \fIstx_mode\fP القديم مع حقل \fIstx_uid\fP الجديد، أو \fIstx_uid\fP القديم مع \fIstx_mode\fP الجديد. .P بصرف النظر عن \fIstx_mask\fP (الموضح أعلاه)، فإن الحقول في هيكل \fIstatx\fP هي: .TP \fIstx_blksize\fP حجم الكتلة "المفضل" لعمليات الإدخال والإخراج الفعالة في نظام الملفات. (قد تؤدي الكتابة إلى ملف بقطع أصغر إلى عملية قراءة\-تعديل\-كتابة غير فعالة.) .TP \fIstx_attributes\fP معلومات حالة إضافية حول الملف (انظر أدناه لمزيد من المعلومات). .TP \fIstx_nlink\fP عدد الروابط الصلبة على الملف. .TP \fIstx_uid\fP يحتوي هذا الحقل على معرف المستخدم لمالك الملف. .TP \fIstx_gid\fP يحتوي هذا الحقل على معرف المجموعة المالكة للملف. .TP \fIstx_mode\fP نوع الملف ووضعياته. انظر \fBinode\fP(7) للتفاصيل. .TP \fIstx_ino\fP رقم الآينود (inode) للملف. .TP \fIstx_size\fP حجم الملف (إذا كان ملفاً عادياً أو رابطاً رمزياً) بالبايت. حجم الرابط الرمزي هو طول اسم المسار الذي يحتويه، بدون بايت فارغ (null) في نهايته. .TP \fIstx_blocks\fP عدد الكتل المخصصة للملف على الوسيط، بوحدات 512 بايت. (قد يكون هذا أقل من \fIstx_size\fP/512 عندما يحتوي الملف على فجوات.) .TP \fIstx_attributes_mask\fP قناع يشير إلى البتات في \fIstx_attributes\fP التي يدعمها نظام الملفات الافتراضي (VFS) ونظام الملفات. .TP \fIstx_atime\fP طابع وقت آخر وصول للملف. .TP \fIstx_btime\fP طابع وقت إنشاء الملف. .TP \fIstx_ctime\fP طابع وقت آخر تغيير لحالة الملف. .TP \fIstx_mtime\fP طابع وقت آخر تعديل للملف. .TP \fIstx_dev_major\fP .TQ \fIstx_dev_minor\fP الجهاز الذي يقع عليه هذا الملف (الآينود). .TP \fIstx_rdev_major\fP .TQ \fIstx_rdev_minor\fP الجهاز الذي يمثله هذا الملف (الآينود) إذا كان الملف من نوع جهاز كتلي أو جهاز محرفي. .TP \fIstx_mnt_id\fP .\" commit fa2fcf4f1df1559a0a4ee0f46915b496cc2ebf60 عند استخدام STATX_MNT_ID، هذا هو معرف الوصل (mount ID) لعملية الوصل التي تحتوي على الملف. هذا هو نفس الرقم الذي يُبلغ عنه بواسطة \fBname_to_handle_at\fP(2) ويقابل الرقم الموجود في الحقل الأول في أحد السجلات في \fI/proc/self/mountinfo\fP. .IP عند استخدام STATX_MNT_ID_UNIQUE، هذا هو معرف الوصل الفريد لعملية الوصل التي تحتوي على الملف. هذا هو الرقم الذي يُبلغ عنه بواسطة \fBlistmount\fP(2) وهو المعرف المستخدم للاستعلام عن عملية الوصل باستخدام \fBstatmount\fP(2)\fB.\fP ويُضمن عدم إعادة استخدامه أثناء تشغيل النظام. .TP \fIstx_dio_mem_align\fP المحاذاة (بالبايت) المطلوبة لذاكرة المستعمل لعمليات الإدخال والإخراج المباشرة (\fBO_DIRECT\fP) على هذا الملف، أو 0 إذا كان الإدخال والإخراج المباشر غير مدعوم على هذا الملف. .IP \fBSTATX_DIOALIGN\fP (أي \fIstx_dio_mem_align\fP و \fIstx_dio_offset_align\fP) مدعوم على الأجهزة الكتلية منذ لينكس 6.1. ويختلف الدعم على الملفات العادية حسب نظام الملفات؛ فهو مدعوم في ext4 و f2fs و xfs منذ لينكس 6.1. .TP \fIstx_dio_offset_align\fP المحاذاة (بالبايت) المطلوبة لإزاحات الملف وأطوال قطع الإدخال والإخراج لعمليات الإدخال والإخراج المباشرة (\fBO_DIRECT\fP) على هذا الملف، أو 0 إذا لم يكن الإدخال والإخراج المباشر مدعوماً. لن تكون هذه القيمة غير صفرية إلا إذا كانت \fIstx_dio_mem_align\fP غير صفرية، والعكس صحيح. .TP \fIstx_dio_read_offset_align\fP المحاذاة (بالبايت) المطلوبة لإزاحات الملف وأطوال قطع الإدخال والإخراج لعمليات قراءة الإدخال والإخراج المباشر (\fBO_DIRECT\fP) على هذا الملف. إذا كانت صفراً، فإن الحد في \fIstx_dio_offset_align\fP ينطبق على القراءات أيضًا. إذا لم تكن صفراً، يجب أن تكون هذه القيمة أصغر من أو تساوي \fIstx_dio_offset_align\fP التي يجب أن يوفرها نظام الملفات إذا طلبها التطبيق. لا تتأثر محاذاة الذاكرة في \fIstx_dio_mem_align\fP بهذه القيمة. .IP \fBSTATX_DIO_READ_ALIGN\fP (أي \fIstx_dio_offset_align\fP) مدعوم بواسطة xfs على الملفات العادية منذ لينكس 6.14. .TP \fIstx_subvol\fP رقم الجزء الفرعي (subvolume) للملف الحالي. .IP الأجزاء الفرعية هي أدلة متطورة، أي أنها تشكل هيكلاً شجرياً يمكن تصفحه بشكل تعاودي. يختلف الدعم حسب نظام الملفات؛ فهو مدعوم في bcachefs و btrfs منذ لينكس 6.10. .TP \fIstx_atomic_write_unit_min\fP .TQ \fIstx_atomic_write_unit_max\fP الأحجام الدنيا والقصوى (بالبايت) المدعومة للإدخال والإخراج المباشر (\fBO_DIRECT\fP) على الملف لتتم كتابته مع حماية من الكتابة المبتورة (torn\-write protection). ويُضمن أن تكون كل قيمة من هذه القيم هي أس للرقم 2. .IP \fBSTATX_WRITE_ATOMIC\fP (أي \fIstx_atomic_write_unit_min\fP و \fIstx_atomic_write_unit_max\fP و \fIstx_atomic_write_segments_max\fP) مدعوم على الأجهزة الكتلية منذ لينكس 6.11. ويختلف الدعم على الملفات العادية حسب نظام الملفات؛ فهو مدعوم في xfs و ext4 منذ لينكس 6.13. .TP \fIstx_atomic_write_unit_max_opt\fP الحجم الأقصى (بالبايت) المحسن للكتابات الصادرة مع حماية الكتابة المبتورة. إذا لم تكن صفراً، فلن تتجاوز هذه القيمة القيمة الموجودة في \fIstx_atomic_write_unit_max\fP ولن تقل عن القيمة في \fIstx_atomic_write_unit_min\fP. وتشير القيمة صفر إلى أن \fIstx_atomic_write_unit_max\fP هي الحد المحسن. قد تلاحظ كتابات أبطأ عندما يتجاوز حجم الكتابة \fIstx_atomic_write_unit_max_opt\fP (عندما لا تكون صفراً). .TP \fIstx_atomic_write_segments_max\fP العدد الأقصى للعناصر في مصفوفة من المتجهات لكتابة مفعل فيها حماية الكتابة المبتورة. انظر راية \fBRWF_ATOMIC\fP لـ \fBpwritev2\fP(2). .P .\" لمزيد من المعلومات حول الحقول المذكورة أعلاه، انظر \fBinode\fP(7). .SS "سمات الملف" يحتوي الحقل \fIstx_attributes\fP على مجموعة من الرايات المدمجة بمعامل OR والتي تشير إلى سمات إضافية للملف. لاحظ أن أي سمة لم يُشر إلى دعمها بواسطة \fIstx_attributes_mask\fP ليس لها قيمة قابلة للاستخدام هنا. تقابل البتات في \fIstx_attributes_mask\fP البتات في \fIstx_attributes\fP بت بـ بت. .P الرايات هي كما يلي: .TP \fBSTATX_ATTR_COMPRESSED\fP الملف مضغوط بواسطة نظام الملفات وقد يتطلب موارد إضافية للوصول إليه. .TP \fBSTATX_ATTR_IMMUTABLE\fP لا يمكن تعديل الملف: لا يمكن حذفه أو إعادة تسميته، ولا يمكن إنشاء روابط صلبة له ولا يمكن كتابة أي بيانات فيه. انظر \fBchattr\fP(1). .TP \fBSTATX_ATTR_APPEND\fP لا يمكن فتح الملف إلا في وضع الإلحاق للكتابة. الكتابة عبر الوصول العشوائي غير مسموح بها. انظر \fBchattr\fP(1). .TP \fBSTATX_ATTR_NODUMP\fP الملف ليس مرشحاً للنسخ الاحتياطي عند تشغيل برنامج نسخ احتياطي مثل \fBdump\fP(8). انظر \fBchattr\fP(1). .TP \fBSTATX_ATTR_ENCRYPTED\fP يتطلب الأمر مفتاحاً ليعمّي نظام الملفات هذا الملف. .TP \fBSTATX_ATTR_VERITY\fP (منذ لينكس 5.5) .\" commit 3ad2522c64cff1f5aebb987b00683268f0cc7c29 الملف مفعّل فيه خاصية fs\-verity. لا يمكن الكتابة إليه، وستُحقّق جميع عمليات القراءة منه مقابل هاش تعمية يغطي الملف بأكمله (على سبيل المثال، عبر شجرة ميركل Merkle tree). .TP \fBSTATX_ATTR_WRITE_ATOMIC\fP (منذ لينكس 6.11) يدعم الملف الحماية من الكتابة المبتورة. .TP \fBSTATX_ATTR_DAX\fP (منذ لينكس 5.8) الملف في حالة DAX (وصول وحدة المعالجة المركزية المباشر). تحاول حالة DAX تقليل تأثيرات الخبيئة البرمجية لكل من عمليات الإدخال والإخراج وخرائط الذاكرة لهذا الملف. ويتطلب هذا نظام ملفات ضُبط ليدعم DAX. .IP تفترض DAX عموماً أن جميع عمليات الوصول تتم عبر تعليمات تحميل/تخزين وحدة المعالجة المركزية، مما يقلل العبء في الوصول الصغير، لكنه قد يؤثر سلباً على استهلاك المعالج في عمليات النقل الكبيرة. .IP يُجرى الإدخال والإخراج للملف مباشرة من وإلى دارات مساحة المستعمل، ويمكن إجراء إدخال وإخراج الذاكرة المخططة (memory mapped I/O) بخرائط ذاكرة مباشرة تتجاوز خبيئة صفحات النواة. .IP بينما تميل خاصية DAX إلى نقل البيانات بشكل متزامن، إلا أنها لا تعطي نفس ضمانات راية \fBO_SYNC\fP (انظر \fBopen\fP(2))، حيث تُنقل البيانات والبيانات الواصفة (metadata) الضرورية معاً. .IP قد يدعم ملف DAX أن يُخطط باستخدام راية \fBMAP_SYNC\fP، مما يمكّن البرنامج من استخدام تعليمات تفريغ خبيئة المعالج لتثبيت عمليات تخزين المعالج بدون \fBfsync\fP(2) صريح. انظر \fBmmap\fP(2) لمزيد من المعلومات. .TP \fBSTATX_ATTR_MOUNT_ROOT\fP (منذ لينكس 5.8) .\" commit 80340fe3605c0e78cfe496c3b3878be828cfdbfe الملف هو جذر عملية الوصل. .SH "قيمة الإرجاع" عند النجاح، يُعاد الصفر. وعند حدوث خطأ، يُعاد الرقم \-1، ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEACCES\fP رُفض إذن البحث لأحد الأدلة في بادئة مسار \fIpath\fP. (انظر أيضًا \fBpath_resolution\fP(7).) .TP \fBEBADF\fP المسار \fIpath\fP نسبي ولكن \fIdirfd\fP ليس \fBAT_FDCWD\fP ولا واصف ملف صالح. .TP \fBEFAULT\fP يشير \fIpath\fP أو \fIstatxbuf\fP إلى موقع خارج مساحة العناوين التي يمكن للعملية الوصول إليها أو هو NULL (باستثناء ما بعد لينكس 6.11 إذا حُددت \fBAT_EMPTY_PATH\fP في \fIflags\fP، حيث يُسمح لـ \fIpath\fP بأن يكون NULL). .TP \fBEINVAL\fP راية غير صالحة محددة في \fIflags\fP. .TP \fBEINVAL\fP راية محجوزة محددة في \fImask.\fP (حالياً، توجد راية واحدة من هذا النوع، يشار إليها بالثابت \fBSTATX__RESERVED\fP، بقيمة 0x80000000U.) .TP \fBELOOP\fP وُجدت روابط رمزية كثيرة جداً أثناء تتبع اسم المسار. .TP \fBENAMETOOLONG\fP المسار \fIpath\fP طويل جداً. .TP \fBENOENT\fP أحد مكونات \fIpath\fP غير موجود، أو \fIpath\fP عبارة عن سلسلة نصية فارغة ولم يُحدد \fBAT_EMPTY_PATH\fP في \fIflags\fP. .TP \fBENOMEM\fP نفاد الذاكرة (أي ذاكرة نواة الحاسوب). .TP \fBENOTDIR\fP أحد مكونات بادئة مسار \fIpath\fP ليس دليلًا أو \fIpath\fP مسار نسبي و \fIdirfd\fP واصف ملف يشير إلى ملف آخر غير الدليل. .SH المعايير لينكس. .SH التاريخ لينكس 4.11، glibc 2.28. .SH "انظر أيضًا" \fBls\fP(1)، \fBstat\fP(1)، \fBaccess\fP(2)، \fBchmod\fP(2)، \fBchown\fP(2)، \fBname_to_handle_at\fP(2)، \fBreadlink\fP(2)، \fBstat\fP(2)، \fButime\fP(2)، \fBproc\fP(5)، \fBcapabilities\fP(7)، \fBinode\fP(7)، \fBsymlink\fP(7) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .