gethostid(3)

الاسم
gethostid, sethostid - الحصول على أو تعيين المعرف الفريد للمضيف الحالي

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

موجز
#include <unistd.h>

long gethostid(void);
int sethostid(long hostid);

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

gethostid():
    منذ glibc 2.20:
        _DEFAULT_SOURCE || _XOPEN_SOURCE >= 500
    حتى و بما في ذلك glibc 2.19:
        _BSD_SOURCE || _XOPEN_SOURCE >= 500

sethostid():
    منذ 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)

الوصف
gethostid() و sethostid() تحصلان أو تعينان على التوالي معرفًا فريدًا بحجم 32 بت للجهاز الحالي. كان المقصود من المعرف ذي 32 بت أن يكون فريدًا بين جميع أنظمة UNIX الموجودة. يشبه هذا عادةً عنوان الإنترنت للجهاز المحلي، كما يُعاد بواسطة gethostbyname(3)، وبالتالي لا يحتاج عادةً إلى التعيين.

استدعاء sethostid() مقصور على المستخدم الفائق.

قيمة الإرجاع
gethostid() تُعيد المعرف ذا 32 بت للمضيف الحالي كما عُيّن بواسطة sethostid().

عند النجاح، sethostid() تُعيد 0؛ عند الخطأ، تُعاد -1، ويُعيّن errno للإشارة إلى الخطأ.

الأخطاء
يمكن أن يفشل sethostid() مع الأخطاء التالية:

EACCES
    لم يكن لدى المستدعي صلاحية الكتابة إلى الملف المستخدم لتخزين معرف المضيف.

EPERM
    معرف المستخدم الفعال أو معرف المجموعة الفعال لعملية الاستدعاء ليس هو نفسه المعرف الحقيقي المقابل.

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
gethostid() | سلامة الخيوط | MT-Safe hostid env locale
sethostid() | سلامة الخيوط | MT-Unsafe const:hostid

الإصدارات
في تطبيق glibc، يُخزَّن hostid في الملف /etc/hostid. (قبل glibc 2.2، كان الملف /var/adm/hostid يُستخدم.)

في تطبيق glibc، إذا لم يستطع gethostid() فتح الملف المحتوي على معرف المضيف، فإنه يحصل على اسم المضيف باستخدام gethostname(2)، ويمرر اسم المضيف هذا إلى gethostbyname_r(3) للحصول على عنوان IPv4 للمضيف، ويُعيد قيمة تم الحصول عليها بالتلاعب بالبتات في عنوان IPv4. (قد لا تكون هذه القيمة فريدة.)

المعايير

gethostid()
    POSIX.1-2008.

sethostid()
    لا شيء.

التاريخ
4.2BSD؛ أُسقط في 4.4BSD. SVr4 و POSIX.1-2001 يتضمنان gethostid() ولكن ليس sethostid().

العلل
من المستحيل ضمان أن المُعرِّف فريد عالميًا.

انظر أيضًا
hostid(1)، gethostbyname(3)

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

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

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