Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       remap_file_pages - Creer une projection non lineaire d'un fichier

SYNOPSIS

       #define _GNU_SOURCE
       #include <sys/mman.h>

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

DESCRIPTION

       L'appel   systeme   remap_file_pages()   est  utilise  pour  creer  une
       projection non lineaire, c'est-a-dire une projection dans laquelle  les
       pages   du  fichier  sont  projetees  en  memoire  dans  un  ordre  non
       sequentiel. L'avantage d'utiliser remap_file_pages() au lieu  de  faire
       des  appels repetes a mmap(2) est que la premiere approche n'impose pas
       au noyau de creer des structures de donnees VMA (Virtual Memory  Area :
       zone memoire virtuelle) supplementaires.

       Pour  creer  une  projection  non  lineaire,  nous allons effectuer les
       etapes suivantes :

       1. Utiliser mmap(2) pour creer une  projection  (qui  est  initialement
          lineaire).   Cette   projection  doit  etre  creee  avec  l'attribut
          MAP_SHARED.

       2. Utiliser  un  ou  plusieurs   appels   a   remap_file_pages()   pour
          reorganiser  la  correspondance  entre les pages de la projection et
          les pages du fichier. Il est possible d'acceder a la meme page  d'un
          fichier dans plusieurs endroits de la region projetee.

       Les  parametres pgoff et size specifient la region du fichier a reloger
       dans la projection : pgoff est  un  decalage  de  fichier  (Ndt :  file
       offset)  dans  l'unite  de  taille  de  page  du  systeme ; size est la
       longueur de la region en octets.

       Le parametre addr sert a deux choses. Tout  d'abord,  il  identifie  la
       projection  des  pages  que l'on souhaite reorganiser. Ainsi, addr doit
       etre une adresse tombant dans une region precedemment projetee  par  un
       appel  a mmap(2). Ensuite, addr specifie l'adresse a laquelle les pages
       du fichier identifiees par pgoff et size seront placees.

       Les valeurs specifiees dans addr et size doivent etre des multiples  de
       la  taille  de page systeme. Si elles ne le sont pas, le noyau arrondit
       par d'efaut les deux valeurs au multiple  de  taille  de  page  le  plus
       proche.

       Le parametre prot doit etre specifie a 0.

       Le  parametre flags a la meme signification que pour mmap(2), mais tous
       les attributs autres que MAP_NONBLOCK sont ignores.

VALEUR RENVOY'EE

       S'il reussit, remap_file_pages() renvoie 0. S'il echoue, -1 est renvoye
       et errno est positionnee en consequence.

ERREURS

       EINVAL addr  ne  fait  pas reference a une projection valide creee avec
              l'attribut MAP_SHARED.

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

VERSIONS

       L'appel systeme remap_file_pages() est apparu dans  Linux  2.5.46 ;  la
       glibc le gere depuis la version 2.3.3.

CONFORMIT'E

       L'appel systeme remap_file_pages() est specifique a Linux.

VOIR AUSSI

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

COLOPHON

       Cette page fait partie de  la  publication  3.27  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      etre       trouvees       a       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue a l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   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'equipe francophone de traduction de Debian (2006-2009).

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

       Vous  pouvez  toujours avoir acces a la version anglaise de ce document
       en utilisant la commande << man -L C <section> <page_de_man> >>.