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