Provided by: manpages-fr-dev_3.57d1p1-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.57 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> ».