IOPL
Section: Linux Programmer's Manual
(2)
Updated: 24 July 1993
Index
Return to Main Contents
이름
iopl - I/O 권한 수준을 바꾼다.
사용법
#include <unistd.h>
/* for libc5 */
#include <sys/io.h>
/* for glibc */
int iopl(int level);
설명
iopl
는 현재 프로세스의 I/O 권한 수준을
level.
에서 정해진 수준으로 바꾼다.
이 호출은 8514호환 X 서버가 리눅스하에서 작동할 수 있게 할 필요가 있다
이 X 서버가 모든 65536 I/O 포트에 접근 해야 할 필요가 있기 때문에,
ioperm
호출은 충분치 않다.
자유롭게 I/O 포트에 접근하는 것을 승인하는 것에 덧붙여, 더 높은 I/O 권한 수준에서 실행하는 것은 프로세스가 인터럽트를 무력화 시킬 수 있게 한다.
이것은 시스템을 파괴할 수도 있으므로 권장하는 바가 아니다.
승인은 fork와 exec에 의해 상속된다.
일반적인 프로세스에 대한 I/O 권한 수준은 0이다.
반환값
성공 시, 0이 반환되고, 에러 시, -1이 반환된다.
errno
는 적절히 설정된다.
에러
- EINVAL
-
level
이 3보다 크다.
- EPERM
-
현재 사용자는 슈퍼 유저가 아니다.
커널 소스에서의 주의
iopl
는 반드시 0x3ff 범위를 넘어서는 I/O 포트에 접근하고자 할 때 사용한다:
모든 비트맵 방식의 65536 포트를 가지려면, 비트맵/프로세스 8kB가 필요하다.
호환
iopl는 리눅스에 특화 되어 있다. 이식을 목적으로 하는 프로세스에 쓰지 말 것.
주의
Libc5은 이것을 시스템 호출처럼 다룬다. 그리고
<unistd.h>.
에 기본형을 가지고 있다. Glibc1은 기본형을 가지지 않는다. Glibc2
<sys/io.h>
과
<sys/perm.h>.
에 모두 기본형을 가진다. 후자를 제외하곤, I386에서만 가능하다.
관련 항목
ioperm(2)
역자
ASPLINUX<man@asp-linux.co.kr>, 2000년 7월 27일
Index
- 이름
-
- 사용법
-
- 설명
-
- 반환값
-
- 에러
-
- 커널 소스에서의 주의
-
- 호환
-
- 주의
-
- 관련 항목
-
- 역자
-
This document was created by
man2html,
using the manual pages.
Time: 08:07:00 GMT, March 25, 2004