/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef _UAPI_LINUX_SEM_H #define _UAPI_LINUX_SEM_H #include <linux/ipc.h> /* semop flags */ #define SEM_UNDO … /* semctl Command Definitions. */ #define GETPID … #define GETVAL … #define GETALL … #define GETNCNT … #define GETZCNT … #define SETVAL … #define SETALL … /* ipcs ctl cmds */ #define SEM_STAT … #define SEM_INFO … #define SEM_STAT_ANY … /* Obsolete, used only for backwards compatibility and libc5 compiles */ struct semid_ds { … }; /* Include the definition of semid64_ds */ #include <asm/sembuf.h> /* semop system calls takes an array of these. */ struct sembuf { … }; /* arg for semctl system calls. */ semun; struct seminfo { … }; /* * SEMMNI, SEMMSL and SEMMNS are default values which can be * modified by sysctl. * The values has been chosen to be larger than necessary for any * known configuration. * * SEMOPM should not be increased beyond 1000, otherwise there is the * risk that semop()/semtimedop() fails due to kernel memory fragmentation when * allocating the sop array. */ #define SEMMNI … #define SEMMSL … #define SEMMNS … #define SEMOPM … #define SEMVMX … #define SEMAEM … /* unused */ #define SEMUME … #define SEMMNU … #define SEMMAP … #define SEMUSZ … #endif /* _UAPI_LINUX_SEM_H */