opendir(3)

الاسم
opendir, fdopendir - فتح دليل

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

موجز
#include <sys/types.h>
#include <dirent.h>

DIR *opendir(const char *name);
DIR *fdopendir(int fd);

    متطلبات ماكروات اختبار الميزات لـ glibc (انظر feature_test_macros(7)):

fdopendir():
    منذ glibc 2.10:
        _POSIX_C_SOURCE >= 200809L
    قبل glibc 2.10:
        _GNU_SOURCE

الوصف
تفتح الدالة opendir() دفق دليل مطابق للدليل name، وتُعيد مؤشرًا إلى دفق الدليل. يُوضع الدفق عند أول مدخل في الدليل.

الدالة fdopendir() تشبه opendir()، لكنها تُعيد دفق دليل للدليل المشار إليه بواصف الملف المفتوح fd. بعد استدعاء ناجح لـ fdopendir()، يُستخدم fd داخليًا بواسطة التنفيذ، ولا ينبغي للتطبيق استخدامه بخلاف ذلك.

قيمة الإرجاع
تُعيد الدالتان opendir() و fdopendir() مؤشرًا إلى دفق الدليل. عند حدوث خطأ، يُعاد NULL، ويُضبط errno للإشارة إلى الخطأ.

الأخطاء

EACCES
    رُفض الإذن.

EBADF
    fd ليس واصف ملف صالحًا مفتوحًا للقراءة.

EMFILE
    وُصل إلى الحد الأقصى لواصفات الملفات المفتوحة لكل عملية.

ENAMETOOLONG
    الاسم name كان طويلاً جداً.

ENFILE
    وُصل إلى الحد الأقصى لإجمالي عدد الملفات المفتوحة على مستوى النظام.

ENOENT
    الدليل غير موجود، أو name سلسلة محارف فارغة.

ENOMEM
    الذاكرة غير كافية لإكمال العملية.

ENOTDIR
    name ليس دليلاً.

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
opendir(), fdopendir() | سلامة الخيوط | MT-Safe

المعايير
POSIX.1-2008.

المعايير

opendir()
    SVr4، 4.3BSD، POSIX.1-2001.

fdopendir()
    POSIX.1-2008. glibc 2.4.

ملاحظات
يمكن قراءة مدخلات أسماء الملفات من دفق دليل باستخدام readdir(3).

يمكن الحصول على واصف الملف الأساسي لدفق الدليل باستخدام dirfd(3).

تضبط الدالة opendir() علم الإغلاق عند التنفيذ لواصف الملف الأساسي لـ DIR *. تترك الدالة fdopendir() إعداد علم الإغلاق عند التنفيذ دون تغيير لواصف الملف fd. يترك POSIX.1-200x غير محدد ما إذا كان استدعاء ناجح لـ fdopendir() سيضبط علم الإغلاق عند التنفيذ لواصف الملف fd.

انظر أيضًا
open(2), closedir(3), dirfd(3), readdir(3), rewinddir(3), scandir(3), seekdir(3), telldir(3)

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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