Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ msgctl(2) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

msgget(2)

msgop(2)

msgctl(2)                                                         msgctl(2)

NAME
     msgctl - Steuerfunktionen für Nachrichten liefern

SYNTAX
     #include <sys/msg.h>

     int msgctl(int msqid, int cmd, ... struct msqidds *buf );

BESCHREIBUNG
     msgctl() liefert Steuerfunktionen für Nachrichten, die durch cmd ange-
     geben werden. Folgende cmd-Steuerfunktionen stehen zur Verfügung:

     IPCSTAT  schreibt den aktuellen Wert jedes Elements der zu msqid
               gehörenden Datenstruktur in die Struktur, auf die buf zeigt.
               Der Inhalt dieser Struktur ist bei den Begriffserklärungen
               in der Einführung zu den Funktionsbeschreibungen definiert.

     IPCSET   setzt den Wert der nachstehenden Elemente der zu msqid gehö-
               renden Datenstruktur auf den entsprechenden Wert aus der
               Struktur, auf die buf zeigt:

               msgperm.uid
               msgperm.gid
               msgperm.mode  /* nur niederwertige 9 Bits */
               msgqbytes

               Diese Funktion kann nur von einem Prozeß ausgeführt werden,
               der die effektive Benutzernummer des Systemverwalters hat
               oder den Wert von msgperm.cuid oder msgperm.uid der zu
               msqid gehörenden Datenstruktur hat. Der Wert von msgqbytes
               kann nur vom Systemverwalter erhöht werden.

     IPCRMID  löscht die in msqid angegebene Kennung der Nachrichten-War-
               teschlange im System und entfernt die zugehörige Nachrich-
               ten-Warteschlange und Datenstruktur. Diese Funktion kann nur
               von einem Prozeß ausgeführt werden, der die effektive Benut-
               zernummer des Systemverwalters hat oder den Wert von
               msgperm.cuid oder msgperm.uid in der zu msqid gehörenden
               Datenstruktur hat.

     msgctl() ist erfolglos, wenn einer oder mehrere der nachstehenden
     Punkte zutreffen:

     EACCES     Bei IPCSTAT wird dem aufrufenden Prozeß die Erlaubnis ver-
                weigert.

     EFAULT     buf weist auf eine unzulässige Adresse.

     EINVAL     msqid ist keine gültige Kennung einer Nachrichten-Warte-
                schlange.

     EINVAL     cmd ist keine gültige Steuerfunktion.



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

msgctl(2)                                                         msgctl(2)

     EINVAL     cmd ist IPCSET und msgperm.uid oder msgperm.gid ist
                ungültig.

     EOVERFLOW  cmd ist IPCSTAT und uid oder gid ist zu groß, um in der
                Struktur gespeichert zu werden, auf die buf weist.

     EPERM      cmd ist gleich IPCRMID oder IPCSET. Die effektive Benut-
                zernummer des aufrufenden Prozesses ist nicht gleich der
                Nummer des Systemverwalters oder dem Wert von msgperm.cuid
                oder msgperm.uid in der zu msqid gehörenden Datenstruktur.

     EPERM      cmd ist gleich IPCSET, ein Versuch zur Erhöhung des Wertes
                von msgqbytes wird vorgenommen, und die effektive Benut-
                zernummer des aufrufenden Prozesses ist nicht gleich der
                Nummer des Systemverwalters.

ERGEBNIS
     Nach erfolgreicher Beendigung wird 0 zurückgegeben. Andernfalls wird
     -1 zurückgegeben, und errno wird zur Anzeige des Fehlers gesetzt.

SIEHE AUCH
     msgget(2), msgop(2).
































Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

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