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 *addr, size_t length, int prot,
            int flags, int fd, off_t pgoffset);

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 renseignée en conséquence.

ERREURS

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

EINVAL
    (Pour diverses plates-formes où la taille de page n'est pas 4096 octets.) offset * 4096 n'est pas un multiple de la taille de page du système.

mmap2() peut renvoyer les mêmes erreurs que mmap(2).

VERSIONS
mmap2() est disponible depuis Linux 2.3.31.

CONFORMITÉ
Cet appel système 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 en fait 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 23 juin 2008.

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.