MODIFY_LDT(2)

NOME
modify_ldt - obtém ou seleciona ldt

SINOPSE
#include <linux/ldt.h>
#include <linux/unistd.h>

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

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

DESCRIÇÃO
modify_ldt lê ou escreve a tabela local de descritores (ldt) para um processo. A ldt é uma maneira através do qual o gerenciamento da tabela de memória é feito por processadores i386. Para mais inforamações sobre esta tabela, veja o guia do processador Intel 386.

Quando func é 0, modify_ldt lê a ldt na memória apontando para o ptr. O número de bytes lidos pe o menor de bytecount e o tamanho atual da ldt.

Quando func é 1, modify_ldt modifica uma entrada ldt. ptr aponta para uma estrutura modify_ldt_ldt_s e bytecount deve ser igual ao tamanho desta estrutura.

VALORES RETORNADOS
Em caso de sucesso, modify_ldt retorna ou o número atual de bytes lidos (para leitura) ou 0 (para escrita). Em caso de falha, modify_ldt retorna -1 e seleciona errno.

ERROS

ENOSYS
    func não é nem 0 nem 1.

EINVAL
    ptr é 0, ou func é 1 e bytecount não é igual ao tamanho da estrutura modify_ldt_ldt_s, ou func é 1 e a nova entrada ldt possui valores ilegais.

EFAULT
    ptr aponta para fora do espaço de endereçamento.

DE ACORDO COM
Esta chamada é específica do Linux e não deveria ser usadas em programas que pretendem ser portáveis.

VEJA TAMBÉM
vm86(2)

TRADUZIDO POR LDP-BR em 21/08/2000.
André L. Fassone Canova <lonelywolf@blv.com.br> (tradução) Ademar de Souza Reis Jr. <ademar@ademar.org> (revisão)