ttyname(3)

الاسم
ttyname, ttyname_r - إرجاع اسم طرفية

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

موجز
#include <unistd.h>

char *ttyname(int fd);
int ttyname_r(size_t size;
              int fd, char buf[size], size_t size);

الوصف
ترجع الدالة ttyname() مؤشرًا إلى اسم المسار المنتهي بقيمة خالية لجهاز الطرفية المفتوح على واصف الملف fd، أو NULL عند الخطأ (مثلًا، إذا كان fd غير متصل بطرفية). قد تشير القيمة المُرجعة إلى بيانات ثابتة، قد تُستبدل بالاستدعاء التالي. تخزن الدالة ttyname_r() اسم المسار هذا في المخزن المؤقت buf بحجم size.

قيمة الإرجاع
ترجع الدالة ttyname() مؤشرًا إلى اسم مسار عند النجاح. عند الخطأ، تُرجع NULL، ويُضبط errno للإشارة إلى الخطأ. ترجع الدالة ttyname_r() 0 عند النجاح، ورقم خطأ عند الخطأ.

الأخطاء

EBADF
    واصف ملف سيئ.

ENODEV
    يشير fd إلى جهاز طرفية زائفة تابعة لكن تعذر العثور على اسم المسار المقابل (انظر الملاحظات).

ENOTTY
    لا يشير fd إلى جهاز طرفية.

ERANGE
    (ttyname_r()) كان size صغيرًا جدًا للسماح بتخزين اسم المسار.

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
ttyname() | سلامة الخيوط | غير آمن للمسارات المتعددة (MT-Unsafe) سباق:ttyname
ttyname_r() | سلامة الخيوط | MT-Safe

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

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

ملاحظات
عملية تُبقي واصف ملف يشير إلى جهاز pts(4) مفتوحًا عند التبديل إلى مساحة وصل أخرى تستخدم مثيل /dev/ptmx مختلفًا قد تجد مصادفة أن مسار جهاز بنفس الاسم لذلك الواصف موجود. لكن مسار الجهاز هذا يشير إلى جهاز مختلف وبالتالي لا يمكن استخدامه للوصول إلى الجهاز الذي يشير إليه واصف الملف. استدعاء ttyname() أو ttyname_r() على واصف الملف في مساحة الوصل الجديدة سيجعل هذه الدوال تُرجع NULL وتضبط errno إلى ENODEV.

انظر أيضًا
tty(1), fstat(2), ctermid(3), isatty(3), pts(4)

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

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

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