/**************************************************************************** **************************************************************************** *** *** 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. *** *** To edit the content of this header, modify the corresponding *** source file (e.g. under external/kernel-headers/original/) then *** run bionic/libc/kernel/tools/update_all.py *** *** Any manual change here will be lost the next time this script will *** be run. You've been warned! *** **************************************************************************** ****************************************************************************/ #ifndef _UAPI_LINUX_SEM_H #define _UAPI_LINUX_SEM_H #include <linux/ipc.h> #define SEM_UNDO 0x1000 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define GETPID 11 #define GETVAL 12 #define GETALL 13 #define GETNCNT 14 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define GETZCNT 15 #define SETVAL 16 #define SETALL 17 #define SEM_STAT 18 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define SEM_INFO 19 struct semid_ds { struct ipc_perm sem_perm; __kernel_time_t sem_otime; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ __kernel_time_t sem_ctime; struct sem * sem_base; struct sem_queue * sem_pending; struct sem_queue * * sem_pending_last; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct sem_undo * undo; unsigned short sem_nsems; }; #include <asm/sembuf.h> /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct sembuf { unsigned short sem_num; short sem_op; short sem_flg; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ }; union semun { int val; struct semid_ds __user * buf; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ unsigned short __user * array; struct seminfo __user * __buf; void __user * __pad; }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ struct seminfo { int semmap; int semmni; int semmns; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ int semmnu; int semmsl; int semopm; int semume; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ int semusz; int semvmx; int semaem; }; /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define SEMMNI 128 #define SEMMSL 250 #define SEMMNS (SEMMNI * SEMMSL) #define SEMOPM 32 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define SEMVMX 32767 #define SEMAEM SEMVMX #define SEMUME SEMOPM #define SEMMNU SEMMNS /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ #define SEMMAP SEMMNS #define SEMUSZ 20 #endif