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 يونكس.




