xref: /aosp_15_r20/prebuilts/build-tools/sysroots/i686-unknown-linux-musl/include/sys/sem.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker #ifndef _SYS_SEM_H
2*cda5da8dSAndroid Build Coastguard Worker #define _SYS_SEM_H
3*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus
4*cda5da8dSAndroid Build Coastguard Worker extern "C" {
5*cda5da8dSAndroid Build Coastguard Worker #endif
6*cda5da8dSAndroid Build Coastguard Worker 
7*cda5da8dSAndroid Build Coastguard Worker #include <features.h>
8*cda5da8dSAndroid Build Coastguard Worker 
9*cda5da8dSAndroid Build Coastguard Worker #define __NEED_size_t
10*cda5da8dSAndroid Build Coastguard Worker #define __NEED_pid_t
11*cda5da8dSAndroid Build Coastguard Worker #define __NEED_time_t
12*cda5da8dSAndroid Build Coastguard Worker #ifdef _GNU_SOURCE
13*cda5da8dSAndroid Build Coastguard Worker #define __NEED_struct_timespec
14*cda5da8dSAndroid Build Coastguard Worker #endif
15*cda5da8dSAndroid Build Coastguard Worker #include <bits/alltypes.h>
16*cda5da8dSAndroid Build Coastguard Worker 
17*cda5da8dSAndroid Build Coastguard Worker #include <sys/ipc.h>
18*cda5da8dSAndroid Build Coastguard Worker 
19*cda5da8dSAndroid Build Coastguard Worker #define SEM_UNDO	0x1000
20*cda5da8dSAndroid Build Coastguard Worker #define GETPID		11
21*cda5da8dSAndroid Build Coastguard Worker #define GETVAL		12
22*cda5da8dSAndroid Build Coastguard Worker #define GETALL		13
23*cda5da8dSAndroid Build Coastguard Worker #define GETNCNT		14
24*cda5da8dSAndroid Build Coastguard Worker #define GETZCNT		15
25*cda5da8dSAndroid Build Coastguard Worker #define SETVAL		16
26*cda5da8dSAndroid Build Coastguard Worker #define SETALL		17
27*cda5da8dSAndroid Build Coastguard Worker 
28*cda5da8dSAndroid Build Coastguard Worker #include <bits/sem.h>
29*cda5da8dSAndroid Build Coastguard Worker 
30*cda5da8dSAndroid Build Coastguard Worker #define _SEM_SEMUN_UNDEFINED 1
31*cda5da8dSAndroid Build Coastguard Worker 
32*cda5da8dSAndroid Build Coastguard Worker #define SEM_STAT (18 | (IPC_STAT & 0x100))
33*cda5da8dSAndroid Build Coastguard Worker #define SEM_INFO 19
34*cda5da8dSAndroid Build Coastguard Worker #define SEM_STAT_ANY (20 | (IPC_STAT & 0x100))
35*cda5da8dSAndroid Build Coastguard Worker 
36*cda5da8dSAndroid Build Coastguard Worker struct  seminfo {
37*cda5da8dSAndroid Build Coastguard Worker 	int semmap;
38*cda5da8dSAndroid Build Coastguard Worker 	int semmni;
39*cda5da8dSAndroid Build Coastguard Worker 	int semmns;
40*cda5da8dSAndroid Build Coastguard Worker 	int semmnu;
41*cda5da8dSAndroid Build Coastguard Worker 	int semmsl;
42*cda5da8dSAndroid Build Coastguard Worker 	int semopm;
43*cda5da8dSAndroid Build Coastguard Worker 	int semume;
44*cda5da8dSAndroid Build Coastguard Worker 	int semusz;
45*cda5da8dSAndroid Build Coastguard Worker 	int semvmx;
46*cda5da8dSAndroid Build Coastguard Worker 	int semaem;
47*cda5da8dSAndroid Build Coastguard Worker };
48*cda5da8dSAndroid Build Coastguard Worker 
49*cda5da8dSAndroid Build Coastguard Worker struct sembuf {
50*cda5da8dSAndroid Build Coastguard Worker 	unsigned short sem_num;
51*cda5da8dSAndroid Build Coastguard Worker 	short sem_op;
52*cda5da8dSAndroid Build Coastguard Worker 	short sem_flg;
53*cda5da8dSAndroid Build Coastguard Worker };
54*cda5da8dSAndroid Build Coastguard Worker 
55*cda5da8dSAndroid Build Coastguard Worker int semctl(int, int, int, ...);
56*cda5da8dSAndroid Build Coastguard Worker int semget(key_t, int, int);
57*cda5da8dSAndroid Build Coastguard Worker int semop(int, struct sembuf *, size_t);
58*cda5da8dSAndroid Build Coastguard Worker 
59*cda5da8dSAndroid Build Coastguard Worker #ifdef _GNU_SOURCE
60*cda5da8dSAndroid Build Coastguard Worker int semtimedop(int, struct sembuf *, size_t, const struct timespec *);
61*cda5da8dSAndroid Build Coastguard Worker #endif
62*cda5da8dSAndroid Build Coastguard Worker 
63*cda5da8dSAndroid Build Coastguard Worker #if _REDIR_TIME64
64*cda5da8dSAndroid Build Coastguard Worker #ifdef _GNU_SOURCE
65*cda5da8dSAndroid Build Coastguard Worker __REDIR(semtimedop, __semtimedop_time64);
66*cda5da8dSAndroid Build Coastguard Worker #endif
67*cda5da8dSAndroid Build Coastguard Worker #endif
68*cda5da8dSAndroid Build Coastguard Worker 
69*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus
70*cda5da8dSAndroid Build Coastguard Worker }
71*cda5da8dSAndroid Build Coastguard Worker #endif
72*cda5da8dSAndroid Build Coastguard Worker #endif
73