Линукс Тушаалыг суралцах - ioctl

Нэр

ioctl - хяналтын төхөөрөмж

Ерөнхий агуулга

#include

int ioctl (int d , int request , ...);

Тодорхойлолт

Ioctl функц нь тусгай файлуудын үндсэн параметрүүдийг агуулж байдаг. Ялангуяа, тусгай тусгай файлуудын (жишээ нь, терминал) үйлдлийн шинж чанарууд нь ioctl хүсэлтээр хянагдаж болно. Argument d нь нээлттэй файлын тодорхойлогч байх ёстой.

Хоёр дахь аргумент нь төхөөрөмжийн хамааралт хүсэлт код юм. Гуравдахь аргумент нь санах ойг хүлээгээгүй заагч юм. Энэ нь уламжлалт char * argp ( хүчин төгөлдөр бус өдрөөс өмнө байсан C) байсан бөгөөд энэ хэлэлцүүлэгт нэрлэгдэх болно.

Ioctl хүсэлт нь аргумент нь параметрийн утга эсвэл параметрийн аль алинаар, кодчилолын хэмжээ нь байтаар хэмжигдэх үү гэдгийг кодчилдог . Макрос болон ioctl хүсэлтийг заахад хэрэглэдэг тодорхойлолтууд нь файлд байдаг.

Буцах утга

Ихэвчлэн амжилтанд тэг буцаагдах болно. Цөөн тооны ioctls нь буцах утгыг гаралтын параметр болгон ашигладаг ба амжилтгүй байдлын үл ойлгэгдэх утгыг буцаадаг. Алдааг арилгахад -1 нь эргэж ирдэг бөгөөд errno зөв тохируулсан байна.

Алдаа

EBADF

d нь зөв тодорхойлогч биш юм.

EFAULT

argp нь санах ойгүй хүрч очих газар юм.

НЭГ

d нь тэмдэгтийн тусгай төхөөрөмжтэй холбоогүй байна.

НЭГ

Заасан хүсэлт нь тодорхойлогч объектын төрлийн объектод хамаарахгүй.

EINVAL

Хүсэлт эсвэл argp хүчингүй байна.

нийцсэн

Ямар ч стандарт байхгүй. Ioctl (2) -ын аргументууд, өгөгдөл, өгөгдлүүд нь төхөөрөмжийн драйверийн дагуу өөрчлөгддөг (дуудлага нь Unix-ийн урсгал I / O загварыг цэвэрлэж чаддаггүй үйл ажиллагаанд ашигладаг. Илүү олон ioctl дуудлагын жагсаалтыг ioctl_list (2) -ээс үзнэ үү. Ioctl функц дуудлага AT & T Unix 7-р хувилбарт гарсан.