mirror of
git://git.musl-libc.org/musl
synced 2024-12-23 15:12:32 +00:00
f6e2f7e13f
the definition was found to be incorrect at least for powerpc, and fixing this cleanly requires making the definition arch-specific. this will allow cleaning up the definition for other archs to make it more specific, and reversing some of the ugliness (time_t hacks) introduced with the x32 port. this first commit simply copies the existing definition to each arch without any changes. this is intentional, to make it easier to review changes made on a per-arch basis.
68 lines
1014 B
C
68 lines
1014 B
C
#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>
|
|
|
|
#include <bits/sem.h>
|
|
|
|
#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
|