Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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&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  (ms-
		       gflg&IPC_CREAT) and (msgflg&IPC_EXCL) are both true.

       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  ex-
		       ceeded. See NOTES.

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

       +-----------------------------+-----------------------------+
       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       +-----------------------------+-----------------------------+
       |Interface Stability	     |Standard			   |
       +-----------------------------+-----------------------------+

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 re-
       source control.

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

SunOS 5.10			  11 Feb 2003			     msgget(2)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES | SEE ALSO | NOTES

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=msgget&sektion=2&manpath=SunOS+5.10>

home | help