NOM
getpagesize - Obtenir la taille des pages mémoire du système
SYNOPSIS
#include <unistd.h>
int getpagesize(void);
Exigences de macros de test de fonctionnalités pour la glibc (voir
feature_test_macros(7)) :
getpagesize() : _BSD_SOURCE || _XOPEN_SOURCE >= 500
La fonction getpagesize() renvoie le nombre d’octets dans une page. Une
« page » est ce que l’on considère quand on dit dans la description de
mmap(2) que les fichiers sont projetés en unités de la taille d’une
page.
La taille d’une page du type de celle utilisée par mmap(2) est obtenue
en utilisant
#include <unistd.h>
long sz = sysconf(_SC_PAGESIZE);
(la plupart des systèmes autorisant le synonyme _SC_PAGE_SIZE pour
_SC_PAGESIZE), ou
#include <unistd.h>
int sz = getpagesize();
CONFORMITÉ
SVr4, BSD 4.4, SUSv2. Dans SUSv2 l’appel getpagesize() est indiqué
comme historique, et dans POSIX.1-2001 il a été abandonné ; HP-UX
n’offre pas cet appel. Les applications portables doivent utiliser
sysconf(_SC_PAGESIZE) plutôt que cette fonction.
NOTES
Que la routine getpagesize() sous Linux invoque un appel système ou non
dépend de l’architecture. Si c’est le cas, elle renvoie la valeur du
symbole PAGE_SIZE du noyau, dont la valeur dépend de l’architecture et
du modèle de machine. Généralement, on utilise des exécutables binaires
qui dépendent de l’architecture mais pas du modèle de machine afin
d’avoir une seule distribution binaire par architecture. Ceci signifie
qu’un programme utilisateur ne doit pas rechercher la valeur de
PAGE_SIZE dans les fichiers d’en‐tête lors de la compilation, mais
invoquer véritablement un appel système, au moins pour les
architectures où cette dépendance existe (comme sun4). En ce sens,
libc4, libc5 et glibc 2.0 font erreur car leur version de getpagesize()
renvoie une valeur calculée statiquement, et n’invoque pas d’appel
système. Tout est arrangé depuis la glibc 2.1.
VOIR AUSSI
mmap(2), sysconf(3)
COLOPHON
Cette page fait partie de la publication 3.23 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
Cette page de manuel a été traduite et mise à jour par Christophe
Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
disposition sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
francophone de traduction de Debian.
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> ».