글
이름
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)'C/C++' 카테고리의 다른 글
[열혈강의 C++] 1장 C 기반의 C++ 1 (0) | 2008.08.20 |
---|---|
this 포인터 (0) | 2008.08.13 |
[스크랩] Mutex를 이용한 쓰레드 동기화 - 조인시 위키 (0) | 2008.08.01 |
[스크랩] 쓰레드는 무엇이며, 왜 이용하는가 - 조인시 위키 (0) | 2008.08.01 |
[스크랩] volatile - c keyword (0) | 2007.05.15 |
RECENT COMMENT