Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — Motorola System V 88k Release 3.2 Version 1.2C

Media Vault

Software Library

Restoration Projects

Artifacts Sought



  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, msgsusec,
            msgrtime , and are set equal to 0.



  Page 1                                                   May 1989


















  MSGGET(2)                                               MSGGET(2)



            Msgctime  and  msgcusec are 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
                      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.











  Page 2                                                   May 1989
















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