Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       modify_ldt - Lire/écrire la LDT

SYNOPSIS

       #include <sys/types.h>

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

       Remarque : il n'existe pas de fonction glibc autour de cet appel système ; consultez NOTES.

DESCRIPTION

       modify_ldt()  lit ou écrit la table des descripteurs locaux (Local Descriptor Table) du processus. La LDT
       est  une  table  de  gestion  mémoire  par  processus  utilisée  par  les  processeurs  i386.  Pour  plus
       d'informations sur cette table, se reporter au manuel Intel 386.

       Quand  func  vaut  0,  modify_ldt()  lit  la  LDT  et la place dans la mémoire pointée par ptr. Le nombre
       d'octets lus est le minimum entre bytecount et la vraie taille de la LDT.

       Quand func vaut 1, modify_ldt() modifie une entrée de la LDT. ptr pointe sur une structure  user_desc  et
       bytecount doit être égal à la taille de cette structure.

       La structure user_desc est déclarée dans <asm/ldt.h> comme suit :

           struct user_desc {
               unsigned int  entry_number;
               unsigned long base_addr;
               unsigned int  limit;
               unsigned int  seg_32bit:1;
               unsigned int  contents:2;
               unsigned int  read_exec_only:1;
               unsigned int  limit_in_pages:1;
               unsigned int  seg_not_present:1;
               unsigned int  useable:1;
           };

       Sous Linux 2.4 et les versions précédentes, cette structure s'appelait modify_ldt_ldt_s.

VALEUR RENVOYÉE

       S'il  réussit  modify_ldt()  renvoie soit le nombre d'octets lus soit 0 (écriture). En cas d'échec -1 est
       renvoyé et errno contient le code d'erreur.

ERREURS

       EFAULT ptr pointe en dehors de l'espace d'adressage accessible.

       EINVAL ptr est nul,  ou  func  vaut  1  et  bytecount  n'est  pas  égal  à  la  taille  de  la  structure
              modify_ldt_ldt_s, ou func vaut 1 et la nouvelle entrée de LDT a des valeurs illégales.

       ENOSYS func n'est ni 0 ni 1.

CONFORMITÉ

       Cet  appel système est spécifique à Linux et ne doit pas être employé dans des programmes destinés à être
       portables.

NOTES

       La glibc ne fournit pas de fonction autour de cet appel système ; utilisez syscall(2) pour l'appeler.

VOIR AUSSI

       vm86(2)

COLOPHON

       Cette page fait partie de la publication 3.65 du projet man-pages Linux. Une description du projet et des
       instructions     pour     signaler     des     anomalies    peuvent    être    trouvées    à    l'adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par
       l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

       Christophe       Blaess       <http://www.blaess.fr/christophe/>      (1996-2003),      Alain      Portal
       <http://manpagesfr.free.fr/> (2003-2006).  Julien  Cristau  et  l'équipe  francophone  de  traduction  de
       Debian (2006-2009).

       Veuillez  signaler  toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org> ou par
       un rapport de bogue sur le paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C
       <section> <page_de_man> ».