diff options
author | Bruce Mitchener <bruce.mitchener@gmail.com> | 2013-08-04 00:32:45 +0800 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2013-09-13 10:07:02 -0700 |
commit | 5c6e1633d218bd5b9c5077634829eb14d326308f (patch) | |
tree | 50a4fd55b51a0fab6506addf610a666afabaec9b /system/include/libc/sys/sem.h | |
parent | 27d496610e0ef93c9805a6a1a77de3f053405c6b (diff) |
Update libc headers to use musl headers.
Diffstat (limited to 'system/include/libc/sys/sem.h')
-rw-r--r-- | system/include/libc/sys/sem.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/system/include/libc/sys/sem.h b/system/include/libc/sys/sem.h new file mode 100644 index 00000000..e74ea208 --- /dev/null +++ b/system/include/libc/sys/sem.h @@ -0,0 +1,82 @@ +#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 <endian.h> + +struct semid_ds { + struct ipc_perm sem_perm; + long sem_otime; + unsigned long __unused1; + long sem_ctime; + unsigned long __unused2; +#if __BYTE_ORDER == __LITTLE_ENDIAN + unsigned short sem_nsems; + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; +#else + char __sem_nsems_pad[sizeof(long)-sizeof(short)]; + unsigned short sem_nsems; +#endif + unsigned long __unused3; + unsigned long __unused4; +}; + +#define _SEM_SEMUN_UNDEFINED 1 + +#define SEM_STAT 18 +#define SEM_INFO 19 + +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 + +#ifdef __cplusplus +} +#endif +#endif |