Unix-system-calls-iopl
[top]#
|http://www.google.com/[Google] | a|
Web | This Site |
選択した読書 Copyright©2014 by finddevguides |
[cols=",,,,,,,",] |
| | Home | | References | | Discussion Forums | | About TP
[width="100%",cols="100%",] |
a| == iopl()-Unix、Linuxシステムコール
[[File:]] image :http://www.finddevguides.com/images/next.gif [next] image:http://www.finddevguides.com/add- this.gif [AddThisソーシャルブックマークボタン]
広告
NAME
iopl-I/O特権レベルの変更
概要
- #include <sys/io.h> *
説明
この呼び出しは、8514互換のXサーバーをLinuxで実行できるようにするために必要です。 これらのXサーバーはすべての65536 I/Oポートへのアクセスを必要とするため、 ioperm ()呼び出しでは不十分です。
制限のないI/Oポートアクセスを許可することに加えて、より高いI/O特権レベルで実行すると、プロセスが割り込みを無効にすることもできます。 これはおそらくシステムをクラッシュさせるため、お勧めしません。
許可は fork ()および exec ()によって継承されます。
通常のプロセスのI/O特権レベルは0です。
この呼び出しは主にi386アーキテクチャ用です。 他の多くのアーキテクチャでは存在しないか、常にエラーを返します。
返り値
成功すると、ゼロが返されます。 エラーの場合、-1が返され、_errno_が適切に設定されます。
エラー
Tag | Description |
---|---|
EINVAL | level is greater than 3. |
ENOSYS | This call is unimplemented. |
*EPERM * | The calling process has insufficient privilege to call* iopl*(); the CAP_SYS_RAWIO capability is required. |
準拠
ノート
Libc5はそれをシステムコールとして扱い、_ <unistd.h> にプロトタイプを持っています。 Glibc1にはプロトタイプがありません。 Glibc2には、 <sys/io.h> と <sys/perm.h> _の両方にプロトタイプがあります。 後者は避けてください。i386でのみ利用可能です。
関連項目
[[File:]] image :http://www.finddevguides.com/images/next.gif [next] [[File:]]
広告
|
[cols="^",] |
|Advertisements