Документация по LinuxLinuxDoc.Ru 🔍

modify_ldt - получает или устанавливает ldt

НАЗВАНИЕ
modify_ldt - получает или устанавливает ldt

СИНТАКСИС
#include
#include

_syscall3( int, modify_ldt, int, func, void *, ptr, unsigned long, bytecount );

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 должен указывать на структуру mod-
ify_ldt_ldt_s , а bytecount должен быть равен размеру этой
структуры.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При удачном завершении работы modify_ldt возвращает или
количество прочитанных байтов (при чтении), или 0 (при
записи). В случае ошибки modify_ldt возвращает -1, а
переменной errno присваивается номер ошибки.

КОДЫ ОШИБОК
ENOSYS Аргумент func не равен 0 или 1.

EINVAL В этом случае ptr равен 0 или func равен 1 и byte-
count не равен размеру структуры modify_ldt_ldt_s,
или func равен 1, а в новой записи ldt есть
неправильные значения.

EFAULT ptr указывает на каталоги за пределами доступного
адресного пространства.

СООТВЕТСТВИЕ СТАНДАРТАМ
modify_ldt - это функция, специфичная для Linux. Не
рекомендуется использовать ее в программах, переносимых в
другие системы.
Читать новости Linux в Telegram
Linux - modify_ldt - получает или устанавливает ldt
Мы в соцсетях ✉