Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mctl(3) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mmap(2)

getpagesize(3)

mlock(3C)

mlockall(3C)

msync(3C)

mctl(3)                 (BSD Compatibility Package)                 mctl(3)

NAME
     mctl - Steuerung der Speicherverwaltung

SYNTAX
     /usr/ucb/cc [flag ...] file ... -lucb

     #include <sys/types.h>
     #include <sys/mman.h>

     mctl(caddrt addr, sizet len, int function, void *arg);

BESCHREIBUNG
     mctl wendet verschiedene Steuerfunktionen auf Speicherseiten an, die
     auf den für den Adreßbereich [addr, addr + len) eingerichteten Abbil-
     dungen gekennzeichnet sind. Die durchzuführende Funktion wird durch
     das Argument function angegeben. Die gültigen Funktionen sind in
     mman.h wie folgt definiert:

     MCLOCK
          Die Seiten im Bereich im Speicher sperren. Diese Funktion unter-
          stützt die Funktion mlock. Nähere Angaben zur Semantik und Ver-
          wendung siehe mlock(3C). Das Argument arg wird ignoriert.

     MCLOCKAS
          Die Seiten im Adreßbereich im Speicher sperren. Diese Funktion
          unterstützt die Funktion mlockall. Nähere Angaben zur Semantik
          und Verwendung siehe mlockall(3C). Die Argumente addr und len
          werden ignoriert. Das Argument arg ist eine Ganzzahl, die aus
          folgenden Flags erstellt wird:

          MCLCURRENT    Aktuelle Abbildungen sperren
          MCLFUTURE     Weitere Abbildungen sperren

     MCSYNC
          Die Seiten im Bereich einschließlich des zugehörigen Sicherungs-
          speichers synchronisieren. Optional können Cache-Kopien ungültig
          gemacht werden. Diese Funktion unterstützt die Funktion msync.
          Nähere Angaben zur Semantik und Verwendung siehe msync(3C). Mit
          dem Argument arg wird das Argument flags für msync dargestellt.
          Es wird aus einem Operator OR aus folgenden Werten aufgebaut:

          MSSYNC        Synchronisiertes Schreiben
          MSASYNC       Sofortige Rückkehr
          MSINVALIDATE  Abbildungen ungültig machen

          MSASYNC kehrt zurück, nachdem alle E/A-Operationen geplant sind.
          MSSYNC kehrt erst wieder zurück, wenn alle E/A-Operationen been-
          det sind. Geben Sie entweder MSASYNC oder MSSYNC an.
          MSINVALIDATE macht alle Cache-Kopien von Speicherdaten ungültig,
          so daß sie beim nächsten Verweis erneut aus dem permanenten Spei-
          cherplatz des Objekts abgerufen werden müssen.




Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

mctl(3)                 (BSD Compatibility Package)                 mctl(3)

     MCUNLOCK
          Die Sperre der Seiten im Bereich aufheben. Diese Funktion unter-
          stützt die Funktion munlock. Nähere Angaben zur Semantik und Ver-
          wendung siehe munlock [mlock(3C)]. Das Argument arg wird igno-
          riert.

     MCUNLOCKAS
          Die Sperre des Adreßbereichs im Speicher und die Sperren aller
          aktuellen Abbildungen aufheben. Diese Funktion unterstützt die
          Funktion munlockall. Die Argumente addr und len müssen den Wert 0
          haben. Das Argument arg wird ignoriert.

RÜCKGABEWERT
     mctl gibt bei erfolgreicher Ausführung 0 und bei einem Fehler -1
     zurück.

DIAGNOSE
     mctl schlägt bei folgenden Bedingungen fehl:

     EAGAIN    Ein Teil oder der gesamte Speicher, der durch die Operation
               ausgewiesen wurde, konnte aufgrund unzureichender Systemres-
               sourcen nicht gesperrt werden.

     EBUSY     MSINVALIDATE wurde angegeben, und eine oder mehrere Seiten
               sind im Speicher gesperrt.

     EINVAL    addr ist kein Vielfaches der von getpagesize zurückgegebenen
               Seitengröße.

     EINVAL    addr und/oder len haben bei der Angabe von MCLOCKAS oder
               MCUNLOCKAS nicht den Wert 0.

     EINVAL    arg ist kein gültiges Argument für die angegebene Funktion.

     EIO       Beim Lesen aus oder dem Schreiben in das Dateisystem trat
               ein E/A-Fehler auf.

     ENOMEM    Adressen im Bereich [addr, addr + len) sind für den Adreßbe-
               reich eines Prozesses ungültig oder geben eine oder mehrere
               Seiten an, die nicht im Speicher abgebildet sind.

     EPERM     Die effektive BenutzerID für den Prozeß ist nicht der Super-
               user, und es wurde eine der Funktionen MCLOCK, MCLOCKAS,
               MCUNLOCK oder MCUNLOCKAS angegeben.

SIEHE AUCH
     mmap(2), getpagesize(3), mlock(3C), mlockall(3C), msync(3C).







Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

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