Scroll to navigation

readdir(2) System Calls Manual readdir(2)

الاسم

readdir - قراءة مدخل دليل

المكتبة

مكتبة سي المعيارية (libc، -lc)

موجز

#include <sys/syscall.h>      /* تعريف ثوابت SYS_* */
#include <unistd.h>
int syscall(SYS_readdir, unsigned int fd,
            struct old_linux_dirent *dirp, unsigned int count);

ملاحظة: لا يوجد تعريف لـ struct old_linux_dirent؛ انظر الإصدارات.

الوصف

هذه ليست الدالة التي تهمك. انظر إلى readdir(3) لواجهة مكتبة C المتوافقة مع POSIX. توثق هذه الصفحة واجهة استدعاء النظام النواة المجردة، والتي تم استبدالها بـ getdents(2).

تقرأ readdir() بنية old_linux_dirent واحدة من الدليل المشار إليه بواصف الملف fd في المخزن المؤقت المشار إليه بـ dirp. يتم تجاهل الوسيطة count؛ تتم قراءة بنية old_linux_dirent واحدة على الأكثر.

يتم تعريف بنية old_linux_dirent (بشكل خاص في ملف نواة لينكس fs/readdir.c) كما يلي:


struct old_linux_dirent {

unsigned long d_ino; /* inode number */
unsigned long d_offset; /* offset to this old_linux_dirent */
unsigned short d_namlen; /* length of this d_name */
char d_name[1]; /* filename (null-terminated) */ }

d_ino هو رقم inode. d_offset هو المسافة من بداية الدليل إلى هذا old_linux_dirent. d_reclen هو حجم d_name، دون احتساب البايت الفارغ المنتهي ('\0'). d_name هو اسم ملف منتهي بقيمة فارغة.

قيمة الإرجاع

عند النجاح، يتم إرجاع 1. عند نهاية الدليل، يتم إرجاع 0. عند الخطأ، يتم إرجاع -1، ويتم تعيين errno للإشارة إلى الخطأ.

الأخطاء

وصف ملف (file descriptor) غير صالح fd.
تشير المعطيات (arguments) إلى خارج فضاء عناوين العملية المستدعية.
مخزن النتائج المؤقت صغير جدًا.
لا يوجد دليل كهذا.
واصف الملف لا يشير إلى مجلد.

الإصدارات

ستحتاج إلى تعريف بنية old_linux_dirent بنفسك. ومع ذلك، ربما يجب عليك استخدام readdir(3) بدلاً من ذلك.

استدعاء النظام هذا غير موجود في x86-64.

المعايير

لينكس.

انظر أيضًا

getdents(2), readdir(3)

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.

8 فبراير 2026 صفحات دليل لينكس 6.18