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)