Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ msgget(2) — UnixWare 2.01

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(key_t key, int msgflg);

       DESCRIPTION
             msgget returns the message queue identifier associated with
             key.  This identifier is accessible by any process in the
             system, subject to normal access restrictions and the
             permissions set with msgflg.

             A successful call to msgget does not imply access to the queue
             in question, only a successful name mapping from key to ID.

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

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

             On 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 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 to the
                   low-order 9 bits of msgflg.

                   msg_qnum, msg_lspid, msg_lrpid, msg_stime, and msg_rtime
                   are set to 0.

                   msg_ctime is set to the current time.

                   msg_qbytes is set to the system limit.




                           Copyright 1994 Novell, Inc.               Page 1













      msgget(2)                                                  msgget(2)


         Return Values
            On success, msgget returns a non-negative integer, namely a
            message queue identifier.  On failure, msgget returns -1 and
            sets errno to identify the error.

         Errors
            In the following conditions, msgget fails and sets errno to:

            EACCES         A message queue identifier exists for key, but
                           the queue was not created supporting the
                           specified operation permissions.

            ENOENT         A message queue identifier does not exist for
                           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) and (msgflg&IPC_EXCL) are
                           both true.

      REFERENCES
            intro(2), msgctl(2), msgop(2), stdipc(3C)






















                          Copyright 1994 Novell, Inc.               Page 2








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