ultrix man page for msgget

Query: msgget

OS: ultrix

Section: 2

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

msgget(2)							System Calls Manual							 msgget(2)

Name
       msgget - get message queue

Syntax
       #include <sys/types.h>
       #include <sys/ipc.h>
       #include <sys/msg.h>

       int msgget (key, msgflg)
       key_t key;
       int msgflg;

Description
       The system call returns the message queue identifier associated with key.

       A message queue identifier and associated message queue and data structure are created for key if one of the following is true:

       o    The key is equal to IPC_PRIVATE

       o    The  key  does not already have a message queue identifier associated with it, and (msgflg & IPC_CREAT) is true.  For further informa-
	    tion, see

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

       o    The msg_perm.cuid, msg_perm.uid, msg_perm.cgid and msg_perm.gid members are set equal to the effective user ID and effective group ID,
	    respectively, of the calling process.

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

       o    The msg_qnum, msg_lspid, msg_lrpid, msg_stime, and mgs_rtime members are set equal to 0.

       o    The msg_ctime is set equal to the current time.

       o    The msg_qbytes is set equal to the system limit.

Return Values
       Upon  successful  completion,  a  non-negative  integer,  which	is  a  message queue identifier, is returned.  Otherwise, a value of -1 is
       returned, and errno is set to indicate the error.

Diagnostics
       The system call fails under the following conditions:

       [EACCES]       A message queue identifier exists for key but operations permission, as specified by the	low-order  nine  bits  of  msgflg,
		      would not be granted.  For further information, see

       [ENOENT]       A message queue identifier does not exist for key and the logical operation (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 exceeded.

       [EEXIST]       A message queue identifier exists for key but the logical operation ((msgflg & IPC_CREAT ) & (msgflg & IPC_EXCL )) is true.

See Also
       msgctl(2), msgop(2), ftok(3)

																	 msgget(2)
Related Man Pages
msgget(2) - linux
msgget(3) - linux
msgget(2) - centos
msgget(2) - suse
msgget(3p) - osx
Similar Topics in the Unix Linux Community
about msgget troble
Problem with msgget()
How to limit max no of message in a posix message queue
msgget message queue always get permission denied
Msgget(2) returns 0 - a workaround fix