Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mprotect(2) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

memcntl(2)

mmap(2)

plock(2)

mlock(3C)

mlockall(3C)

sysconf(3C)

mman(5)

mprotect(2)                                                     mprotect(2)

NAME
     mprotect - Zugriffsschutz für Speicherabbildung ändern

SYNTAX
     #include <sys/mman.h>

     int mprotect(void *addr, sizet len, int prot);

BESCHREIBUNG
     Die Funktion mprotect() ändert den Zugriffsschutz für die Abbildungen
     im Bereich [addr, addr + len) auf prot. Die gültigen Werte für prot
     sind dieselben wie für mmap() und werden in der Datei sys/mman.h wie
     folgt definiert:

     PROTREAD      /* Seite kann gelesen werden */
     PROTWRITE     /* Seite kann geschrieben werden */
     PROTEXEC      /* Seite kann ausgeführt werden */
     PROTNONE      /* Seite kann nicht referiert werden */

FEHLER
     Die folgenden Beschreibungen der Fehlercodes sind funktionsspezifisch.
     Eine allgemeingültige Beschreibung finden Sie in introprm2(2) bzw. in
     errno(5).

     Unter den folgenden Bedingungen schlägt die Funktion mprotect() fehl
     und setzt errno auf die folgenden Werte:

     EACCES    Wenn prot einen Schutz angibt, der die Zugriffsrechte des
               Prozesses auf das zugrundeliegende Speicherobjekt verletzt.

     EAGAIN    Wenn prot PROTWRITE für eine Abbildung vom Typ MAPPRIVATE
               angibt und unzureichende Speicherressourcen zum Sperren der
               privaten Seite reservierbar sind.

     EINVAL    Wenn addr kein Vielfaches der Seitenlänge ist, welche von
               sysconf() zurückgegeben wird.

     EINVAL    Wenn das Argument len einen Wert kleiner oder gleich 0 ent-
               hält.

     ENOMEM    Wenn Adressen im Bereich [addr, addr + len) für den Adreßbe-
               reich eines Prozesses ungültig sind, oder eine oder mehrere
               Seiten angegeben werden, welche nicht abgebildet werden.

     Wenn mprotect() aus anderen Gründen als EINVAL fehlschlägt, können die
     Schutzmechanismen für einige Seiten im Bereich [addr, addr + len)
     bereits geändert worden sein. Wenn der Fehler bei einigen Seiten an
     der Adresse addr2 auftritt, dann werden die Schutzmechanismen aller
     ganzen Seiten im Bereich [addr, addr2] verändert.






Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

mprotect(2)                                                     mprotect(2)

ERGEBNIS
     Nach erfolgreicher Ausführung liefert die Funktion mprotect() den Wert
     0; ansonsten wird der Wert -1 zurückgegeben und errno gesetzt.

SIEHE AUCH
     memcntl(2), mmap(2), plock(2), mlock(3C), mlockall(3C), sysconf(3C),
     mman(5).















































Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026