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
TRADUZIDO POR LDP-BR em 21/08/2000.
André L. Fassone Canova <lonelywolf [AT] blv.br> (tradução) Ademar de Souza Reis Jr. <ademar [AT] ademar.org> (revisão)