.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) .\" Portions extracted from linux/kernel/ioport.c (no copyright notice). .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" Modified Tue Aug 1 16:47 1995 by Jochen Karrer .\" .\" Modified Tue Oct 22 08:11:14 EDT 1996 by Eric S. Raymond .\" Modified Fri Nov 27 14:50:36 CET 1998 by Andries Brouwer .\" Modified, 27 May 2004, Michael Kerrisk .\" Added notes on capability requirements .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .\" .\" Japanese Version Copyright (c) 1997 HORIMOTO Masafumi .\" all rights reserved. .\" Translated 1997-09-29, HORIMOTO Masafumi .\" Modified 1999-04-03, HANATAKA Shinya .\" Updated 2003-10-12, Kentaro Shirakata .\" Updated 2005-02-24, Akihiro MOTOKI .\" Updated 2013-05-06, Akihiro MOTOKI .\" .TH IOPL 2 2013\-03\-15 Linux "Linux Programmer's Manual" .SH 名前 iopl \- I/O 特権レベルを変更する .SH 書式 \fB#include \fP .sp \fBint iopl(int \fP\fIlevel\fP\fB);\fP .SH 説明 \fBiopl\fP() は呼び出し元のプロセスの I/O 特権レベルを \fIlevel\fP の下位 2 ビットで指定した値に変更する。 この関数は 8514 互換の X サーバを Linux で動作させるために必要である。 なぜならこの X サーバは 65536 個の I/O ポート全てへのアクセスを要求するので \fBioperm\fP(2) 関数では不十分だからである。 より高い I/O 特権レベルでの動作をさせることによって I/O ポートアクセスの制限を解除することに加えて、プロセスが割り込みを 無効にすることもできるようになる。この機能は時としてシステムの破壊を もたらすので勧められない。 \fBfork\fP(2) や \fBexec\fP(2) を行った場合、特権は継承される。 通常のプロセスの I/O 特権レベルは 0 である。 このシステムコールはほとんど i386 アーキテクチャーのためだけのものである。 その他の多くのアーキテクチャーでは存在しないか、常にエラーを返す。 .SH 返り値 成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 .SH エラー .TP \fBEINVAL\fP 引き数 \fIlevel\fP が 3 より大きい。 .TP \fBENOSYS\fP このシステムコールは実装されていない。 .TP \fBEPERM\fP 呼び出し元プロセスに \fBiopl\fP() を呼び出すのに十分な権限がなかった。 I/O 特権レベルを現在の値より上げるには \fBCAP_SYS_RAWIO\fP ケーパビリティが必要である。 .SH 準拠 \fBipc\fP() は Linux 特有であり、 移植を意図したプログラムでは 使用してはいけない。 .SH 注意 libc5 ではシステムコールとして扱い \fI\fP にプロトタイプが存在している。 glibc1 にはプロトタイプは存在していない。 glibc2 は \fI\fP と \fI\fP の両方にプロトタイプを持っている。 後者は i386 のみで利用可能なので、使用すべきではない。 .SH 関連項目 \fBioperm\fP(2), \fBoutb\fP(2), \fBcapabilities\fP(7) .SH この文書について この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。