Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

NOM

       remap_file_pages - Créer une projection non linéaire d'un fichier

SYNOPSIS

       #define _GNU_SOURCE         /* Consultez feature_test_macros(7) */
       #include <sys/mman.h>

       int remap_file_pages(void *addr, size_t size, int prot,
                            ssize_t pgoff, int flags);

DESCRIPTION

       L'appel   système   remap_file_pages()   est  utilisé  pour  créer  une
       projection non linéaire, c'est-à-dire une projection dans laquelle  les
       pages   du  fichier  sont  projetées  en  mémoire  dans  un  ordre  non
       séquentiel. L'avantage d'utiliser remap_file_pages() au lieu  de  faire
       des  appels répétés à mmap(2) est que la première approche n'impose pas
       au noyau de créer des structures de données VMA (Virtual Memory  Area :
       zone mémoire virtuelle) supplémentaires.

       Pour  créer  une  projection  non  linéaire,  nous allons effectuer les
       étapes suivantes :

       1. Utiliser mmap(2) pour créer une  projection  (qui  est  initialement
          linéaire).   Cette   projection  doit  être  créée  avec  l'attribut
          MAP_SHARED.

       2. Utiliser  un  ou  plusieurs   appels   à   remap_file_pages()   pour
          réorganiser  la  correspondance  entre les pages de la projection et
          les pages du fichier. Il est possible d'accéder à la même page  d'un
          fichier dans plusieurs endroits de la région projetée.

       Les  paramètres pgoff et size spécifient la région du fichier à reloger
       dans la projection : pgoff est  un  décalage  de  fichier  (Ndt :  file
       offset)  dans  l'unité  de  taille  de  page  du  système ; size est la
       longueur de la région en octets.

       Le paramètre addr sert à deux choses. Tout  d'abord,  il  identifie  la
       projection  des  pages  que l'on souhaite réorganiser. Ainsi, addr doit
       être une adresse tombant dans une région précédemment projetée  par  un
       appel  à mmap(2). Ensuite, addr spécifie l'adresse à laquelle les pages
       du fichier identifiées par pgoff et size seront placées.

       Les valeurs spécifiées dans addr et size doivent être des multiples  de
       la  taille  de page système. Si elles ne le sont pas, le noyau arrondit
       par dfaut les deux valeurs au multiple  de  taille  de  page  le  plus
       proche.

       Le paramètre prot doit être spécifié à 0.

       Le  paramètre flags a la même signification que pour mmap(2), mais tous
       les attributs autres que MAP_NONBLOCK sont ignorés.

VALEUR RENVOYÉE

       S'il réussit, remap_file_pages() renvoie 0. S'il échoue, -1 est renvoyé
       et errno est positionnée en conséquence.

ERREURS

       EINVAL addr  ne  fait  pas référence à une projection valide créée avec
              l'attribut MAP_SHARED.

       EINVAL addr, size, prot ou pgoff n'est pas valable.

VERSIONS

       L'appel système remap_file_pages() est apparu dans  Linux  2.5.46 ;  la
       glibc le gère depuis la version 2.3.3.

CONFORMITÉ

       L'appel système remap_file_pages() est spécifique à Linux.

VOIR AUSSI

       getpagesize(2), mmap(2), mmap2(2), mprotect(2), mremap(2), msync(2)

COLOPHON

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

TRADUCTION

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

       Alain   Portal   <URL:http://manpagesfr.free.fr/> (2004-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> ».