table of contents
| listmount(2) | System Calls Manual | listmount(2) |
الاسم¶
listmount - الحصول على قائمة بمعرفات نقاط الوصل
المكتبة¶
مكتبة سي المعيارية (libc، -lc)
موجز¶
#include <linux/mount.h> /* تعريف ثوابت struct mnt_id_req */ #include <unistd.h>
int syscall(size_t n;
SYS_listmount, struct mnt_id_req *req,
uint64_t mnt_ids[n], size_t n,
unsigned long flags);
#include <linux/mount.h>
struct mnt_id_req {
__u32 size; /* sizeof(struct mnt_id_req) */
__u64 mnt_id; /* معرف نقطة الوصل الأب الذي يتم البحث عنه */
__u64 param; /* معرف نقطة الوصل التالي الذي نريد إيجاده */
};
ملاحظة: لا توفر glibc غلافًا لـ listmount()، مما يستلزم استخدام syscall(2).
الوصف¶
للوصول إلى نقاط الوصل في نطاق الأسماء الخاص بك، يجب أن تمتلك صلاحية CAP_SYS_ADMIN في نطاق أسماء المستخدم.
ترجع هذه الدالة قائمة بمعرفات نقاط الوصل تحت req.mnt_id. يُقصد استخدامها بالتزامن مع statmount(2) لتوفير طريقة للتكرار واكتشاف أنظمة الملفات الموصولة.
هيكل mnt_id_req¶
يستخدم النواة req.size لتحديد أي struct mnt_id_req يتم تمريره، ويجب دائمًا تعيينه إلى sizeof(struct mnt_id_req).
req.mnt_id هو معرف نقطة الوصل الأب الذي سنقوم بالإدراج منه، والذي يمكن أن يكون إما LSMT_ROOT الذي يعني نقطة الوصل الجذرية لنطاق أسماء الوصل الحالي، أو معرف نقطة وصل تم الحصول عليه إما من statx(2) باستخدام STATX_MNT_ID_UNIQUE أو من listmount(2).
يستخدم req.param لإخبار النواة بأي معرف نقطة وصل لبدء القائمة منه. هذا مفيد إذا كانت هناك حاجة لاستدعاءات متعددة لـ listmount(2). يمكن تعيين هذا إلى آخر معرف نقطة وصل تم إرجاعه لاستئناف من موضع سابق في القائمة.
قيمة الإرجاع¶
عند النجاح، يتم إرجاع عدد الإدخالات المملوءة في mnt_ids؛ 0 إذا لم يتبق أي نقاط وصل. عند الخطأ، يتم إرجاع -1، ويتم تعيين errno للإشارة إلى الخطأ.
الأخطاء¶
- EPERM
- لا يمتلك المستدعي صلاحية CAP_SYS_ADMIN في نطاق أسماء المستخدم.
- EFAULT
- يشير req أو mnt_ids إلى موقع خارج مساحة العنوان القابلة للوصول للعملية.
- EINVAL
- راية غير صالحة محددة في flags.
- EINVAL
- حجم req غير كافٍ لاستخدامه.
- E2BIG
- req كبير جدًا، الحد الأقصى هو حجم صفحة المعمارية.
- ENOENT
- req.mnt_id المحدد غير موجود.
- ENOMEM
- نفاد الذاكرة (أي ذاكرة نواة الحاسوب).
المعايير¶
لينكس.
انظر أيضًا¶
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 6 سبتمبر 2025 | صفحات دليل لينكس (لم تصدر بعد) |