ether_aton(3)

الاسم
ether_aton, ether_ntoa, ether_ntohost, ether_hostton, ether_line, ether_ntoa_r, ether_aton_r - روتينات (دوال) معالجة عناوين الإيثرنت

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

موجز
#include <netinet/ether.h>

char *ether_ntoa(const struct ether_addr *addr);
struct ether_addr *ether_aton(const char *asc);

int ether_ntohost(char *hostname, const struct ether_addr *addr);
int ether_hostton(const char *hostname, struct ether_addr *addr);

int ether_line(const char *line, struct ether_addr *addr,
               char *hostname);

/* GNU extensions */
char *ether_ntoa_r(const struct ether_addr *addr, char *buf);

struct ether_addr *ether_aton_r(const char *asc,
                                struct ether_addr *addr);

الوصف
تحوِّل ether_aton() عنوان مضيف إيثرنت ذو 48 بت asc من الترميز المعياري بالأرقام السداسية العشرية والنقطتين إلى بيانات ثنائية بترتيب بايتات الشبكة وتُعيد مؤشرًا إليه في مخزن مؤقت مخصص بشكل ثابت، ستستبدله الاستدعاءات اللاحقة. تُعيد ether_aton() NULL إذا كان العنوان غير صالح.

تحوِّل الدالة ether_ntoa() عنوان مضيف إيثرنت addr المُعطى بترتيب بايتات الشبكة إلى سلسلة محارف بترميز الأرقام السداسية العشرية والنقطتين المعياري، مع حذف الأصفار البادئة. تُعاد السلسلة في مخزن مؤقت مخصص بشكل ثابت، ستستبدله الاستدعاءات اللاحقة.

ترسم الدالة ether_ntohost() عنوان إيثرنت إلى اسم المضيف المُقابل في /etc/ethers وتُعيد قيمة غير صفرية إذا تعذر إيجاده.

ترسم الدالة ether_hostton() اسم مضيف إلى عنوان إيثرنت المُقابل في /etc/ethers وتُعيد قيمة غير صفرية إذا تعذر إيجاده.

تحلِّل الدالة ether_line() سطرًا بصيغة /etc/ethers (عنوان إيثرنت يتبعه فراغ ثم اسم مضيف؛ يُقدِّم '#' تعليقًا) وتُعيد زوج عنوان واسم مضيف، أو قيمة غير صفرية إذا تعذر تحليله. يجب أن يكون المخزن المؤقت المُشار إليه بواسطة hostname طويلًا بما يكفي —على سبيل المثال، بنفس طول line—.

الدوال ether_ntoa_r() و ether_aton_r() هي نسخ آمنة للخيوط وقابلة لإعادة الدخول من ether_ntoa() و ether_aton() على التوالي، ولا تستخدم مخازن مؤقتة ثابتة.

يُعرَّف الهيكل ether_addr في <net/ethernet.h> كالتالي:

    struct ether_addr {
        uint8_t ether_addr_octet[6];
    }

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
ether_aton()، ether_ntoa() | سلامة الخيوط | غير آمن لتعدد الخيوط (MT-Unsafe)
ether_ntohost()، ether_hostton()، ether_line()، ether_ntoa_r()، ether_aton_r() | سلامة الخيوط | MT-Safe

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

التاريخ
4.3BSD, SunOS.

العلل
في glibc 2.2.5 والإصدارات الأقدم، كان تنفيذ ether_line() معطوبًا.

انظر أيضًا
ethers(5)

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

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

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