getrpcent_r(3)

الاسم
getrpcent_r, getrpcbyname_r, getrpcbynumber_r - الحصول على إدخال RPC (قابل لإعادة الدخول)

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

موجز
#include <netdb.h>

int getrpcent_r(size_t size;
                struct rpcent *result_buf, char buf[size],
                size_t size, struct rpcent **result);
int getrpcbyname_r(size_t size;
                const char *name,
                struct rpcent *result_buf, char buf[size],
                size_t size, struct rpcent **result);
int getrpcbynumber_r(size_t size;
                int number,
                struct rpcent *result_buf, char buf[size],
                size_t size, struct rpcent **result);

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

getrpcent_r(), getrpcbyname_r(), getrpcbynumber_r():
    منذ glibc 2.19:
        _DEFAULT_SOURCE
    glibc 2.19 وما قبله:
        _BSD_SOURCE || _SVID_SOURCE

الوصف
الدوال getrpcent_r() و getrpcbyname_r() و getrpcbynumber_r() هي المكافئات القابلة لإعادة الدخول للدوال getrpcent(3) و getrpcbyname(3) و getrpcbynumber(3) على التوالي. تختلف في طريقة إرجاع بنية rpcent، وفي توقيع استدعاء الدالة وقيمة الإرجاع. تصف صفحة الدليل هذه فقط الاختلافات عن الدوال غير القابلة لإعادة الدخول.

بدلاً من إرجاع مؤشر إلى بنية rpcent مخصصة بشكل ثابت كنتيجة للدالة، تنسخ هذه الدوال البنية إلى الموقع المشار إليه بواسطة result_buf.

تُستخدم المصفوفة buf لتخزين حقول السلاسل المحارف المشار إليها بواسطة بنية rpcent المُرجعة. (تخصص الدوال غير القابلة لإعادة الدخول هذه السلاسل في تخزين ثابت.) يُحدد حجم هذه المصفوفة في size. إذا كانت buf صغيرة جدًا، يفشل الاستدعاء مع الخطأ ERANGE، ويجب على المُستدعي المحاولة مرة أخرى بمخزن مؤقت أكبر. (يجب أن يكون مخزن مؤقت بحجم 1024 بايت كافيًا لمعظم التطبيقات.)

إذا حصل استدعاء الدالة بنجاح على سجل RPC، فسيُعيّن *result ليشير إلى result_buf؛ وإلا، فسيُعيّن *result إلى NULL.

قيمة الإرجاع
تُعيد هذه الدوال 0 عند النجاح. وتُعيد أحد أرقام الأخطاء الموجبة المدرجة في قسم ERRORS عند حدوث خطأ.

عند حدوث خطأ، أو عدم العثور على السجل (getrpcbyname_r()، getrpcbynumber_r())، أو نهاية الإدخال (getrpcent_r())، يُعيّن *result إلى NULL.

الأخطاء

ENOENT
    (getrpcent_r()) لا توجد سجلات أخرى في قاعدة البيانات.

ERANGE
    المخزن المؤقت buf صغير جدًا. حاول مرة أخرى بمخزن أكبر (وزيادة size).

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
getrpcent_r()، getrpcbyname_r()، getrpcbynumber_r() | سلامة الخيوط | المنطقة (locale) آمنة لتعدد المسالك (MT-Safe)

الإصدارات
توجد دوال بأسماء مماثلة في بعض الأنظمة الأخرى، وإن كان ذلك عادةً بتواقيع استدعاء مختلفة.

المعايير
GNU.

انظر أيضًا
getrpcent(3)، rpc(5)

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

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

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