.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2008-2016, Michael Kerrisk .\" Copyright 2016, Florian Weimer .\" 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 readdir_r 3 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم readdir_r \- يقرأ دليلاً .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fB[[deprecated]] int readdir_r(DIR *restrict \fP\fIdirp\fP\fB,\fP \fB struct dirent *restrict \fP\fIentry\fP\fB,\fP \fB struct dirent **restrict \fP\fIresult\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBreaddir_r\fP(): .nf _POSIX_C_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE .fi .SH الوصف هذه الدالة مهملة؛ استخدم \fBreaddir\fP(3) بدلاً منها. .P الدالة \fBreaddir_r\fP() صُممت كنسخة قابلة لإعادة الدخول من \fBreaddir\fP(3). تقرأ إدخال الدليل التالي من دفق الدليل \fIdirp\fP، وتُرجعه في المخزن المؤقت المُخصص من قبل المستدعي والمشار إليه بواسطة \fIentry\fP. لتفاصيل بنية \fIdirent\fP، انظر \fBreaddir\fP(3). .P يُوضع مؤشر إلى المخزن المؤقت المُعاد في \fI*result\fP؛ إذا تم الوصول إلى نهاية دفق الدليل، فإن NULL يُعاد بدلاً من ذلك في \fI*result\fP. .P يُوصى بأن تستخدم التطبيقات \fBreaddir\fP(3) بدلاً من \fBreaddir_r\fP(). علاوة على ذلك، منذ glibc 2.24، تُهمل glibc \fBreaddir_r\fP(). الأسباب كالتالي: .IP \[bu] 3 على الأنظمة حيث \fBNAME_MAX\fP غير مُعرّف، قد يكون استدعاء \fBreaddir_r\fP() غير آمن لأن الواجهة لا تسمح للمستدعي بتحديد طول المخزن المؤقت المستخدم لإدخال الدليل المُعاد. .IP \[bu] على بعض الأنظمة، لا تستطيع \fBreaddir_r\fP() قراءة إدخالات دليل بأسماء طويلة جداً. عندما يواجه تطبيق glibc مثل هذا الاسم، تفشل \fBreaddir_r\fP() مع الخطأ \fBENAMETOOLONG\fP \fIبعد قراءة إدخال الدليل الأخير\fP. على بعض الأنظمة الأخرى، قد تُرجع \fBreaddir_r\fP() حالة نجاح، لكن الحقل \fId_name\fP المُعاد قد لا يكون منتهياً بصفر أو قد يكون مبتوراً. .IP \[bu] في مواصفات POSIX.1 الحالية (POSIX.1\-2008)، \fBreaddir\fP(3) ليست مطلوبة لتكون آمنة للخيوط. ومع ذلك، في التطبيقات الحديثة (بما في ذلك تطبيق glibc)، الاستدعاءات المتزامنة لـ \fBreaddir\fP(3) التي تُحدد تدفقات دليل مختلفة هي آمنة للخيوط. لذلك، استخدام \fBreaddir_r\fP() غير ضروري عموماً في البرامج متعددة الخيوط. في الحالات حيث يجب أن تقرأ خيوط متعددة من نفس دفق الدليل، استخدام \fBreaddir\fP(3) مع مزامنة خارجية لا يزال أفضل من استخدام \fBreaddir_r\fP()، للأسباب المذكورة في النقاط أعلاه. .IP \[bu] .\" FIXME . .\" http://www.austingroupbugs.net/view.php?id=696 من المتوقع أن تجعل نسخة مستقبلية من POSIX.1 \fBreaddir_r\fP() مهملة، وتتطلب أن تكون \fBreaddir\fP(3) آمنة للخيوط عند استخدامها بشكل متزامن على تدفقات دليل مختلفة. .SH "قيمة الإرجاع" الدالة \fBreaddir_r\fP() تُرجع 0 عند النجاح. عند الخطأ، تُرجع رقم خطأ موجب (مُدرج تحت الأخطاء). إذا تم الوصول إلى نهاية دفق الدليل، تُرجع \fBreaddir_r\fP() 0، وتُعيد NULL في \fI*result\fP. .SH الأخطاء .TP \fBEBADF\fP واصف تدفق دليل \fIdirp\fP غير صالح. .TP \fBENAMETOOLONG\fP تمت مواجهة إدخال دليل كان اسمه طويلاً جداً بحيث لا يمكن قراءته. .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. الواجهة السمة القيمة T{ .na .nh \fBreaddir_r\fP() T} سلامة الخيوط MT\-Safe .TE .SH المعايير POSIX.1\-2008. .SH التاريخ POSIX.1\-2001. .SH "انظر أيضًا" \fBreaddir\fP(3) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .