mmap2(2)

BEZEICHNUNG
mmap2 - Dateien oder Geräte in den Speicher mappen

BIBLIOTHEK
Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT
#include <sys/mman.h>    /* Definition der Konstanten MAP_* und PROT_* */
#include <sys/syscall.h> /* Definition der Konstanten SYS_* */
#include <unistd.h>

void *syscall(SYS_mmap2, unsigned long Adr, unsigned long Länge,
              unsigned long Prot, unsigned long Schalter,
              unsigned long dd, unsigned long pgVersatz);

BESCHREIBUNG
Wahrscheinlich sind Sie an diesem Systemaufruf nicht interessiert. Lesen Sie stattdessen mmap(2), der die Glibc-Wrapperfunktion beschreibt, die diesen Systemaufruf aufruft.

Der Systemaufruf mmap2() stellt die gleiche Schnittstelle wie mmap(2) bereit, außer dass das letzte Argument den Versatz in die Datei in 4096-byte-Einheiten festlegt (statt in Bytes, wie dies mmap(2) macht). Dies ermöglicht es Anwendungen, die ein 32-bit off_t verwenden, große Dateien (bis zu 2^44 byte) zu mappen.

RÜCKGABEWERT
Im Erfolgsfall liefert mmap2() einen Zeiger auf den gemappten Bereich zurück. Im Fehlerfall wird -1 zurückgeliefert und errno gesetzt, um den Fehler anzuzeigen.

FEHLER

EFAULT
    Problem beim Erhalten der Daten aus dem Anwendungsbereich.

EINVAL
    (Verschiedene Plattformen, auf denen die Seitengröße nicht 4096 byte beträgt.) Versatz * 4096 ist kein Vielfaches der Systemseitengröße.

mmap2() kann auch alle in mmap(2) beschriebenen Fehler zurückliefern.

VERSIONEN
mmap2() ist seit Linux 2.3.31 verfügbar.

STANDARDS
Dieser Systemaufruf ist Linux-spezifisch.

ANMERKUNGEN
Auf Architekturen, auf denen dieser Systemaufruf vorhanden ist, wird die Glibc-Wrapperfunktion mmap() statt des Systemaufrufs mmap(2) aufrufen.

Dieser Systemaufruf existiert auf X86-64 nicht.

Auf Ia64 ist die Einheit Versatz tatsächlich die Systemseitengröße statt 4096 byte.

SIEHE AUCH
getpagesize(2), mmap(2), mremap(2), msync(2), shm_open(3)

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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 die Mailingliste der Übersetzer (debian-l10n-german@lists.debian.org).