ioctl

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는 적당한 값으로 설정된다.

에러
       EBADF  d는 유효한 기술자가 아니다.

       EFAULT argp 는 접근할 수 없는 메모리 영역을 참조한다.

       ENOTTY d 는 문자 특수 파일과 연관되지 있지 않다.

       ENOTTY 명시한 request는 파일 기술자 d 에 해당하는 객체에 적용되지 않는다.

       EINVAL 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일



BSD 맨페이지                          1993년 7월 23일                          IOCTL(2)