Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ msgctl(2) — svr3 — mips UMIPS RISC/os 5.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(2)

msgget(2)

msgop(2)



MSGCTL(2-SVR3)      RISC/os Reference Manual       MSGCTL(2-SVR3)



NAME
     msgctl - message control operations

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

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

DESCRIPTION
     msgctl provides a variety of message control operations as
     specified by cmd.  The following cmds are available:

     IPCSTAT                 Place the current value of each
                              member of the data structure asso-
                              ciated with msqid into the struc-
                              ture pointed to by buf.  The con-
                              tents of this structure are defined
                              in intro(2).  {READ}

     IPCSET                  Set the value of the following
                              members of the data structure asso-
                              ciated with msqid to the
                              corresponding 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
                              msgperm.cuid or msgperm.uid in
                              the data structure associated with
                              msqid.  Only super user can raise
                              the value of msgqbytes.

     IPCRMID                 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 either that of super
                              user, or to the value of
                              msgperm.cuid or msgperm.uid in
                              the data structure associated with



                        Printed 11/19/92                   Page 1





MSGCTL(2-SVR3)      RISC/os Reference Manual       MSGCTL(2-SVR3)



                              msqid.

ERRORS
     msgctl will fail if one or more of the following are true:

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

     [EINVAL]                 cmd is not a valid command.

     [EACCES]                 cmd is equal to IPCSTAT and {READ}
                              operation permission is denied to
                              the calling process [see intro(2)].

     [EPERM]                  cmd is equal to IPCRMID or
                              IPCSET.  The effective user ID of
                              the calling process is not equal to
                              that of super user, or to the value
                              of msgperm.cuid or msgperm.uid in
                              the data structure associated with
                              msqid.


































 Page 2                 Printed 11/19/92





MSGCTL(2-SVR3)      RISC/os Reference Manual       MSGCTL(2-SVR3)



     [EPERM]                  cmd is equal to IPCSET, an attempt
                              is being made to increase to the
                              value of msgqbytes, and the effec-
                              tive user ID of the calling process
                              is not equal to that of super user.

     [EFAULT]                 buf points to an illegal address.

SEE ALSO
     intro(2), msgget(2), msgop(2).

DIAGNOSTICS
     Upon successful completion, a value of 0 is returned. Other-
     wise, a value of -1 is returned and errno is set to indicate
     the error.








































                        Printed 11/19/92                   Page 3



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