getnetent_r(3)

الاسم
getnetent_r, getnetbyname_r, getnetbyaddr_r - الحصول على مدخل الشبكة (قابل لإعادة الدخول)

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

موجز
#include <netdb.h>

int getnetent_r(size_t size;
                struct netent *restrict result_buf,
                char buf[restrict size], size_t size,
                struct netent **restrict result,
                int *restrict h_errnop);
int getnetbyname_r(size_t size;
                const char *restrict name,
                struct netent *restrict result_buf,
                char buf[restrict size], size_t size,
                struct netent **restrict result,
                int *restrict h_errnop);
int getnetbyaddr_r(size_t size;
                uint32_t net, int type,
                struct netent *restrict result_buf,
                char buf[restrict size], size_t size,
                struct netent **restrict result,
                int *restrict h_errnop);

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

getnetent_r()، getnetbyname_r()، getnetbyaddr_r():
    منذ glibc 2.19:
        _DEFAULT_SOURCE
    glibc 2.19 وما قبله:
        _BSD_SOURCE || _SVID_SOURCE

الوصف
الدوال getnetent_r() و getnetbyname_r() و getnetbyaddr_r() هي المكافئات القابلة لإعادة الدخول لـ getnetent(3) و getnetbyname(3) و getnetbynumber(3) على التوالي. تختلف في طريقة إرجاع بنية netent وفي توقيع استدعاء الدالة وقيمة الإرجاع. تصف صفحة الدليل هذه الاختلافات فقط عن الدوال غير القابلة لإعادة الدخول.

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

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

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

يُستخدم المخزن المؤقت المشار إليه بواسطة h_errnop لإرجاع القيمة التي ستُخزن في المتغير العام h_errno بواسطة الإصدارات غير القابلة لإعادة الدخول من هذه الدوال.

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

عند حدوث خطأ، أو عدم العثور على السجل (getnetbyname_r()، getnetbyaddr_r())، أو نهاية الإدخال (getnetent_r())، يُضبط result إلى NULL.

الأخطاء

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

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

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

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

المعايير
GNU.

انظر أيضًا
getnetent(3)، networks(5)

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

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

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