Manpages

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 [AT] blv.br> (tradução) Ademar de Souza Reis Jr. <ademar [AT] ademar.org> (revisão)