unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Page:
Section:
Apropos / Subsearch:
optional field

msgget(2)                        System Calls                        msgget(2)



NAME
       msgget - get message queue

SYNOPSIS
       #include <sys/msg.h>

       int msgget(key_t key, int msgflg);

DESCRIPTION
       The  msgget()  argument returns the message queue identifier associated
       with key.

       A message queue identifier and associated message queue and data struc-
       ture  (see  intro(2))  are  created for key if one of the following are
       true:

         o  key is IPC_PRIVATE.

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


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

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

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

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

         o  msg_ctime is set to the current time.

         o  msg_qbytes is set to the system limit. See NOTES.


RETURN VALUES
       Upon successful completion, a non-negative integer representing a  mes-
       sage  queue identifier is returned. Otherwise, -1 is returned and errno
       is set to indicate the error.

ERRORS
       The msgget() function will fail if:

       EACCES          A message queue identifier exists for key,  but  opera-
                       tion permission (see intro(2)) as specified by the low-
                       order 9 bits of msgflg would not be granted.



       EEXIST          A  message  queue  identifier  exists   for   key   but
                       (msgflg&&amp;IPC_CREAT) and (msgflg&&amp;IPC_EXCL) are both true.



       ENOENT          A  message  queue identifier does not exist for key and
                       (msgflg&&amp;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. See NOTES.



ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:


       tab()     allbox;     cw(2.750000i)|    cw(2.750000i)    lw(2.750000i)|
       lw(2.750000i).  ATTRIBUTE TYPEATTRIBUTE VALUE Interface  StabilityStan-
       dard


SEE ALSO
       rctladm(1M),  intro(2),  msgctl(2),  msgrcv(2),  msgsnd(2), setrctl(2),
       ftok(3C), attributes(5), standards(5)

NOTES
       The system-defined limit used to initialize msg_qbytes is  the  minimum
       enforced value of the calling process's process.max-msg-qbytes resource
       control.

       The system-imposed limit on the number of message queue identifiers  is
       maintained   on  a  per-project  basis  using  the  project.max-msg-ids
       resource control.

        See rctladm(1M) and setrctl(2) for information  about  using  resource
       controls.



SunOS 5.10                        11 Feb 2003                        msgget(2)