msgget(2) msgget(2)
NAME
msgget - get message queue
SYNOPSIS
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/msg.h>
int msgget(key_t key, int msgflg);
DESCRIPTION
msgget returns the message queue identifier associated with
key. This identifier is accessible by any process in the
system, subject to normal access restrictions and the
permissions set with msgflg.
A successful call to msgget does not imply access to the queue
in question, only a successful name mapping from key to ID.
A message queue identifier and associated message queue and
data structure [see intro(2)] are created for key if one of
the following are true:
key is IPC_PRIVATE.
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:
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.
The low-order 9 bits of msg_perm.mode are set to the
low-order 9 bits of msgflg.
msg_qnum, msg_lspid, msg_lrpid, msg_stime, and msg_rtime
are set to 0.
msg_ctime is set to the current time.
msg_qbytes is set to the system limit.
Copyright 1994 Novell, Inc. Page 1
msgget(2) msgget(2)
Return Values
On success, msgget returns a non-negative integer, namely a
message queue identifier. On failure, msgget returns -1 and
sets errno to identify the error.
Errors
In the following conditions, msgget fails and sets errno to:
EACCES A message queue identifier exists for key, but
the queue was not created supporting the
specified operation permissions.
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 exceeded.
EEXIST A message queue identifier exists for key but
(msgflg&IPC_CREAT) and (msgflg&IPC_EXCL) are
both true.
REFERENCES
intro(2), msgctl(2), msgop(2), stdipc(3C)
Copyright 1994 Novell, Inc. Page 2