이름
ioctl - 제어 장치
개요
#include
int ioctl (int d , int request , ...);
기술
ioctl 함수는 특수 파일의 기본 장치 매개 변수를 조작합니다. 특히 문자 특수 파일 (예 : 터미널)의 많은 작동 특성은 ioctl 요청으로 제어 할 수 있습니다. 인수 d 는 열린 파일 기술자 여야합니다.
두 번째 인수는 장치 종속 요청 코드입니다. 세 번째 인수는 메모리에 대한 형식화되지 않은 포인터입니다. 그것은 전통적으로 char * argp ( void * 가 유효한 C 이전의 날부터)이며,이 토론을 위해 그렇게 명명 될 것입니다.
ioctl 요청 은 인수가 in 매개 변수인지 out 매개 변수인지 여부와 인수 argp 의 크기가 바이트 단위인지 여부를 인코딩합니다. ioctl 요청 을 지정하는 데 사용되는 매크로 및 정의는
반환 값
일반적으로 성공하면 0이 반환됩니다. 몇몇 ioctl은 반환 값을 출력 매개 변수로 사용하고 성공시 음수가 아닌 값을 반환합니다. 에러시 -1이 반환되고 errno 가 적절하게 설정됩니다.
오류
EBADF
d 는 유효한 설명자가 아닙니다.
EFAULT
argp 는 액세스 할 수없는 메모리 영역을 참조합니다.
ENOTTY
d 는 문자 특수 장치와 관련이 없습니다.
ENOTTY
지정된 요청은 설명자 d가 참조하는 개체의 종류에는 적용되지 않습니다.
EINVAL
요청 또는 argp 가 유효하지 않습니다.
준수
하나의 표준이 없습니다. ioctl (2)의 인수, 반환 값 및 의미는 문제가되는 장치 드라이버에 따라 다릅니다 (이 호출은 Unix 스트림 I / O 모델에 완벽하게 맞지 않는 작업에 대해 포괄적으로 사용됩니다). 알려진 ioctl 호출의 목록은 ioctl_list (2)를 참조하십시오. ioctl 함수 호출은 버전 7 AT & T Unix에서 나타났습니다.