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




