123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- #ifndef _SYS_SEM_H
- #define _SYS_SEM_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include <features.h>
- #define __NEED_size_t
- #define __NEED_pid_t
- #define __NEED_time_t
- #ifdef _GNU_SOURCE
- #define __NEED_struct_timespec
- #endif
- #include <bits/alltypes.h>
- #include <sys/ipc.h>
- #define SEM_UNDO 0x1000
- #define GETPID 11
- #define GETVAL 12
- #define GETALL 13
- #define GETNCNT 14
- #define GETZCNT 15
- #define SETVAL 16
- #define SETALL 17
- #include <bits/sem.h>
- #define _SEM_SEMUN_UNDEFINED 1
- #define SEM_STAT (18 | (IPC_STAT & 0x100))
- #define SEM_INFO 19
- #define SEM_STAT_ANY (20 | (IPC_STAT & 0x100))
- struct seminfo {
- int semmap;
- int semmni;
- int semmns;
- int semmnu;
- int semmsl;
- int semopm;
- int semume;
- int semusz;
- int semvmx;
- int semaem;
- };
- struct sembuf {
- unsigned short sem_num;
- short sem_op;
- short sem_flg;
- };
- int semctl(int, int, int, ...);
- int semget(key_t, int, int);
- int semop(int, struct sembuf *, size_t);
- #ifdef _GNU_SOURCE
- int semtimedop(int, struct sembuf *, size_t, const struct timespec *);
- #endif
- #if _REDIR_TIME64
- #ifdef _GNU_SOURCE
- __REDIR(semtimedop, __semtimedop_time64);
- #endif
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif
|