Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ msgget(2) — Interactive 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(2)

msgctl(2)

msgop(2)

MSGGET(2)



          MSGGET(2)            INTERACTIVE UNIX System            MSGGET(2)



          NAME
               msgget - get message queue

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

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

          DESCRIPTION
               The msgget system call 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:

                    The key argument is equal to IPC_PRIVATE.

                    The key argument 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.

               The msgget system call will fail if one or more of the fol-
               lowing is 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


          Rev. C Software Development Set                            Page 1





          MSGGET(2)            INTERACTIVE UNIX System            MSGGET(2)



                              key and (msgflg & IPC_CREAT) is ``false''.

               [ENOSPC]       A message queue identifier is to be created
                              but 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''.

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










































          Rev. C Software Development Set                            Page 2





          MSGGET(2)            INTERACTIVE UNIX System            MSGGET(2)



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



















































          Rev. C Software Development Set                            Page 3



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