GETPAGESIZE(2)

BEZEICHNUNG
getpagesize - gibt die Größe einer Speicherseite zurück

ÜBERSICHT
#include <unistd.h>

int getpagesize(void);

Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

getpagesize():
    seit Glibc 2.12:
        _BSD_SOURCE ||
            !(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
    vor Glibc 2.12:
        _BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
           _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

BESCHREIBUNG
Die Funktion getpagesize() gibt die Anzahl der Bytes einer Seite zurück. »Seite« bezieht sich hier auf das Objekt, von dem die Beschreibung von mmap(2) besagt, dass Dateien auf seitengroße Einheiten abgebildet werden. Die Größe der von mmap(2) genutzten Seiten ergibt sich aus
#include <unistd.h>
long sz = sysconf(_SC_PAGESIZE);
(die Mehrzahl der Systeme erlaubt die Verwendung des Synonyms _SC_PAGE_SIZE für _SC_PAGESIZE) oder
#include <unistd.h>
int sz = getpagesize();

KONFORM ZU
SVr4, 4.4BSD, SUSv2. In SUSv2 wird der Systemaufruf getpagesize() als MISSBILLIGT gekennzeichnet und fällt in POSIX.1-2001 weg; in HP-UX kommt er nicht vor. Portable Programme sollten stattdessen sysconf(_SC_PAGESIZE) verwenden.

ANMERKUNGEN
Die Verfügbarkeit des Systemaufrufs getpagesize() auf einem Linux-System ist architekturabhängig. Ist er verfügbar, gibt er das Kernel-Symbol PAGE_SIZE zurück. Dessen Wert hängt ab von der Architektur und dem Modell der Maschine. Generell werden Binärdateien verwendet, die von der Architektur abhängen, aber nicht vom Modell, um eine einzige binäre Distribution pro Architektur haben. Das bedeutet, dass ein Benutzerprogramm PAGE_SIZE nicht bei der Kompilierung aus einer Header-Datei bestimmen sollte, sondern den entsprechenden Systemaufruf verwenden sollte. Das gilt mindestens für jene Architekturen (wie sun4), für die diese Abhängigkeit besteht. Hier scheitern Libc4, Libc5 und Glibc 2.0, weil ihre getpagesize() einen statisch abgeleiteten Wert zurück gibt und keine Systemaufrufe verwendet. Die Dinge sind in Glibc 2.1 in Ordnung.

SIEHE AUCH
mmap(2), sysconf(3)

KOLOPHON
Diese Seite ist Teil der Veröffentlichung 3.27 des Projekts Linux-man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler gemeldet werden können, finden sich unter http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Regine Bast <regine.bast@bigfoot.com> und Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.