ชื่อ
ioctl - อุปกรณ์ควบคุม
สรุป
# include
int ioctl (int d , int ขอ ... );
ลักษณะ
ฟังก์ชัน ioctl จะจัดการพารามิเตอร์อุปกรณ์ต้นแบบของไฟล์พิเศษ โดยเฉพาะอย่างยิ่งลักษณะการทำงานหลายอย่างของไฟล์พิเศษของอักขระ (เช่นขั้ว) อาจถูกควบคุมด้วยคำขอ ioctl อาร์กิวเมนต์ d ต้องเป็นตัวอธิบายไฟล์แบบเปิด
อาร์กิวเมนต์ที่สองคือรหัสคำขอที่ขึ้นอยู่กับอุปกรณ์ อาร์กิวเมนต์ที่สามคือตัวชี้ untyped ไปยังหน่วยความจำ เป็นประเพณี char * argp (จากวันก่อน void * ถูกต้อง C) และจะได้รับการตั้งชื่อเพื่อการสนทนานี้
คำขอ ioctl เข้ารหัสในข้อมูลว่าอาร์กิวเมนต์เป็นพารามิเตอร์หรือพารามิเตอร์ ออก และขนาดอาร์กิวเมนต์ argp เป็น ไบต์ มาโครและนิยามที่ใช้ในการระบุ คำขอ ioctl จะอยู่ในไฟล์
มูลค่าย้อนกลับ
โดยปกติในศูนย์ความสำเร็จจะถูกส่งกลับ กี่ ioctls ใช้ค่าส่งกลับเป็นพารามิเตอร์เอาต์พุตและส่งคืนค่าที่ไม่เป็นลบในความสำเร็จ ข้อผิดพลาดส่งกลับ -1 และมีการตั้งค่า errno อย่างเหมาะสม
ข้อผิดพลาด
EBADF
d ไม่ใช่ descriptor ที่ถูกต้อง
EFAULT
argp อ้างอิงพื้นที่หน่วยความจำที่ไม่สามารถเข้าถึงได้
ENOTTY
d ไม่เกี่ยวข้องกับอุปกรณ์พิเศษตัวอักษร
ENOTTY
คำขอที่ระบุไม่มีผลกับออบเจ็กต์ที่ descriptor d references
EINVAL
คำขอ หรือ argp ไม่ถูกต้อง
สอดคล้องกับ
ไม่มีมาตรฐานเดียว อาร์กิวเมนต์ผลตอบแทนและความหมายของ ioctl (2) แตกต่างกันไปตามโปรแกรมควบคุมอุปกรณ์ที่เป็นปัญหา (สายเรียกใช้เป็น catch-all สำหรับการดำเนินการที่ไม่พอดีกับรูปแบบ I / O ของ Unix ) ดูรายการ ioctl_list (2) สำหรับรายการสาย ioctl ที่ รู้จักกันดีจำนวนมาก การเรียกใช้ฟังก์ชัน ioctl ปรากฏในเวอร์ชัน 7 AT & T Unix