int modify_ldt(int func, void *ptr, unsigned long bytecount);
ОПИСАНИЕ
modify_ldt
читает или записывает локальную таблицу описателей (ldt) процесса.
Ldt - это таблица управления памятью процесса, используемая
в процессорах серии i386. Подробнее о содержимом этой
таблицы читайте в руководствах по процессору Intel 386.
Если значение
func
равно 0, то
modify_ldt
записывает ldt в память (адрес указан
ptr).
После этого количество прочитанных байтов меньше или равно
bytecount
и равно реальному размеру ldt.
Если значение
func
равно 1, то
modify_ldt
изменяет одну запись ldt.
ptr
должен указывать на структуру
modify_ldt_ldt_s ,
а
bytecount
должен быть равен размеру этой структуры.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
При удачном завершении работы
modify_ldt
возвращает или количество прочитанных байтов (при чтении),
или 0 (при записи).
В случае ошибки
modify_ldt
возвращает -1, а переменной
errno
присваивается номер ошибки.
НАЙДЕННЫЕ ОШИБКИ
ENOSYS
Аргумент
func
не равен 0 или 1.
EINVAL
В этом случае
ptr
равен 0
или
func
равен 1 и
bytecount
не равен размеру структуры
modify_ldt_ldt_s,
или
func
равен 1, а в новой записи ldt есть неправильные значения.
EFAULT
ptr
указывает на каталоги за пределами доступного адресного пространства.
СООТВЕТСТВИЕ СТАНДАРТАМ
modify_ldt - это функция, специфичная для Linux. Не рекомендуется
использовать ее в программах, переносимых в другие системы.