MMAP2(2)

NOM
mmap2 - Établir une projection en mémoire d'un fichier ou d'un périphérique

SYNOPSIS
#include <sys/mman.h>

void *mmap2(void *début, size_t longueur, int prot,
            int drapeaux, int fd, off_t décalage_en_pages);

#endif

DESCRIPTION
L'appel système mmap2() réalise la même opération que mmap(2), sauf que l'argument final spécifie un décalage dans le fichier en unité de 4096 octets plutôt qu'en octets comme cela est fait par mmap(2). Ceci permet aux applications d'utiliser un off_t sur 32 bits pour projeter des fichiers très grands (généralement jusqu'à 2^44 octets).

VALEUR RENVOYÉE
S'il réussit, mmap2() renvoie un pointeur sur la zone projetée. S'il échoue, il renvoie -1 et errno est remplie en conséquence.

ERREURS

EFAULT
    problème lors de la récupération des données de l'espace utilisateur.

EINVAL
    (Diverses plates-formes où la taille de page n'est pas 4096 octets.) (Various platforms where the page size is not 4096 bytes.) offset * 4096 n'est pas un multiple de la taille de page du système.

mmap2() peut retourner n'importe quelle erreur de mmap(2).

VERSIONS
mmap2() est disponible depuis Linux 2.3.31.

CONFORMITÉ
Cet appel est spécifique à Linux.

NOTES
Aujourd'hui, la fonction enveloppe mmap() de la glibc invoque cet appel système plutôt que l'appel mmap(2). Sur architecture ia64, l'unité de offset est la taille de la page système plutôt que 4096 octets.

VOIR AUSSI
getpagesize(2), mmap(2), mremap(2), msync(2), shm_open(3)

TRADUCTION

Ce document est une traduction réalisée par Thierry Vignaud <tvignaud AT mandriva DOT com> en 2002 et révisée le 22 décembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 mmap2 ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.