.\" -*- coding: UTF-8 -*- .\" 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 fanotify_mark 2 "6 أكتوبر 2025" "صفحات دليل لينكس 6.18" .SH الاسم fanotify_mark \- إضافة علامة fanotify على كائن نظام ملفات، أو إزالتها، أو تعديلها .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBint fanotify_mark(int \fP\fIfanotify_fd\fP\fB, unsigned int \fP\fIflags\fP\fB,\fP \fB uint64_t \fP\fImask\fP\fB, int \fP\fIdirfd\fP\fB,\fP \fB const char *_Nullable \fP\fIpath\fP\fB);\fP .fi .SH الوصف للحصول على نظرة عامة حول واجهة برمجة تطبيقات fanotify، راجع \fBfanotify\fP(7). .P تضيف \fBfanotify_mark\fP() علامة fanotify على كائن نظام ملفات، أو تزيلها، أو تعدلها. يجب أن يمتلك \fIالمستدعِي\fP إذن القراءة على كائن نظام الملفات المراد وسمه. .P المعطى \fIfanotify_fd\fP هو واصف ملف أعادته الدالة \fBfanotify_init\fP(2). .P \fIflags\fP هو قناع بتات يصف التعديل المراد تنفيذه. يجب أن يتضمن قيمة واحدة بالضبط من القيم التالية: .TP \fBFAN_MARK_ADD\fP ستُضاف الأحداث في \fImask\fP إلى قناع العلامة (أو إلى قناع التجاهل). يجب ألا يكون \fImask\fP فارغًا وإلا سيحدث الخطأ \fBEINVAL\fP. .TP \fBFAN_MARK_REMOVE\fP ستُزال الأحداث في المعطى \fImask\fP من قناع العلامة (أو من قناع التجاهل). يجب ألا يكون \fImask\fP فارغًا وإلا سيحدث الخطأ \fBEINVAL\fP. .TP \fBFAN_MARK_FLUSH\fP إزالة إما كافة علامات أنظمة الملفات، أو كافة علامات نقاط الوصل، أو كافة علامات الأدلة والملفات من مجموعة fanotify. إذا احتوى \fIflags\fP على \fBFAN_MARK_MOUNT\fP، فستُزال كافة علامات نقاط الوصل من المجموعة. وإذا احتوى \fIflags\fP على \fBFAN_MARK_FILESYSTEM\fP، فستُزال كافة علامات أنظمة الملفات من المجموعة. خلاف ذلك، تُزال كافة علامات الأدلة والملفات. لا يمكن استخدام أي علم آخر مع \fBFAN_MARK_FLUSH\fP سوى واحد على الأكثر من الأعلام \fBFAN_MARK_MNTNS\fP أو \fBFAN_MARK_MOUNT\fP أو \fBFAN_MARK_FILESYSTEM\fP. يُتجاهل \fImask\fP. .P إذا لم تُحدد أي من القيم أعلاه، أو حُدد أكثر من واحدة، سيفشل الاستدعاء بالخطأ \fBEINVAL\fP. .P بالإضافة إلى ذلك، يمكن دمج صفر أو أكثر من القيم التالية مع \fIflags\fP باستخدام العملية المنطقية OR: .TP \fBFAN_MARK_DONT_FOLLOW\fP إذا كان \fIpath\fP وصلة رمزية، فستوسم الوصلة نفسها بدلاً من الملف الذي تشير إليه. (بشكل مبدئي، تتبع \fBfanotify_mark\fP() الوصلة \fIpath\fP إذا كانت وصلة رمزية). .TP \fBFAN_MARK_ONLYDIR\fP إذا لم يكن كائن نظام الملفات المراد وسمه دليلاً، فسيُرفع الخطأ \fBENOTDIR\fP. .TP \fBFAN_MARK_MNTNS\fP (منذ لينكس 6.14) .\" commit 0f46d81f2bce970b1c562aa3c944a271bbec2729 وسم مساحة اسم الوصل المحددة بواسطة \fIpath\fP. إذا كان \fIpath\fP لا يمثل مساحة اسم وصل (مثلاً \fI/proc/\fPpid\fI/ns/mnt\fP)، سيفشل الاستدعاء بالخطأ \fBEINVAL\fP. يتطلب ذلك مجموعة fanotify هُيئت بالعلم \fBFAN_REPORT_MNT\fP. .TP \fBFAN_MARK_MOUNT\fP وسم الوصلة المحددة بواسطة \fIpath\fP. إذا لم يكن \fIpath\fP نقطة وصل بحد ذاته، فستُوسم الوصلة التي تحتوي على \fIpath\fP. ستُراقب جميع الأدلة، والأدلة الفرعية، والملفات الموجودة في الوصلة. لا يمكن تقديم الأحداث التي تتطلب تعريف كائنات نظام الملفات بواسطة مقابض الملفات، مثل \fBFAN_CREATE\fP و \fBFAN_ATTRIB\fP و \fBFAN_MOVE\fP و \fBFAN_DELETE_SELF\fP، كقناع \fImask_\fP عندما تحتوي \fIflags\fP على \fBFAN_MARK_MOUNT\fP. ستؤدي محاولة القيام بذلك إلى إرجاع الخطأ \fBEINVAL\fP. يتطلب استخدام هذه الراية قدرة \fBCAP_SYS_ADMIN\fP. .TP \fBFAN_MARK_FILESYSTEM\fP (منذ لينكس 4.20) .\" commit d54f4fba889b205e9cd8239182ca5d27d0ac3bc2 وسم نظام الملفات المحدد بواسطة \fIpath\fP. سيُوسم نظام الملفات الذي يحتوي على \fIpath\fP. ستُراقب كافة الملفات والأدلة الموجودة في نظام الملفات من أي نقطة وصل. يتطلب استخدام هذا العلم صلاحية \fBCAP_SYS_ADMIN\fP. .TP \fBFAN_MARK_IGNORED_MASK\fP .\" commit 497b0c5a7c0688c1b100a9c2e267337f677c198e ستُضاف الأحداث في \fImask\fP إلى قناع التجاهل أو تُزال منه.لاحظ أن العلمين \fBFAN_ONDIR\fP و \fBFAN_EVENT_ON_CHILD\fP ليس لهما أي تأثير عند تقديمهما مع هذا العلم. إن تأثير ضبط العلمين \fBFAN_ONDIR\fP و \fBFAN_EVENT_ON_CHILD\fP في قناع العلامة على الأحداث المضبوطة في قناع التجاهل غير محدد ويعتمد على إصدار نواة لينكس.تحديداً، قبل لينكس 5.9، لم يكن ضبط قناع علامة على ملف وعلامة بقناع تجاهل على دليله الأب يؤدي إلى تجاهل الأحداث على الملف، بغض النظر عن علم \fBFAN_EVENT_ON_CHILD\fP في قناع علامة الدليل الأب. وعند تحديث قناع التجاهل بالعلم \fBFAN_MARK_IGNORED_MASK\fP على علامة حُدثت سابقاً بالعلم \fBFAN_MARK_IGNORE\fP، يفشل التحديث بالخطأ B. .TP \fBFAN_MARK_IGNORE\fP (منذ لينكس 6.0، 5.15.154، و 5.10.220) .\" commit e252f2ed1c8c6c3884ab5dd34e003ed21f1fe6e0 لهذا العلم تأثير مشابه لضبط العلم \fBFAN_MARK_IGNORED_MASK\fP. ستُضاف الأحداث في I إلى \fIقناع\fP التجاهل أو تُزال منه. وعلى عكس العلم \fBFAN_MARK_IGNORED_MASK\fP، فإن هذا العلم يجعل العلمين \fBFAN_ONDIR\fP و \fBFAN_EVENT_ON_CHILD\fP يسريان على قناع التجاهل. تحديداً، ما لم يُضبط العلم \fBFAN_ONDIR\fP مع \fBFAN_MARK_IGNORE\fP، فلن تُتجاهل الأحداث على الأدلة. وإذا ضُبط العلم \fBFAN_EVENT_ON_CHILD\fP مع \fBFAN_MARK_IGNORE\fP، فستُتجاهل الأحداث على الأبناء. على سبيل المثال، علامة على دليل بمزيج من قناع به حدث \fBFAN_CREATE\fP وعلم \fBFAN_ONDIR\fP وقناع تجاهل به حدث \fBFAN_CREATE\fP وبدون علم \fBFAN_ONDIR\fP، ستؤدي إلى الحصول فقط على أحداث إنشاء الأدلة الفرعية. عند استخدام العلم \fBFAN_MARK_IGNORE\fP للإضافة إلى قناع تجاهل لوصل أو نظام ملفات أو علامة inode لدليل، يجب تحديد العلم \fBFAN_MARK_IGNORED_SURV_MODIFY\fP. سيؤدي الفشل في القيام بذلك إلى الخطأ \fBEINVAL\fP أو \fBEISDIR\fP. .TP \fBFAN_MARK_IGNORED_SURV_MODIFY\fP يجب أن يبقى قناع التجاهل بعد أحداث التعديل. إذا لم يُضبط هذا العلم، سيُمسح قناع التجاهل عند وقوع حدث تعديل على الكائن الموشوم. يُستخدم حذف هذا العلم عادةً لكبح الأحداث (مثل \fBFAN_OPEN\fP) لملف معين حتى يُعدل محتوى ذلك الملف. من غير المفيد كبح الأحداث على نظام ملفات كامل أو وصل أو كافة الملفات داخل دليل حتى يُعدل محتوى ملف ما؛ ولهذا السبب، يتطلب العلم \fBFAN_MARK_IGNORE\fP وجود العلم \fBFAN_MARK_IGNORED_SURV_MODIFY\fP على علامات الوصل أو أنظمة الملفات أو علامات inode للأدلة. لا يمكن إزالة هذا العلم من العلامة بمجرد ضبطه. وعند تحديث قناع التجاهل بدون هذا العلم على علامة حُدثت سابقاً بالأعلام \fBFAN_MARK_IGNORE\fP و \fBFAN_MARK_IGNORED_SURV_MODIFY\fP، سيفشل التحديث بالخطأ \fBEEXIST\fP. .TP \fBFAN_MARK_IGNORE_SURV\fP هذا مرادف لـ (\fBFAN_MARK_IGNORE\fP|\fBFAN_MARK_IGNORED_SURV_MODIFY\fP). .TP \fBFAN_MARK_EVICTABLE\fP (منذ لينكس 5.19، 5.15.154، و 5.10.220) .\" commit 5f9d3bd520261fd7a850818c71809fd580e0f30c عند إنشاء علامة inode بهذا العلم، لن يُثبّت كائن inode في خبيئة الـ inode، مما يسمح بطرد كائن inode من الخبيئة عندما يكون ضغط الذاكرة على النظام مرتفعاً. يؤدي طرد كائن inode إلى فقدان العلامة القابلة للطرد أيضًا. وعند تحديث قناع علامة inode قابلة للطرد دون استخدام العلم \fBFAN_MARK_EVICTABLE\fP، يُثبّت الـ inode الموشوم في خبيئة الـ inode وتصبح العلامة غير قابلة للطرد. وعند تحديث قناع علامة inode غير قابلة للطرد بالعلم \fBFAN_MARK_EVICTABLE\fP، تظل العلامة غير قابلة للطرد ويفشل التحديث بالخطأ \fBEEXIST\fP. الوصلات وأنظمة الملفات ليست كائنات قابلة للطرد، لذا فإن محاولة إنشاء علامة وصل أو نظام ملفات بالعلم \fBFAN_MARK_EVICTABLE\fP ستؤدي إلى الخطأ \fBEINVAL\fP. على سبيل المثال، يمكن استخدام علامات inode بالاشتراك مع علامات الوصل لتقليل كمية الأحداث من المسارات غير المهمة؛ يقرأ مستمع الأحداث الحدث، ويتحقق مما إذا كان المسار المذكور فيه مهماً، وإذا لم يكن كذلك، يضع المستمع علامة بقناع تجاهل على الدليل. تسمح علامات inode القابلة للطرد باستخدام هذه الطريقة لعدد كبير من الأدلة دون القلق من تثبيت كافة الـ inodes واستنفاد ذاكرة النظام. .P يحدد \fImask\fP الأحداث التي يجب الاستماع إليها (أو التي يجب تجاهلها). وهو قناع بتات يتكون من القيم التالية: .TP \fBFAN_ACCESS\fP إنشاء حدث عند الوصول إلى ملف أو دليل (قراءة) (لكن انظر BUGS). .TP \fBFAN_MODIFY\fP إنشاء حدث عند تعديل ملف (كتابة). .TP \fBFAN_CLOSE_WRITE\fP إنشاء حدث عند إغلاق ملف قابل للكتابة. .TP \fBFAN_CLOSE_NOWRITE\fP إنشاء حدث عند إغلاق ملف أو دليل للقراءة فقط. .TP \fBFAN_OPEN\fP إنشاء حدث عند فتح ملف أو دليل. .TP \fBFAN_OPEN_EXEC\fP (منذ لينكس 5.0) .\" commit 9b076f1c0f4869b838a1b7aa0edb5664d47ec8aa إنشاء حدث عند فتح ملف بقصد تنفيذه. انظر NOTES لمزيد من التفاصيل. .TP \fBFAN_ATTRIB\fP (منذ لينكس 5.1) .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2 إنشاء حدث عند تغير البيانات الوصفية لملف أو دليل. يتطلب ذلك مجموعة fanotify تميز كائنات نظام الملفات عبر مقابض الملفات. .TP \fBFAN_CREATE\fP (منذ لينكس 5.1) .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2 إنشاء حدث عند إنشاء ملف أو دليل في دليل أب موشوم. يتطلب ذلك مجموعة fanotify تميز كائنات نظام الملفات عبر مقابض الملفات. .TP \fBFAN_DELETE\fP (منذ لينكس 5.1) .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2 إنشاء حدث عند حذف ملف أو دليل في دليل أب موشوم. يتطلب ذلك مجموعة fanotify تميز كائنات نظام الملفات عبر مقابض الملفات. .TP \fBFAN_DELETE_SELF\fP (منذ لينكس 5.1) .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2 إنشاء حدث عند حذف ملف أو دليل موشوم نفسه. يتطلب ذلك مجموعة fanotify تميز كائنات نظام الملفات عبر مقابض الملفات. .TP \fBFAN_MOVED_FROM\fP (منذ لينكس 5.1) .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2 إنشاء حدث عند نقل ملف أو دليل من دليل أب موشوم. يتطلب ذلك مجموعة fanotify تميز كائنات نظام الملفات عبر مقابض الملفات. .TP \fBFAN_MOVED_TO\fP (منذ لينكس 5.1) .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2 إنشاء حدث عند نقل ملف أو دليل إلى دليل أب موشوم. يتطلب ذلك مجموعة fanotify تميز كائنات نظام الملفات عبر مقابض الملفات. .TP \fBFAN_RENAME\fP (منذ لينكس 5.17، 5.15.154، و 5.10.220) .\" commit 8cc3b1ccd930fe6971e1527f0c4f1bdc8cb56026 يحتوي هذا الحدث على نفس المعلومات التي يوفرها الحدثان \fBFAN_MOVED_FROM\fP و \fBFAN_MOVED_TO\fP، ومع ذلك فإنه يُمثَّل بحدث واحد يحتوي على سجلين من المعلومات كحد أقصى. يتطلب ذلك مجموعة fanotify تميز كائنات نظام الملفات عبر مقابض الملفات. وإذا لم يكن كائن نظام الملفات المراد وسمه دليلاً، فسيُرفع الخطأ \fBENOTDIR\fP. .TP \fBFAN_MOVE_SELF\fP (منذ لينكس 5.1) .\" commit 235328d1fa4251c6dcb32351219bb553a58838d2 إنشاء حدث عند نقل ملف أو دليل موشوم نفسه. يتطلب ذلك مجموعة fanotify تميز كائنات نظام الملفات عبر مقابض الملفات. .TP \fBFAN_MNT_ATTACH\fP .TQ \fBFAN_MNT_DETACH\fP (كلاهما منذ لينكس 6.14) .\" commit 0f46d81f2bce970b1c562aa3c944a271bbec2729 إنشاء حدث عند وصل نقطة وصل أو فصلها من مساحة اسم وصل موشومة، على التوالي. ستؤدي محاولة ضبط هذا العلم على علامة inode أو وصل أو نظام ملفات إلى الخطأ \fBEINVAL\fP. يتطلب ذلك مجموعة fanotify هُيئت بالعلم \fBFAN_REPORT_MNT\fP وعلم العلامة \fBFAN_MARK_MNTNS\fP. يُعاد سجل معلومات إضافي من النوع \fBFAN_EVENT_INFO_TYPE_MNT\fP مع الحدث. انظر \fBfanotify\fP(7) لمزيد من التفاصيل. .TP \fBFAN_FS_ERROR\fP (منذ لينكس 5.16، 5.15.154، و 5.10.220) .\" commit 9709bd548f11a092d124698118013f66e1740f9b إنشاء حدث عند اكتشاف خطأ في نظام الملفات يؤدي إلى عدم اتساق بياناته الوصفية. يُعاد سجل معلومات إضافي من النوع \fBFAN_EVENT_INFO_TYPE_ERROR\fP لكل حدث في دارئ القراءة. يتطلب ذلك مجموعة fanotify تميز كائنات نظام الملفات عبر مقابض الملفات. تعتمد الأحداث من هذا النوع على دعم نظام الملفات الأساسي. في وقت الكتابة، نظام الملفات \fBext4\fP هو الوحيد الذي يبلغ عن أحداث \fBFAN_FS_ERROR\fP. انظر \fBfanotify\fP(7) لمزيد من التفاصيل. .TP \fBFAN_OPEN_PERM\fP إنشاء حدث عند طلب إذن لفتح ملف أو دليل. يتطلب ذلك واصف ملف fanotify أُنشئ باستخدام \fBFAN_CLASS_PRE_CONTENT\fP أو \fBFAN_CLASS_CONTENT\fP. .TP \fBFAN_OPEN_EXEC_PERM\fP (منذ لينكس 5.0) .\" commit 66917a3130f218dcef9eeab4fd11a71cd00cd7c9 إنشاء حدث عند طلب إذن لفتح ملف للتنفيذ. يتطلب ذلك واصف ملف fanotify أُنشئ باستخدام \fBFAN_CLASS_PRE_CONTENT\fP أو \fBFAN_CLASS_CONTENT\fP. انظر NOTES لمزيد من التفاصيل. .TP \fBFAN_ACCESS_PERM\fP إنشاء حدث عند طلب إذن لقراءة ملف أو دليل. يتطلب ذلك واصف ملف fanotify أُنشئ باستخدام \fBFAN_CLASS_PRE_CONTENT\fP أو \fBFAN_CLASS_CONTENT\fP. .TP \fBFAN_PRE_ACCESS\fP (منذ لينكس 6.14) .\" commit 4f8afa33817a6420398d1c177c6e220a05081f51 إنشاء حدث قبل الوصول للقراءة أو الكتابة إلى نطاق من الملف، مما يتيح لمستمع الأحداث فرصة لتعديل محتوى الملف قبل الوصول إلى المحتوى في النطاق المحدد. يُعاد سجل معلومات إضافي من النوع \fBFAN_EVENT_INFO_TYPE_RANGE\fP لكل حدث في دارئ القراءة. يتطلب ذلك واصف ملف fanotify أُنشئ باستخدام \fBFAN_CLASS_PRE_CONTENT\fP. .TP \fBFAN_ONDIR\fP إنشاء أحداث للأدلة\[em]على سبيل المثال، عند استدعاء \fBopendir\fP(3) و \fBreaddir\fP(3) (لكن انظر BUGS) و \fBclosedir\fP(3). بدون هذا العلم، تُنشأ الأحداث للملفات فقط. في سياق أحداث إدخالات الأدلة، مثل \fBFAN_CREATE\fP و \fBFAN_DELETE\fP و \fBFAN_MOVED_FROM\fP و \fBFAN_MOVED_TO\fP، يُشترط تحديد العلم \fBFAN_ONDIR\fP لإنشاء أحداث عند تعديل إدخالات الأدلة الفرعية (أي \fBmkdir\fP(2) أو \fBrmdir\fP(2)). .TP \fBFAN_EVENT_ON_CHILD\fP يجب إنشاء أحداث للأبناء المباشرين للأدلة الموشومة. ليس لهذا العلم تأثير عند وسم الوصلات وأنظمة الملفات. لاحظ أن الأحداث لا تُولّد لأبناء الأدلة الفرعية للأدلة الموشومة. وبشكل أكثر تحديداً، لا تُولّد أحداث تعديل إدخالات الأدلة \fBFAN_CREATE\fP و \fBFAN_DELETE\fP و \fBFAN_MOVED_FROM\fP و \fBFAN_MOVED_TO\fP لأي تعديلات تُجرى داخل الأدلة الفرعية للأدلة الموشومة. لاحظ أن الحدثين \fBFAN_DELETE_SELF\fP و \fBFAN_MOVE_SELF\fP لا يُولّدان لأبناء الأدلة الموشومة. ولمراقبة أشجار الأدلة الكاملة، من الضروري وسم الوصل أو نظام الملفات ذي الصلة. .P تُعرَّف القيم المركبة التالية: .TP \fBFAN_CLOSE\fP أُغلق ملف (\fBFAN_CLOSE_WRITE\fP|\fBFAN_CLOSE_NOWRITE\fP). .TP \fBFAN_MOVE\fP نُقل ملف أو دليل (\fBFAN_MOVED_FROM\fP|\fBFAN_MOVED_TO\fP). .P يُحدد كائن نظام الملفات المراد وسمه بواسطة واصف الملف \fIdirfd\fP واسم المسار المحدد في \fIpath\fP: .IP \[bu] 3 إذا كان \fIpath\fP هو NULL، فإن \fIdirfd\fP يحدد كائن نظام الملفات المراد وسمه. .IP \[bu] إذا كان \fIpath\fP هو NULL، واتخذ \fIdirfd\fP القيمة الخاصة \fBAT_FDCWD\fP، فسيُوسم دليل العمل الحالي. .IP \[bu] إذا كان \fIpath\fP مساراً مطلقاً، فإنه يحدد كائن نظام الملفات المراد وسمه، ويُتجاهل \fIdirfd\fP. .IP \[bu] إذا كان المسار \fIpath\fP نسبيًا، ولم تكن قيمة \fIdirfd\fP هي \fBAT_FDCWD\fP، فإن كائن نظام الملفات المراد وسمه يُحدد عبر تفسير \fIpath\fP بالنسبة إلى الدليل الذي يشير إليه \fIdirfd\fP. .IP \[bu] إذا كان المسار \fIpath\fP نسبيًا، وكانت قيمة \fIdirfd\fP هي \fBAT_FDCWD\fP، فإن كائن نظام الملفات المراد وسمه يُحدد عبر تفسير \fIpath\fP بالنسبة إلى دليل العمل الحالي. (انظر \fBopenat\fP(2) لشرح حول سبب فائدة المعطى \fIdirfd\fP.) .SH "قيمة الإرجاع" عند النجاح، تعيد \fBfanotify_mark\fP() القيمة 0. وعند حدوث خطأ، تُعاد \-1، ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEBADF\fP مُرر واصف ملف غير صالح في \fIfanotify_fd\fP. .TP \fBEBADF\fP المسار \fIpath\fP نسبي ولكن \fIdirfd\fP ليس \fBAT_FDCWD\fP ولا واصف ملف صالح. .TP \fBEEXIST\fP كائن نظام الملفات المشار إليه بواسطة \fIdirfd\fP و \fIpath\fP لديه علامة حُدّثت بدون الراية \fBFAN_MARK_EVICTABLE\fP، وحاول المستخدم تحديث العلامة باستخدام الراية \fBFAN_MARK_EVICTABLE\fP. .TP \fBEEXIST\fP كائن نظام الملفات المشار إليه بواسطة \fIdirfd\fP و \fIpath\fP لديه علامة حُدّثت باستخدام الراية \fBFAN_MARK_IGNORE\fP، وحاول المستخدم تحديث العلامة باستخدام الراية \fBFAN_MARK_IGNORED_MASK\fP. .TP \fBEEXIST\fP كائن نظام الملفات المشار إليه بواسطة \fIdirfd\fP و \fIpath\fP لديه علامة حُدّثت باستخدام الرايتين \fBFAN_MARK_IGNORE\fP و \fBFAN_MARK_IGNORED_SURV_MODIFY\fP، وحاول المستخدم تحديث العلامة باستخدام الراية \fBFAN_MARK_IGNORE\fP فقط. .TP \fBEINVAL\fP مُررت قيمة غير صالحة في \fIflags\fP أو \fImask\fP، أو لم يكن \fIfanotify_fd\fP واصف ملف fanotify. .TP \fBEINVAL\fP فُتح واصف ملف fanotify باستخدام \fBFAN_CLASS_NOTIF\fP أو أن مجموعة fanotify تُعرف كائنات نظام الملفات عبر مقابض الملفات والقناع يحتوي على راية لأحداث الأذونات (\fBFAN_OPEN_PERM\fP أو \fBFAN_ACCESS_PERM\fP). .TP \fBEINVAL\fP هُيئت المجموعة بدون \fBFAN_REPORT_FID\fP ولكن نوع حدث واحد أو أكثر محدد في \fImask\fP يتطلب ذلك. .TP \fBEINVAL\fP تحتوي \fIflags\fP على \fBFAN_MARK_IGNORE\fP، وإما \fBFAN_MARK_MOUNT\fP أو \fBFAN_MARK_FILESYSTEM\fP، ولكنها لا تحتوي على \fBFAN_MARK_IGNORED_SURV_MODIFY\fP. .TP \fBEISDIR\fP تحتوي \fIflags\fP على \fBFAN_MARK_IGNORE\fP، ولكنها لا تحتوي على \fBFAN_MARK_IGNORED_SURV_MODIFY\fP، ويحدد \fIdirfd\fP و \fIpath\fP دليلاً. .TP \fBENODEV\fP .\" commit 30ad1938326bf9303ca38090339d948975a626f5 كائن نظام الملفات المشار إليه بواسطة \fIdirfd\fP و \fIpath\fP مرتبط بنظام ملفات يبلغ عن \fIfsid\fP صفري (مثلاً \fBfuse\fP(4)). يمكن إرجاع هذا الخطأ فقط مع مجموعة fanotify التي تُعرف كائنات نظام الملفات عبر مقابض الملفات. منذ لينكس 6.8، يمكن إرجاع هذا الخطأ عند محاولة إضافة علامة وصل أو نظام ملفات. .TP \fBENOENT\fP كائن نظام الملفات المشار إليه بواسطة \fIdirfd\fP و \fIpath\fP غير موجود. يحدث هذا الخطأ أيضًا عند محاولة إزالة علامة من كائن غير موسوم. .TP \fBENOMEM\fP تعذر تخصيص الذاكرة اللازمة. .TP \fBENOSPC\fP تجاوز عدد العلامات لهذا المستخدم الحد المسموح به ولم تُحدد الراية \fBFAN_UNLIMITED_MARKS\fP عند إنشاء واصف ملف fanotify باستخدام \fBfanotify_init\fP(2). انظر \fBfanotify\fP(7) لتفاصيل حول هذا الحد. .TP \fBENOSYS\fP هذه النواة لا تُنفذ \fBfanotify_mark\fP(). واجهة fanotify البرمجية متاحة فقط إذا ضُبطت النواة باستخدام \fBCONFIG_FANOTIFY\fP. .TP \fBENOTDIR\fP تحتوي \fIflags\fP على \fBFAN_MARK_ONLYDIR\fP، ولا يحدد \fIdirfd\fP و \fIpath\fP دليلاً. .TP \fBENOTDIR\fP تحتوي \fImask_\fP على \fBFAN_RENAME\fP، ولا يحدد \fIdirfd\fP و \fIpath\fP دليلاً. .TP \fBENOTDIR\fP تحتوي \fIflags\fP على \fBFAN_MARK_IGNORE\fP، أو هُيئت مجموعة fanotify بالراية \fBFAN_REPORT_TARGET_FID\fP، وتحتوي \fImask_\fP على أحداث تعديل مدخلات الدليل (مثل \fBFAN_CREATE\fP، \fBFAN_DELETE\fP)، أو رايات أحداث الدليل (مثل \fBFAN_ONDIR\fP، \fBFAN_EVENT_ON_CHILD\fP)، ولا يحدد \fIdirfd\fP و \fIpath\fP دليلاً. .TP \fBEOPNOTSUPP\fP .\" commit 96b2b072ee62be8ae68c8ecf14854c4d0505a8f8 الكائن المشار إليه بواسطة \fIpath\fP مرتبط بنظام ملفات لا يدعم ترميز مقابض الملفات. يمكن إرجاع هذا الخطأ فقط مع مجموعة fanotify التي تُعرف كائنات نظام الملفات عبر مقابض الملفات. يمكن استخدام استدعاء \fBname_to_handle_at\fP(2) مع الراية \fBAT_HANDLE_FID\fP (منذ لينكس 6.5) كاختبار للتحقق مما إذا كان نظام الملفات يدعم الإبلاغ عن الأحداث بمقابض الملفات. .TP \fBEPERM\fP العملية غير مسموح بها لأن المستدعِي يفتقر إلى قدرة مطلوبة. .TP \fBEXDEV\fP .\" commit 30ad1938326bf9303ca38090339d948975a626f5 .\" commit 30ad1938326bf9303ca38090339d948975a626f5 كائن نظام الملفات المشار إليه بواسطة \fIpath\fP يقع ضمن وحدة فرعية لنظام ملفات (مثلاً \fBbtrfs\fP(5)) تستخدم \fIfsid\fP مختلفًا عن كتلة السوبر الجذرية الخاصة بها. يمكن إرجاع هذا الخطأ فقط مع مجموعة fanotify التي تُعرف كائنات نظام الملفات عبر مقابض الملفات. منذ لينكس 6.8، سيُعاد هذا الخطأ عند محاولة إضافة علامة وصل أو نظام ملفات على وحدة فرعية، أو عند محاولة إضافة علامات inode في وحدات فرعية مختلفة، أو عند محاولة إضافة علامات inode في وحدة فرعية \fBbtrfs\fP(5) وفي نظام ملفات آخر. منذ لينكس 6.8، سيُعاد هذا الخطأ أيضًا عند محاولة إضافة علامات في أنظمة ملفات مختلفة، حيث يبلغ أحد أنظمة الملفات عن \fIfsid\fP صفري (مثلاً \fBfuse\fP(4)). .SH المعايير لينكس. .SH التاريخ .\" was introduced in Linux 2.6.36 and enabled in Linux 2.6.37. لينكس 2.6.37. .SH ملاحظات .SS "FAN_OPEN_EXEC و FAN_OPEN_EXEC_PERM" عند استخدام إما \fBFAN_OPEN_EXEC\fP أو \fBFAN_OPEN_EXEC_PERM\fP ضمن \fImask_\fP، ستُعاد أحداث من هذه الأنواع فقط عند حدوث تنفيذ مباشر لبرنامج. وبشكل أكثر تحديدًا، يعني هذا أن أحداثًا من هذه الأنواع ستُولد للملفات التي تُفتح باستخدام \fBexecve\fP(2) أو \fBexecveat\fP(2) أو \fBuselib\fP(2). لن تُرفع أحداث من هذه الأنواع في الحالة التي يُمرر فيها ملف إلى مفسر (أو يقرأه المفسر) للتفسير. .P بالإضافة إلى ذلك، إذا وُضعت علامة أيضًا على الرابط الديناميكي للينكس، فيجب أن يتوقع المستخدم أيضًا تلقي حدث له عندما يُفتح كائن ELF بنجاح باستخدام \fBexecve\fP(2) أو \fBexecveat\fP(2). .P على سبيل المثال، إذا استُدعي ملف ELF الثنائي التالي ووُضعت علامة \fBFAN_OPEN_EXEC\fP على /: .P .in +4n .EX $ /bin/echo foo .EE .in .P سيتلقى التطبيق المستمع في هذه الحالة أحداث \fBFAN_OPEN_EXEC\fP لكل من ملف ELF الثنائي والمفسر، على التوالي: .P .in +4n .EX /bin/echo /lib64/ld\-linux\-x86\-64.so.2 .EE .in .SH العلل كانت العلل التالية موجودة قبل لينكس 3.16: .IP \[bu] 3 .\" Fixed by commit 0a8dd2db579f7a0ac7033d6b857c3d5dbaa77563 إذا احتوت \fIflags\fP على \fBFAN_MARK_FLUSH\fP، فيجب أن يحدد \fIdirfd\fP و \fIpath\fP كائن نظام ملفات صالحًا، على الرغم من أن هذا الكائن لا يُستخدم. .IP \[bu] .\" Fixed by commit d4c7cf6cffb1bc711a833b5e304ba5bcfe76398b لا يولد \fBreaddir\fP(2) حدث \fBFAN_ACCESS\fP. .IP \[bu] .\" Fixed by commit cc299a98eb13a9853675a9cbb90b30b4011e1406 إذا استُدعي \fBfanotify_mark\fP() باستخدام \fBFAN_MARK_FLUSH\fP، فلا يُتحقق من \fIflags\fP بحثًا عن قيم غير صالحة. .SH "انظر أيضًا" \fBfanotify_init\fP(2), \fBfanotify\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 .