Scroll to navigation

getdomainname(2) System Calls Manual getdomainname(2)

الاسم

getdomainname, setdomainname - الحصول/تعيين اسم نطاق NIS

المكتبة

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

موجز

#include <unistd.h>
int getdomainname(size_t size;
                  char name[size], size_t size);
int setdomainname(size_t size;
                  const char name[size], size_t size);

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

getdomainname(), setdomainname():


منذ glibc 2.21:
_DEFAULT_SOURCE
في glibc 2.19 و 2.20:
_DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
حتى glibc 2.19 وما قبله:
_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)

الوصف

تُستخدم هذه الدوال للوصول إلى اسم نطاق NIS للنظام المضيف أو تغييره. بشكل أدق، تعمل على اسم نطاق NIS المرتبط بمساحة أسماء UTS الخاصة بالعملية المستدعية.

تضبط setdomainname() اسم النطاق على القيمة المعطاة في المصفوفة المحرفية name. تحدد الوسيطة size عدد البايتات في name. (وبالتالي، لا تتطلب name بايت فارغ في النهاية.)

ترجع getdomainname() اسم النطاق المنتهي بفارغ في المصفوفة المحرفية name، التي حجمها size بايت. إذا كان اسم النطاق المنتهي بفارغ يتطلب أكثر من len بايت، ترجع getdomainname() أول len بايت (glibc) أو تعطي خطأ (libc).

قيمة الإرجاع

عند النجاح، يُعاد الصفر. وعند حدوث خطأ، يُعاد الرقم -1، ويُضبط errno للإشارة إلى الخطأ.

الأخطاء

قد تفشل setdomainname() مع الأخطاء التالية:

أشار name إلى خارج مساحة عنوان المستخدم.
كانت size سالبة أو كبيرة جدًا.
لم يمتلك المستدعي القدرة CAP_SYS_ADMIN في مساحة اسم المستخدم المرتبطة بمساحة أسماء UTS الخاصة به (انظر namespaces(7)).

قد تفشل getdomainname() مع الأخطاء التالية:

بالنسبة لـ getdomainname() تحت libc: name هو NULL أو name يساوي أو أطول من size بايت.

الإصدارات

في معظم بنى لينكس (بما في ذلك x86)، لا يوجد استدعاء نظام getdomainname()؛ بدلاً من ذلك، تنفذ glibc getdomainname() كدالة مكتبة ترجع نسخة من حقل domainname الذي يُرجع من استدعاء uname(2).

المعايير

لا شيء.

التاريخ

منذ لينكس 1.0، الحد الأقصى لحجم اسم النطاق، بما في ذلك البايت الفارغ في النهاية، هو 64 بايت. في النوى الأقدم، كان 8 بايت.

انظر أيضًا

gethostname(2), sethostname(2), uname(2), uts_namespaces(7)

ترجمة

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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

8 فبراير 2026 صفحات دليل لينكس 6.18