ioperm - システムコールの説明 - Linux コマンド集 一覧表
- 名前
- 書式
- 説明
- 返り値
- エラー
- 準拠
- 注意
- 関連項目
名前
書式
#include <unistd.h>
/* for libc5 */
#include <sys/io.h>
/* for glibc */
int ioperm(unsigned long
from
, unsigned long
num
, int
turn_on
);
説明
ioperm
() は引き数 from
の I/O ポートアドレスから
num
バイト分の領域に対するこのプロセスのアクセス許可ビットを
turn_on
に設定する。
ioperm
() の使用にはスーパユーザー権限が必要である。
この方法で設定できるのは 0x3ff 番地までの I/Oポートに限られる。
これよりも大きなアドレスのポートに対しては
iopl
()関数を使わなければならない。
fork
()した場合はアクセス権は継承されないが、
exec
()の場合は継承される。
これはスーパユーザー権限を持たないプロセスにポートへのアクセス権を
与えるのに使用できる。
このシステムコールはほとんど i386 アーキテクチャのためだけのものである。
その他の多くのアーキテクチャでは存在しないか、常にエラーを返す。
返り値
成功した場合には 0 を返す。エラーの場合に -1 を返し、
errno
に適切な値を設定する。
エラー
-
EINVAL
-
from
または
num
の値が不正である。
-
EIO
-
(PPC で)このシステムコールはサポートしていない。
-
EPERM
-
呼び出し元プロセスに
ioperm
()を呼び出すのに十分な権限がなかった。
ioperm
()を呼び出すには
CAP_SYS_RAWIO
ケーパビリティが必要である。
準拠
ioperm
() は Linux 特有の関数であり、移植を意図したプログラムで
使用してはならない。
注意
libc5 ではシステムコールとして扱い
<unistd.h>
にプロトタイプが存在している。
glibc1 にはプロトタイプは存在しない。
glibc2 は
<sys/io.h>
と
<sys/perm.h>
の両方にプロトタイプを持っている。
後者は i386 のみで利用可能なので、使用すべきではない。
関連項目
- Linux Tips 関連記事
- Linux Tips(目次)
- Linux ディストリビューション一覧
- rpm のファイル名にあるi386とかi686とは
- 自分のマシンの情報を調べる
- cron の設定
- ssh の root ログインを禁止する
- ssh を、ユーザ、IPでアクセス制限
- 鍵交換方式によるssh接続
- 鍵交換方式によるssh接続( windowsから )
- 複数ファイル内の文字列を置換して上書き保存する
- あるグループをイニシャルグループとするユーザー一覧出力
- 複数ファイルのファイル名を一括変換する
- 連番ファイルをコマンド一発で作成する
- 中身がランダムなファイルを任意のサイズで作成する
- Linux ユーザーアカウントをロック・アンロックする