Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought



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



NAME
     msgget - get message queue

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

     int msgget (key, msgflg)
     key_t key;
     int msgflg;

DESCRIPTION
     Msgget returns the message queue identifier associated with
     key.

     A message queue identifier and associated message queue and
     data structure (see intro(2)) are created for key if one of
     the following are true:

          Key is equal to IPC_PRIVATE.

          Key does not already have a message queue identifier
          associated with it, and (msgflg & IPC_CREAT) is
          ``true''.

     Upon creation, the data structure associated with the new
     message queue identifier is initialized as follows:

          Msg_perm.cuid, msg_perm.uid, msg_perm.cgid, and
          msg_perm.gid are set equal to the effective user ID and
          effective group ID, respectively, of the calling pro-
          cess.

          The low-order 9 bits of msg_perm.mode are set equal to
          the low-order 9 bits of msgflg.

          Msg_qnum, msg_lspid, msg_lrpid, msg_stime, and
          msg_rtime are set equal to 0.

          Msg_ctime is set equal to the current time.

          Msg_qbytes is set equal to the system limit.

RETURN VALUE
     Upon successful completion, msgctl returns a non-negative
     integer, namely the message queue identifier.  Otherwise, a
     value of -1 is returned and errno is set to indicate the
     error.

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



Printed 5/10/85                                          MSGGET-1





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



     [EACCES]       A message queue identifier exists for key,
                    but operation permission (see intro(2)) as
                    specified by the low-order 9 bits of msgflg
                    would not be granted.

     [ENOENT]       A message queue identifier does not exist for
                    key and (msgflg & IPC_CREAT) is ``false''.

     [ENOSPC]       The system-imposed limit on the maximum
                    number of allowed message queue identifiers
                    system-wide would be exceeded.

     [EEXIST]       A message queue identifier exists for key but
                    ( (msgflg & IPC_CREAT) & ( msgflg & IPC_EXCL)
                    ) is ``true''.

RELATED INFORMATION
     msgctl(2), msgop(2)





































MSGGET-2                                          Printed 5/10/85



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