The <sys/ipc.h> header is used by three mechanisms for interprocess communication (IPC): messages, semaphores, and shared memory. All use a common structure type, ipc_perm, to pass information used in determining permission to perform an IPC operation.
The ipc_perm structure contains the following members:
uid_t uid /* owner's user ID */ gid_t gid /* owner's group ID */ uid_t cuid /* creator's user ID */ gid_t cgid /* creator's group ID */ mode_t mode /* read/write permission
The uid_t, gid_t, mode_t, and key_t types are defined as described in <sys/types.h>. See types.h(3HEAD).
Definitions are provided for the constants listed below.
Create entry if key does not exist.
Fail if key exists.
Error if request must wait.
See attributes(5) for descriptions of the following attributes: