linux/include/uapi/linux/ipc.h

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _UAPI_LINUX_IPC_H
#define _UAPI_LINUX_IPC_H

#include <linux/types.h>

#define IPC_PRIVATE  

/* Obsolete, used only for backwards compatibility and libc5 compiles */
struct ipc_perm
{};

/* Include the definition of ipc64_perm */
#include <asm/ipcbuf.h>

/* resource get request flags */
#define IPC_CREAT
#define IPC_EXCL
#define IPC_NOWAIT

/* these fields are used by the DIPC package so the kernel as standard
   should avoid using them if possible */
   
#define IPC_DIPC
#define IPC_OWN

/* 
 * Control commands used with semctl, msgctl and shmctl 
 * see also specific commands in sem.h, msg.h and shm.h
 */
#define IPC_RMID
#define IPC_SET
#define IPC_STAT
#define IPC_INFO

/*
 * Version flags for semctl, msgctl, and shmctl commands
 * These are passed as bitflags or-ed with the actual command
 */
#define IPC_OLD
#define IPC_64

/*
 * These are used to wrap system calls.
 *
 * See architecture code for ugly details..
 */
struct ipc_kludge {};

#define SEMOP
#define SEMGET
#define SEMCTL
#define SEMTIMEDOP
#define MSGSND
#define MSGRCV
#define MSGGET
#define MSGCTL
#define SHMAT
#define SHMDT
#define SHMGET
#define SHMCTL

/* Used by the DIPC package, try and avoid reusing it */
#define DIPC

#define IPCCALL(version,op)


#endif /* _UAPI_LINUX_IPC_H */