Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought



MSGCTL(2)       DOMAIN/IX Reference Manual (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 message control operations.  Each opera-
     tion is specified as a command 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).
                    {READ}

     IPC_SET        Set the value of the following members of the
                    data structure associated 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
                    msg_perm.uid in the data structure associated
                    with msqid.  Only 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 mes-
                    sage queue and data structure associated with
                    it.  This cmd can only be executed by a pro-
                    cess 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.

RETURN VALUE
     Upon successful completion, msgctl returns a value of zero.
     Otherwise, a value of -1 returns and errno is set to indi-
     cate the error.



Printed 5/10/85                                          MSGCTL-1





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



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

     [EINVAL]       Msqid is not a valid message queue identif-
                    ier.

     [EINVAL]       Cmd is not a valid command.

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

     [EPERM]        Cmd is equal to IPC_RMID or IPC_SET.  The
                    effective 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 associated 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 pro-
                    cess is not equal to that of super user.

     [EFAULT]       Buf points to an illegal address.

RELATED INFORMATION
     msgget(2), msgop(2)




























MSGCTL-2                                          Printed 5/10/85



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