Scroll to navigation

IOCTL(2) 리눅스 프로그래머 매뉴얼 IOCTL(2)

이름

ioctl - 장치를 제어한다.

사용법

#include <sys/ioctl.h>

int ioctl(int d, int request, ...)

[세번째 인자는 전통적으로 char *argp 이며, 설명를 위해 그렇게 언급하겠다.]

설명

ioctl 함수는 특수 파일의 장치 인자를 조절한다. 특히, 문자 특수 파일(예로 터미널)의 많은 특징적인 동작은 ioctl의 요구에 의해 제어된다. d 인자는 반드시 열린 파일 기술자이어야 한다.

ioctl request는 인자가 입력되는 인자인지 출력되는 인자인지와 argp 인자의 바이트 단위의 크기를 나타낸다. ioctl request를 나타내기 사용되는 매크로와 상수는 <sys/ioctl.h>파일에 정의되어 있다.

반환값

성공시, 0이 리턴된다. 에러시, -1이 리턴되며, errno는 적당한 값으로 설정된다.

에러

d는 유효한 기술자가 아니다.
argp 는 접근할 수 없는 메모리 영역을 참조한다.
d 는 문자 특수 파일과 연관되지 있지 않다.
명시한 request는 파일 기술자 d 에 해당하는 객체에 적용되지 않는다.
request또는 argp가 유효하지 않다.

호환

단일 표준이 없다. 인자, 반환값과 ioctl(2) 의미는 요청되는 장치 드라이버에 따라 달라진다. (이 시스템 콜은 유닉스 스트림 I/O 모델에 깨끗하게 맞지 않는 연산을 위한 대체 방법으로써 사용된다.)

알려져있는 많은 ioctl 호출 리스트를 보기 원한다면 ioctl_list(2) 를 참조해라. ioctl 함수는 Version 7 AT&T Unix에서 나타났다.

관련 항목

execve(2), fcntl(2), mt(4), sd(4), tty(4)

역자

정강훈 <skyeyes@soback.kornet.net>, 2000년 4월 27일

1993년 7월 23일 BSD 맨페이지