Scroll to navigation

outb(2) System Calls Manual outb(2)

الاسم

outb, outw, outl, outsb, outsw, outsl, inb, inw, inl, insb, insw, insl, outb_p, outw_p, outl_p, inb_p, inw_p, inl_p - الإدخال/الإخراج للمنفذ

المكتبة

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

موجز

#include <sys/io.h>
unsigned char inb(unsigned short port);
unsigned char inb_p(unsigned short port);
unsigned short inw(unsigned short port);
unsigned short inw_p(unsigned short port);
unsigned int inl(unsigned short port);
unsigned int inl_p(unsigned short port);
void outb(unsigned char value, unsigned short port);
void outb_p(unsigned char value, unsigned short port);
void outw(unsigned short value, unsigned short port);
void outw_p(unsigned short value, unsigned short port);
void outl(unsigned int value, unsigned short port);
void outl_p(unsigned int value, unsigned short port);
void insb(unsigned long count;
           unsigned short port, void addr[count],
           unsigned long count);
void insw(unsigned long count;
           unsigned short port, void addr[count],
           unsigned long count);
void insl(unsigned long count;
           unsigned short port, void addr[count],
           unsigned long count);
void outsb(unsigned long count;
           unsigned short port, const void addr[count],
           unsigned long count);
void outsw(unsigned long count;
           unsigned short port, const void addr[count],
           unsigned long count);
void outsl(unsigned long count;
           unsigned short port, const void addr[count],
           unsigned long count);

الوصف

تُستخدم هذه العائلة من الدوال لإجراء إدخال وإخراج منخفض المستوى للمنفذ. تقوم دوال out* بإخراج المنفذ، وتقوم دوال in* بإدخال المنفذ؛ دوال اللاحقة b هي بعرض بايت ودوال اللاحقة w هي بعرض كلمة؛ دوال اللاحقة _p تتوقف مؤقتًا حتى يكتمل الإدخال/الإخراج.

صُممت هذه الدوال أساسًا للاستخدام الداخلي للنواة، ولكن يمكن استخدامها من مساحة المستخدم.

يجب التجميع باستخدام -O أو -O2 أو ما شابه. تُعرف الدوال كوحدات ماكرو مضمنة، ولن يتم استبدالها دون تفعيل التحسين، مما يسبب مراجع غير محلولة في وقت الربط.

استخدم ioperm(2) أو بدلاً من ذلك iopl(2) لإخبار النواة بالسماح لتطبيق مساحة المستخدم بالوصول إلى منافذ الإدخال/الإخراج المعنية. عدم القيام بذلك سيؤدي إلى تلقي التطبيق خطأ تجزئة.

الإصدارات

outb() وما يشابهها خاصة بالعتاد. تُمرر وسيطة value أولاً ووسيطة port ثانيًا، وهو الترتيب المعاكس لمعظم تطبيقات DOS.

المعايير

لا شيء.

انظر أيضًا

ioperm(2), iopl(2)

ترجمة

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

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

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

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