| The Android Open Source Project | 1dc9e47 | 2009-03-03 19:28:35 -0800 | [diff] [blame] | 1 | /**************************************************************************** | 
|  | 2 | **************************************************************************** | 
|  | 3 | *** | 
|  | 4 | ***   This header was automatically generated from a Linux kernel header | 
|  | 5 | ***   of the same name, to make information necessary for userspace to | 
|  | 6 | ***   call into the kernel available to libc.  It contains only constants, | 
|  | 7 | ***   structures, and macros generated from the original header, and thus, | 
|  | 8 | ***   contains no copyrightable information. | 
|  | 9 | *** | 
|  | 10 | **************************************************************************** | 
|  | 11 | ****************************************************************************/ | 
|  | 12 | #ifndef _LINUX_SEM_H | 
|  | 13 | #define _LINUX_SEM_H | 
|  | 14 |  | 
|  | 15 | #include <linux/ipc.h> | 
|  | 16 |  | 
|  | 17 | #define SEM_UNDO 0x1000 | 
|  | 18 |  | 
|  | 19 | #define GETPID 11 | 
|  | 20 | #define GETVAL 12 | 
|  | 21 | #define GETALL 13 | 
|  | 22 | #define GETNCNT 14 | 
|  | 23 | #define GETZCNT 15 | 
|  | 24 | #define SETVAL 16 | 
|  | 25 | #define SETALL 17 | 
|  | 26 |  | 
|  | 27 | #define SEM_STAT 18 | 
|  | 28 | #define SEM_INFO 19 | 
|  | 29 |  | 
|  | 30 | struct semid_ds { | 
|  | 31 | struct ipc_perm sem_perm; | 
|  | 32 | __kernel_time_t sem_otime; | 
|  | 33 | __kernel_time_t sem_ctime; | 
|  | 34 | struct sem *sem_base; | 
|  | 35 | struct sem_queue *sem_pending; | 
|  | 36 | struct sem_queue **sem_pending_last; | 
|  | 37 | struct sem_undo *undo; | 
|  | 38 | unsigned short sem_nsems; | 
|  | 39 | }; | 
|  | 40 |  | 
|  | 41 | #include <asm/sembuf.h> | 
|  | 42 |  | 
|  | 43 | struct sembuf { | 
|  | 44 | unsigned short sem_num; | 
|  | 45 | short sem_op; | 
|  | 46 | short sem_flg; | 
|  | 47 | }; | 
|  | 48 |  | 
|  | 49 | union semun { | 
|  | 50 | int val; | 
|  | 51 | struct semid_ds __user *buf; | 
|  | 52 | unsigned short __user *array; | 
|  | 53 | struct seminfo __user *__buf; | 
|  | 54 | void __user *__pad; | 
|  | 55 | }; | 
|  | 56 |  | 
|  | 57 | struct seminfo { | 
|  | 58 | int semmap; | 
|  | 59 | int semmni; | 
|  | 60 | int semmns; | 
|  | 61 | int semmnu; | 
|  | 62 | int semmsl; | 
|  | 63 | int semopm; | 
|  | 64 | int semume; | 
|  | 65 | int semusz; | 
|  | 66 | int semvmx; | 
|  | 67 | int semaem; | 
|  | 68 | }; | 
|  | 69 |  | 
|  | 70 | #define SEMMNI 128 | 
|  | 71 | #define SEMMSL 250 | 
|  | 72 | #define SEMMNS (SEMMNI*SEMMSL) | 
|  | 73 | #define SEMOPM 32 | 
|  | 74 | #define SEMVMX 32767 | 
|  | 75 | #define SEMAEM SEMVMX | 
|  | 76 |  | 
|  | 77 | #define SEMUME SEMOPM | 
|  | 78 | #define SEMMNU SEMMNS | 
|  | 79 | #define SEMMAP SEMMNS | 
|  | 80 | #define SEMUSZ 20 | 
|  | 81 |  | 
|  | 82 | #endif |