Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ msgget(2) — Atari System V ue12

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

intro(2)

msgctl(2)

msgop(2)

stdipc(3C)





   msgget(2)                                                         msgget(2)


   NAME
         msgget - get message queue

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

         int msgget(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 IPCPRIVATE.

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

         On 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 to the effective user ID and effective group ID,
               respectively, of the calling process.

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

               msgqnum, msglspid, msglrpid, msgstime, and msgrtime are
               set to 0.

               msgctime is set to the current time.

               msgqbytes is set to the system limit.

         msgget fails 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&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


   7/91                                                                 Page 1









   msgget(2)                                                         msgget(2)


                        exceeded.

         EEXIST         A message queue identifier exists for key but
                        (msgflg&IPCCREAT) and (msgflg&IPCEXCL) are both
                        true.

   SEE ALSO
         intro(2), msgctl(2), msgop(2), stdipc(3C).

   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.








































   Page 2                                                                 7/91





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