diff options
author | Rich Felker <dalias@aerifal.cx> | 2019-07-31 01:17:53 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2019-08-02 00:08:23 -0400 |
commit | 3c02bacf0f6bed54979e67d22c43745df9add4a0 (patch) | |
tree | 79cefd0e7a63642d08972c5f6d69eeaf12c435d2 /include/sys | |
parent | 72f50245d018af0c31b38dec83c557a4e5dd1ea8 (diff) | |
download | musl-3c02bacf0f6bed54979e67d22c43745df9add4a0.tar.gz musl-3c02bacf0f6bed54979e67d22c43745df9add4a0.tar.xz musl-3c02bacf0f6bed54979e67d22c43745df9add4a0.zip |
allow archs to define IPC_STAT, propagate time64 bit to other macros
to make use of {sem,shm,msg}ctl IPC_STAT functionality to provide 64-bit time_t on 32-bit archs, IPC_STAT and related macros must be defined with bit 8 (0x100) set. allow archs to define IPC_STAT in bits/ipc.h, and define the other macros in terms of it so that they all get the same value of the time64 bit.
Diffstat (limited to 'include/sys')
-rw-r--r-- | include/sys/ipc.h | 2 | ||||
-rw-r--r-- | include/sys/msg.h | 4 | ||||
-rw-r--r-- | include/sys/sem.h | 4 | ||||
-rw-r--r-- | include/sys/shm.h | 4 |
4 files changed, 8 insertions, 6 deletions
diff --git a/include/sys/ipc.h b/include/sys/ipc.h index c5a39819..cde376fc 100644 --- a/include/sys/ipc.h +++ b/include/sys/ipc.h @@ -29,7 +29,9 @@ extern "C" { #define IPC_RMID 0 #define IPC_SET 1 +#ifndef IPC_STAT #define IPC_STAT 2 +#endif #define IPC_INFO 3 #define IPC_PRIVATE ((key_t) 0) diff --git a/include/sys/msg.h b/include/sys/msg.h index be6afc34..db5c62a4 100644 --- a/include/sys/msg.h +++ b/include/sys/msg.h @@ -25,9 +25,9 @@ typedef unsigned long msglen_t; #define MSG_NOERROR 010000 #define MSG_EXCEPT 020000 -#define MSG_STAT 11 +#define MSG_STAT (11 | (IPC_STAT & 0x100)) #define MSG_INFO 12 -#define MSG_STAT_ANY 13 +#define MSG_STAT_ANY (13 | (IPC_STAT & 0x100)) struct msginfo { int msgpool, msgmap, msgmax, msgmnb, msgmni, msgssz, msgtql; diff --git a/include/sys/sem.h b/include/sys/sem.h index 61cdb83d..410c8774 100644 --- a/include/sys/sem.h +++ b/include/sys/sem.h @@ -31,9 +31,9 @@ extern "C" { #define _SEM_SEMUN_UNDEFINED 1 -#define SEM_STAT 18 +#define SEM_STAT (18 | (IPC_STAT & 0x100)) #define SEM_INFO 19 -#define SEM_STAT_ANY 20 +#define SEM_STAT_ANY (20 | (IPC_STAT & 0x100)) struct seminfo { int semmap; diff --git a/include/sys/shm.h b/include/sys/shm.h index 8ef4e8f2..fd708cab 100644 --- a/include/sys/shm.h +++ b/include/sys/shm.h @@ -33,9 +33,9 @@ extern "C" { #define SHM_LOCK 11 #define SHM_UNLOCK 12 -#define SHM_STAT 13 +#define SHM_STAT (13 | (IPC_STAT & 0x100)) #define SHM_INFO 14 -#define SHM_STAT_ANY 15 +#define SHM_STAT_ANY (15 | (IPC_STAT & 0x100)) #define SHM_DEST 01000 #define SHM_LOCKED 02000 #define SHM_HUGETLB 04000 |