Rechercher une page de manuel
modify_ldt
Langue: ja
Version: 2007-06-01 (mandriva - 01/05/08)
Section: 2 (Appels système)
名前
modify_ldt - ldt を設定または取得する書式
#include <sys/types.h> int modify_ldt(int func, void *ptr, unsigned long bytecount);
説明
modify_ldt() はプロセスのローカル・ディスクリプター・テーブル (local descriptor table; ldt) を読み書きする。 ldt は i386 プロセッサーで使用されるプロセスごとのメモリ管理テーブルである。 このテーブルに関してのより詳しい情報は Intel 386 processor handbook を 参照すること。func が 0 ならば、 modify_ldt() は ldt を ptr が指しているメモリに読み込む。 読み込むバイト数は実際の ldt のサイズか bytecount より小さい方である。
func が 1 ならば、 modify_ldt() は ldt エントリの一つを変更する。 ptr は modify_ldt_ldt_s 構造体を指し、 bytecount はこの構造体の大きさに等しくなければならない。
返り値
成功した場合は、 modify_ldt() は (読み込みの場合は) 実際に読み込んだバイト数、 または (書き込みの場合は) 0 を返す。 失敗した場合は modify_ldt() は -1 を返し、 errno を設定する。エラー
- EFAULT
- ptr がアドレス空間の外を指している。
- EINVAL
- ptr が 0 である、 または func が 1 で bytecount が modify_ldt_ldt_s 構造体のサイズと等しくないか、 func が 1 で新しい ldt エントリが無効な値である。
- ENOSYS
- func が 0 でも 1 でもない。
準拠
このコールは Linux 特有であり、移植を意図したプログラムでは 使用してはいけない。注意
glibc はこのシステムコールに対するラッパー関数を提供していない。 syscall(2) を使って呼び出すこと。関連項目
vm86(2)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre