Linux 명령어 배우기 - ioctl

이름

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에서 나타났습니다.