| inotify_add_watch(2) | System Calls Manual | inotify_add_watch(2) |
الاسم¶
inotify_add_watch - إضافة مراقبة إلى نسخة inotify مهيأة
المكتبة¶
مكتبة سي المعيارية (libc، -lc)
موجز¶
#include <sys/inotify.h>
int inotify_add_watch(int fd, const char *path, uint32_t mask);
الوصف¶
تضيف inotify_add_watch() مراقبة جديدة، أو تعدل مراقبة موجودة، للملف الذي يحدد موقعه في path؛ يجب أن يكون لدى المستدعي صلاحية قراءة لهذا الملف. الوسيط fd هو واصف ملف يشير إلى نسخة inotify التي سيتم تعديل قائمة مراقبتها. تحدد الأحداث المراد مراقبتها لـ path في وسيط قناع البت mask. انظر inotify(7) لوصف البتات التي يمكن تعيينها في mask.
يعيد استدعاء ناجح لـ inotify_add_watch() واصف مراقبة فريد لنسخة inotify هذه، لكائن نظام الملفات (inode) الذي يتوافق مع path. إذا لم يكن كائن نظام الملفات مراقبًا سابقًا بواسطة نسخة inotify هذه، فإن واصف المراقبة يخصص حديثًا. إذا كان كائن نظام الملفات مراقبًا بالفعل (ربما عبر رابط مختلف لنفس الكائن)، فإن واصف المراقبة الحالية يعاد.
يعاد واصف المراقبة بواسطة استدعاءات read(2) لاحقة من واصف ملف inotify. تجلب هذه القراءات بنى inotify_event (انظر inotify(7)) التي تشير إلى أحداث نظام الملفات؛ يحدد واصف المراقبة داخل هذه البنية الكائن الذي حدث له الحدث.
قيمة الإرجاع¶
عند النجاح، يعيد inotify_add_watch() واصف مراقبة (عدد صحيح غير سالب). عند الخطأ، يعاد -1 ويضبط errno للإشارة إلى الخطأ.
الأخطاء¶
- EACCES
- الوصول للقراءة إلى الملف المعطى غير مسموح به.
- EBADF
- واصف الملف المعطى غير صالح.
- EEXIST
- يحتوي mask على IN_MASK_CREATE ويشير path إلى ملف مراقب بالفعل بواسطة نفس fd.
- EFAULT
- يشير path إلى خارج مساحة العنوان القابلة للوصول للعملية.
- EINVAL
- لا يحتوي قناع الحدث المعطى على أحداث صالحة؛ أو يحتوي mask على كل من IN_MASK_ADD و IN_MASK_CREATE؛ أو fd ليس واصف ملف inotify.
- ENAMETOOLONG
- المسار path طويل جداً.
- ENOENT
- مكون الدليل في path غير موجود أو أنه وصلة رمزية معلقة.
- ENOMEM
- ذاكرة النواة المتوفرة غير كافية.
- ENOSPC
- وصل حد المستخدم على العدد الإجمالي لمراقبات inotify أو فشلت النواة في تخصيص مورد مطلوب.
- ENOTDIR
- يحتوي mask على IN_ONLYDIR و path ليس دليلاً.
المعايير¶
لينكس.
التاريخ¶
لينكس 2.6.13.
أمثلة¶
انظر inotify(7).
انظر أيضًا¶
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 8 فبراير 2026 | صفحات دليل لينكس (لم تصدر بعد) |