DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

msgget(S)


msgget -- get message queue

Syntax

cc ... -lc

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

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

Description

The msgget 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:

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


The msgget system call fails if one or more of the following is true:


[EACCES]
A message queue identifier exists for key, but operation permission as specified by the low-order 9 bits of msgflg would not be granted.

[EEXIST]
A message queue identifier exists for key but [(msgflg & IPC_CREAT) & (msgflg & IPC_EXCL)] is ``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 exceeded.

Diagnostics

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

See also

Intro(S), msgctl(S), msgop(S)

Standards conformance

msgget is conformant with:

X/Open Portability Guide, Issue 3, 1989 .


© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003