Manpages

이 름

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 [AT] asp-linux.kr>, 2000년 7월 27일