• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
83