Skip to main content

Ioctl - قيادة لينكس - قيادة يونيكس

الدورة العربية لادارة السيرفرات لينوكس VPS Linux Nginx PHP Mysql (يوليو 2026)

الدورة العربية لادارة السيرفرات لينوكس VPS Linux Nginx PHP Mysql (يوليو 2026)
Anonim

ioctl - جهاز التحكم

ملخص

#تتضمن

int ioctl (int د ، طلب , …);

وصف

الIOCTL وظيفة يتلاعب المعلمات الجهاز الأساسي للملفات الخاصة. على وجه الخصوص ، يمكن التحكم في العديد من الخصائص التشغيلية للملفات الخاصة للأحرف (مثل المطاريف)IOCTL الطلبات. الحجة د يجب أن يكون واصف ملف مفتوح.

الوسيطة الثانية هي رمز طلب يعتمد على الجهاز. الوسيطة الثالثة هي مؤشر untyped إلى الذاكرة. انها تقليدياchar * argp (من الأيام السابقةباطل * كان C صالحًا ، وسيتم تسميته على هذا النحو.

ioctl طلب قد ترميز فيه ما إذا كانت الحجة هي في المعلمة أو خارج المعلمة ، وحجم الوسيطة argp بالبايت. وحدات الماكرو والمعرفات المستخدمة في تحديد ioctl طلب موجود في الملف .

قيمة الإرجاع

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

أخطاء

EBADF

د ليس واصفًا صالحًا.

EFAULT

argp تشير إلى منطقة ذاكرة لا يمكن الوصول إليها.

ENOTTY

د لا يرتبط مع جهاز خاص حرف.

ENOTTY

لا ينطبق الطلب المحدد على نوع الكائن الذي يقوم باستخدام الواصف د المراجع.

EINVAL

طلب أو argp غير صالح.

التاكيد الى

لا يوجد معيار واحد. الحجج ، والعودة ، والدلالاتIOCTL(2) تختلف باختلاف برنامج تشغيل الجهاز المعني (يتم استخدام المكالمة كمقبض للعمليات التي لا تتناسب تمامًا مع نموذج I / O stream Unix). الIOCTL استدعاء وظيفة ظهرت في الإصدار 7 AT & T يونكس.