getservent(3)

الاسم
getservent, getservbyname, getservbyport, setservent, endservent - الحصول على مدخل الخدمة

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

موجز
#include <netdb.h>

struct servent *getservent(void);

struct servent *getservbyname(const char *name, const char *proto);
struct servent *getservbyport(int port, const char *proto);

void setservent(int stayopen);
void endservent(void);

الوصف
تقرأ الدالة getservent() المدخل التالي من قاعدة بيانات الخدمات (انظر services(5)) وتُعيد بنية servent تحتوي على الحقول المفصولة من المدخل. يُفتح اتصال بقاعدة البيانات إذا لزم الأمر.

تُعيد الدالة getservbyname() بنية servent للمدخل من قاعدة البيانات الذي يطابق اسم الخدمة name باستخدام البروتوكول proto. إذا كان proto NULL، يُطابق أي بروتوكول. يُفتح اتصال بقاعدة البيانات إذا لزم الأمر.

تُعيد الدالة getservbyport() بنية servent للمدخل من قاعدة البيانات الذي يطابق المنفذ port (المُعطى بترتيب بايتات الشبكة) باستخدام البروتوكول proto. إذا كان proto NULL، يُطابق أي بروتوكول. يُفتح اتصال بقاعدة البيانات إذا لزم الأمر.

تفتح الدالة setservent() اتصالاً بقاعدة البيانات، وتضبط المدخل التالي على أنه المدخل الأول. إذا كان stayopen غير صفري، فلن يُغلق الاتصال بقاعدة البيانات بين استدعاءات إحدى دوال getserv*().

تُغلق الدالة endservent() الاتصال بقاعدة البيانات.

تُعرف بنية servent في <netdb.h> كما يلي:

    struct servent {
        char  *s_name;       /* اسم الخدمة الرسمي */
        char **s_aliases;    /* قائمة الكنى */
        int    s_port;       /* رقم المنفذ */
        char  *s_proto;      /* البروتوكول الذي سيستخدم */
    }

أعضاء بنية servent هم:

s_name
    الاسم الرسمي للخدمة.

s_aliases
    قائمة منتهية بـ NULL من الأسماء البديلة للخدمة.

s_port
    رقم المنفذ للخدمة المُعطى بترتيب بايتات الشبكة.

s_proto
    اسم البروتوكول المستخدم مع هذه الخدمة.

قيمة الإرجاع
الدوال getservent() و getservbyname() و getservbyport() تُرجع مؤشرًا إلى بنية servent مخصصة بشكل ثابت، أو NULL إذا حدث خطأ أو تم الوصول إلى نهاية الملف.

الملفات

/etc/services
    ملف قاعدة بيانات الخدمات

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
getservent() | سلامة الخيوط | MT-Unsafe race:servent race:serventbuf locale
getservbyname() | سلامة الخيوط | MT-Unsafe race:servbyname locale
getservbyport() | سلامة الخيوط | MT-Unsafe race:servbyport locale
setservent(), endservent() | سلامة الخيوط | MT-Unsafe race:servent locale

في الجدول أعلاه، يشير servent في race:servent إلى أنه إذا استُخدمت أي من الدوال setservent() أو getservent() أو endservent() بالتوازي في خيوط مختلفة من برنامج، فقد تحدث سباقات بيانات.

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

التاريخ
POSIX.1-2001، 4.3BSD.

انظر أيضًا
getnetent(3) و getprotoent(3) و getservent_r(3) و services(5)

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

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

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