Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ msgctl(2) — sys5 — Apollo Domain/IX SR9.5

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

msgget(2)

msgop(2)



MSGCTL(2)                DOMAIN/IX SYS5                 MSGCTL(2)



NAME
     msgctl - message control operations

USAGE
     #include <sys/types.h>
     #include <sys/ipc.h>
     #include <sys/msg.h>

     int msgctl(msqid, cmd, buf)
     int msqid, cmd;
     struct msqid_ds *buf;


DESCRIPTION
     Msgctl provides a variety of message control operations,
     specified by cmd.  The following commands are available:

     IPC_STAT  Place the current value of each member of the data
               structure associated with msqid into the structure
               pointed to by buf.  The contents of this structure
               are defined in intro(2).

     IPC_SET   Set the value of the following members of the data
               structure associated with msqid to the correspond-
               ing value found in the structure pointed to by
               buf:

               msg_perm.uid
               msg_perm.gid
               msg_perm.mode /* only low 9 bits */
               msg_qbytes

               This cmd can only be executed by a process that
               has an effective user ID equal to either that of
               super user or to the value of msg_perm.uid in the
               data structure associated with msqid.  Only the
               super user can raise the value of msg_qbytes.

     IPC_RMID  Remove the message queue identifier specified by
               msqid from the system and destroy the message
               queue and data structure associated with it.  This
               cmd can only be executed by a process that has an
               effective user ID equal to that of the super user
               or to the value of msg_perm.uid in the data struc-
               ture associated with msqid.

RETURN VALUE
     A successful call returns zero.  A failed call returns -1
     and sets errno as indicated below.




Printed 12/4/86                                          MSGCTL-1







MSGCTL(2)                DOMAIN/IX SYS5                 MSGCTL(2)



ERRORS
     Msgctl will fail if one or more of the following is true:

     [EINVAL]  Msqid is not a valid message queue identifier.

     [EINVAL]  Cmd is not a valid command.

     [EACCES]  Cmd is equal to IPC_STAT and {READ} operation per-
               mission is denied to the calling process (see
               intro(2)).

     [EPERM]   Cmd is equal to IPC_RMID or IPC_SET.  The effec-
               tive user ID of the calling process is not equal
               to that of super user and it is not equal to the
               value of msg_perm.uid in the data structure asso-
               ciated with msqid.

     [EPERM]   Cmd is equal to IPC_SET, an attempt is being made
               to increase to the value of msg_qbytes, and the
               effective user ID of the calling process is not
               equal to that of super user.

     [EFAULT]  Buf points to an illegal address.

RELATED INFORMATION
     msgget(2), msgop(2)



























MSGCTL-2                                          Printed 12/4/86





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