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

FreeBSD Manual Pages

  
 
  

home | help
MSGGET(2)		      System Calls Manual		     MSGGET(2)

NAME
       msgget -- get message queue

LIBRARY
       Standard	C Library (libc, -lc)

SYNOPSIS
       #include	<sys/msg.h>

       int
       msgget(key_t key, int msgflg);

DESCRIPTION
       The  msgget()  function returns the message queue identifier associated
       with key.  A message queue identifier is	a unique integer greater  than
       zero.

       A  message  queue  is created if	either key is equal to IPC_PRIVATE, or
       key does	not have a message queue identifier associated	with  it,  and
       the IPC_CREAT bit is set	in msgflg.

       If  a  new message queue	is created, the	data structure associated with
       it (the msqid_ds	structure, see msgctl(2)) is initialized as follows:

       o   msg_perm.cuid and msg_perm.uid are set to the effective uid of  the
	   calling process.

       o   msg_perm.gid	 and msg_perm.cgid are set to the effective gid	of the
	   calling process.

       o   msg_perm.mode is set	to the lower 9 bits of msgflg which are	set by
	   ORing these constants:

	   0400
	     Read access for user.

	   0200
	     Write access for user.

	   0040
	     Read access for group.

	   0020
	     Write access for group.

	   0004
	     Read access for other.

	   0002
	     Write access for other.

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

       o   msg_qbytes  is  set to the system wide maximum value	for the	number
	   of bytes in a queue (MSGMNB).

       o   msg_ctime is	set to the current time.

RETURN VALUES
       Upon successful completion a positive message queue identifier  is  re-
       turned.	Otherwise, -1 is returned and the global variable errno	is set
       to indicate the error.

ERRORS
       [EACCES]		  A  message  queue is already associated with key and
			  the caller has no permission to access it.

       [EEXIST]		  Both IPC_CREAT and IPC_EXCL are set in msgflg, and a
			  message queue	is already associated with key.

       [ENOSPC]		  A new	message	queue could not	be created because the
			  system limit for the number of  message  queues  has
			  been reached.

       [ENOENT]		  IPC_CREAT was	not set	in msgflg and no message queue
			  associated with key was found.

SEE ALSO
       msgctl(2), msgrcv(2), msgsnd(2)

HISTORY
       Message queues appeared in the first release of AT&T System V UNIX.

FreeBSD	13.2			 March 4, 2018			     MSGGET(2)

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | HISTORY

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=msgget&sektion=2&manpath=FreeBSD+14.0-RELEASE+and+Ports>

home | help