msgget(2) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

msgget(2)

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 associ‐
                  ated with it, and (msgflg&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, re‐
                  spectively, of the calling process.


           o      The low-order 9 bits of msg_perm.mode are set to the low-or‐
                  der 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 operation per‐
                 mission (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  (ms‐
                 gflg&IPC_CREAT) and (msgflg&IPC_EXCL) are both true.


       ENOENT    A message queue identifier does not exist for  key  and  (ms‐
                 gflg&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(7) for descriptions of the following attributes:

       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE  VALUE  _  Interface  StabilityCommitted  _  StandardSee  stan‐
       dards(7).


SEE ALSO
       Intro(2),  msgctl(2),  msgrcv(2),  msgsnd(2), setrctl(2), ftok(3C), at‐
       tributes(7), standards(7), rctladm(8)

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  re‐
       source control. The zone.max-msg-ids resource control restricts the to‐
       tal  amount  of  message  queue  identifiers that can be allocated by a
       zone.


       See rctladm(8) and setrctl(2) for information about using resource con‐
       trols.

Oracle Solaris 11.4               14 Aug 2006                        msgget(2)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3