/**************************************************************************** **************************************************************************** *** *** This header was automatically generated from a Linux kernel header *** of the same name, to make information necessary for userspace to *** call into the kernel available to libc. It contains only constants, *** structures, and macros generated from the original header, and thus, *** contains no copyrightable information. *** **************************************************************************** ****************************************************************************/ #ifndef _LINUX_SEM_H #define _LINUX_SEM_H #include <linux/ipc.h> #define SEM_UNDO 0x1000 #define GETPID 11 #define GETVAL 12 #define GETALL 13 #define GETNCNT 14 #define GETZCNT 15 #define SETVAL 16 #define SETALL 17 #define SEM_STAT 18 #define SEM_INFO 19 struct semid_ds { struct ipc_perm sem_perm; __kernel_time_t sem_otime; __kernel_time_t sem_ctime; struct sem *sem_base; struct sem_queue *sem_pending; struct sem_queue **sem_pending_last; struct sem_undo *undo; unsigned short sem_nsems; }; #include <asm/sembuf.h> struct sembuf { unsigned short sem_num; short sem_op; short sem_flg; }; union semun { int val; struct semid_ds __user *buf; unsigned short __user *array; struct seminfo __user *__buf; void __user *__pad; }; struct seminfo { int semmap; int semmni; int semmns; int semmnu; int semmsl; int semopm; int semume; int semusz; int semvmx; int semaem; }; #define SEMMNI 128 #define SEMMSL 250 #define SEMMNS (SEMMNI*SEMMSL) #define SEMOPM 32 #define SEMVMX 32767 #define SEMAEM SEMVMX #define SEMUME SEMOPM #define SEMMNU SEMMNS #define SEMMAP SEMMNS #define SEMUSZ 20 #endif