mmap2(2) System Calls Manual mmap2(2)

mmap2 - Dateien oder Geräte in den Speicher mappen

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);

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.

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.

Problem beim Erhalten der Daten aus dem Anwendungsbereich.
(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.

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.

Linux.

Linux 2.3.31.

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 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.

30. März 2023 Linux man-pages 6.05.01