Tên
ioctl - thiết bị điều khiển
Tóm tắc
#include
int ioctl (int d , int request , ...);
Sự miêu tả
Hàm ioctl điều khiển các thông số thiết bị cơ bản của các tệp đặc biệt. Đặc biệt, nhiều đặc tính hoạt động của các tệp đặc biệt ký tự (ví dụ như các đầu cuối) có thể được điều khiển với các yêu cầu ioctl . Đối số d phải là một bộ mô tả tệp mở.
Đối số thứ hai là mã yêu cầu phụ thuộc vào thiết bị. Đối số thứ ba là một con trỏ không định dạng đến bộ nhớ. Đó là truyền thống char * argp (từ những ngày trước khi void * là hợp lệ C), và sẽ được đặt tên cho cuộc thảo luận này.
Một yêu cầu ioctl đã được mã hóa trong nó cho dù đối số là một tham số trong hoặc tham số ngoài , và kích thước của đối số argp theo byte. Macro và định nghĩa được sử dụng để chỉ định yêu cầu ioctl được đặt trong tệp
Giá trị trả lại
Thông thường, về số 0 thành công được trả về. Một vài ioctls sử dụng giá trị trả về như một tham số đầu ra và trả về một giá trị không âm khi thành công. Khi lỗi, -1 được trả về và errno được đặt một cách thích hợp.
Lỗi
EBADF
d không phải là một bộ mô tả hợp lệ.
EFAULT
argp tham chiếu đến khu vực bộ nhớ không thể tiếp cận.
ENOTTY
d không được liên kết với một thiết bị đặc biệt ký tự.
ENOTTY
Yêu cầu được chỉ định không áp dụng cho loại đối tượng mà bộ mô tả d tham chiếu.
EINVAL
Yêu cầu hoặc argp không hợp lệ.
Phù hợp với
Không có tiêu chuẩn duy nhất. Các đối số, trả về và ngữ nghĩa của ioctl (2) thay đổi tùy theo trình điều khiển thiết bị đang được đề cập (cuộc gọi được sử dụng như một sự bắt giữ cho các hoạt động không phù hợp với mô hình I / O dòng Unix ). Xem ioctl_list (2) để biết danh sách nhiều cuộc gọi ioctl đã biết. Các cuộc gọi chức năng ioctl xuất hiện trong phiên bản 7 AT & T Unix.