Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ msgget(2) — 4D1 2.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(2)

msgctl(2)

msgop(2)



     MSGGET(2)                                               MSGGET(2)



     NAME
          msgget - get message queue

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

          int msgget (key, msgflg)
          keyt 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 IPCPRIVATE.

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

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

               Msgperm.cuid, msgperm.uid, msgperm.cgid, and
               msgperm.gid are set equal to the effective user ID and
               effective group ID, respectively, of the calling
               process.

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

               Msgqnum, msglspid, msglrpid, msgstime, and
               msgrtime are set equal to 0.

               Msgctime is set equal to the current time.

               Msgqbytes is set equal to the system limit.

          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



     Page 1                                        (last mod. 8/20/87)





     MSGGET(2)                                               MSGGET(2)



                         key and (msgflg & IPCCREAT) 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 & IPCCREAT) & (msgflg & IPCEXCL))
                         is ``true''.

     SEE ALSO
          intro(2), msgctl(2), msgop(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.

     ORIGIN
          AT&T V.3


































     Page 2                                        (last mod. 8/20/87)



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