Files
MentOS/mentos/inc/sys/ipc.h
T
Luigi Capogrosso 7d9085fecf Finish v0.3.0
2019-05-08 17:07:11 +02:00

54 lines
912 B
C

/// MentOS, The Mentoring Operating system project
/// @file ipc.h
/// @brief
/// @copyright (c) 2019 This file is distributed under the MIT License.
/// See LICENSE.md for details.
#pragma once
#include "stddef.h"
/// Create key if key does not exist.
#define IPC_CREAT 01000
/// Fail if key exists.
#define IPC_EXCL 02000
/// Return error on wait.
#define IPC_NOWAIT 04000
/// Remove identifier.
#define IPC_RMID 0
/// Set `ipc_perm' options.
#define IPC_SET 1
/// Get `ipc_perm' options.
#define IPC_STAT 2
/// See ipcs.
#define IPC_INFO 3
struct ipc_perm {
/// Creator user id.
uid_t cuid;
/// Creator group id.
gid_t cgid;
/// User id.
uid_t uid;
/// Group id.
gid_t gid;
/// r/w permission.
ushort mode;
/// Sequence # (to generate unique msg/sem/shm id).
ushort seq;
/// User specified msg/sem/shm key.
key_t key;
};