setnetgrent(3)

الاسم
setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr - معالجة مدخلات مجموعة الشبكة

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

موجز
#include <netdb.h>

int setnetgrent(const char *netgroup);
void endnetgrent(void);

int getnetgrent(char **restrict host,
            char **restrict user, char **restrict domain);
int getnetgrent_r(size_t size;
            char **restrict host,
            char **restrict user, char **restrict domain,
            char buf[restrict size], size_t size);

int innetgr(const char *netgroup, const char *host,
            const char *user, const char *domain);

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

setnetgrent(), endnetgrent(), getnetgrent(), getnetgrent_r(), innetgr():
    منذ glibc 2.19:
        _DEFAULT_SOURCE
    glibc 2.19 وما قبله:
        _BSD_SOURCE || _SVID_SOURCE

الوصف
netgroup هي اختراع من SunOS. قاعدة بيانات مجموعة الشبكة هي قائمة من ثلاثيات سلسلة محارف (hostname، username، domainname) أو أسماء مجموعات شبكة أخرى. أي عنصر من العناصر في الثلاثية يمكن أن يكون فارغًا، مما يعني أن أي شيء يطابق. الدوال الموصوفة هنا تسمح بالوصول إلى قواعد بيانات مجموعة الشبكة. الملف /etc/nsswitch.conf يُعرّف قاعدة البيانات التي يُبحث فيها.

استدعاء setnetgrent() يُعرّف مجموعة الشبكة التي سيبحث عنها بواسطة استدعاءات getnetgrent() اللاحقة. الدالة getnetgrent() تسترجع مدخل مجموعة الشبكة التالي، وتُعيد مؤشرات في host، user، domain. المؤشر الفارغ يعني أن المدخل المطابق يطابق أي سلسلة محارف. المؤشرات صالحة فقط طالما لا يوجد استدعاء لدوال أخرى متعلقة بمجموعة الشبكة. لتجنب هذه المشكلة، يمكنك استخدام دالة GNU getnetgrent_r() التي تخزن سلاسل المحارف في المخزن المؤقت المزوّد. لتحرير جميع المخازن المؤقتة المخصصة، استخدم endnetgrent().

في معظم الحالات، تريد التحقق فقط مما إذا كانت الثلاثية (hostname، username، domainname) عضوًا في مجموعة شبكة. الدالة innetgr() يمكن استخدامها لهذا دون استدعاء الدوال الثلاث المذكورة أعلاه. مرة أخرى، المؤشر الفارغ هو بطاقة جامحة ويطابق أي سلسلة محارف. الدالة آمنة للخيوط.

قيمة الإرجاع
هذه الدوال تُعيد 1 عند النجاح و0 عند الفشل.

الملفات
/etc/netgroup
/etc/nsswitch.conf

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
setnetgrent(), getnetgrent_r(), innetgr() | سلامة الخيوط | MT-Unsafe race:netgrent locale
endnetgrent() | سلامة الخيوط | MT-Unsafe race:netgrent
getnetgrent() | سلامة الخيوط | MT-Unsafe race:netgrent race:netgrentbuf locale

في الجدول أعلاه، netgrent في race:netgrent يشير إلى أنه إذا تم استخدام أي من الدوال setnetgrent()، getnetgrent_r()، innetgr()، getnetgrent()، أو endnetgrent() بالتوازي في خيوط مختلفة من برنامج، فقد تحدث سباقات بيانات.

الإصدارات
في تطبيق BSD، setnetgrent() تُعيد void.

المعايير
لا شيء.

التاريخ
setnetgrent()، endnetgrent()، getnetgrent()، و innetgr() متوفرة على معظم أنظمة UNIX. getnetgrent_r() غير متوفرة على نطاق واسع في الأنظمة الأخرى.

انظر أيضًا
sethostent(3)، setprotoent(3)، setservent(3)

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

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

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