Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

msgctl(2)

msgop(2)



MSGGET(2)                DOMAIN/IX 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 is 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 process.

     ⊕  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.







Printed 12/4/86                                          MSGGET-1







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



RETURN VALUE
     A successful call returns a non-negative integer, which is
     the message queue identifier.  A failed call returns -1 and
     sets errno as indicated below.

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

     [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)

               is "true".

RELATED INFORMATION
     msgctl(2), msgop(2)





















MSGGET-2                                          Printed 12/4/86





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