aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/bits/msq.h
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-06-29 18:21:14 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2020-07-09 12:05:40 -0300
commit078a8920854217d0251fa699145174121e76f15d (patch)
tree1bdf331ac97457b2593be4f4367e67695af88ae7 /sysdeps/unix/sysv/linux/bits/msq.h
parentdba950e3174a5210b900a26a7d2f361cadea2834 (diff)
downloadglibc-078a8920854217d0251fa699145174121e76f15d.tar
glibc-078a8920854217d0251fa699145174121e76f15d.tar.gz
glibc-078a8920854217d0251fa699145174121e76f15d.tar.bz2
glibc-078a8920854217d0251fa699145174121e76f15d.zip
sysvipc: Split out linux struct semid_ds
This will allow us to have architectures specify their own version. Not semantic changes expected. Checked with a build against the all affected ABIs. Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Tested-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Carlos O'Donell <carlos@redhat.com> Tested-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'sysdeps/unix/sysv/linux/bits/msq.h')
-rw-r--r--sysdeps/unix/sysv/linux/bits/msq.h39
1 files changed, 6 insertions, 33 deletions
diff --git a/sysdeps/unix/sysv/linux/bits/msq.h b/sysdeps/unix/sysv/linux/bits/msq.h
index cc4ebae0f0..6ce6408ebc 100644
--- a/sysdeps/unix/sysv/linux/bits/msq.h
+++ b/sysdeps/unix/sysv/linux/bits/msq.h
@@ -20,7 +20,12 @@
#endif
#include <bits/types.h>
-#include <bits/msq-pad.h>
+
+/* Types used in the MSQID_DS structure definition. */
+typedef __syscall_ulong_t msgqnum_t;
+typedef __syscall_ulong_t msglen_t;
+
+#include <bits/types/struct_msqid_ds.h>
/* Define options for message queue functions. */
#define MSG_NOERROR 010000 /* no error if message is too big */
@@ -29,38 +34,6 @@
# define MSG_COPY 040000 /* copy (not remove) all queue messages */
#endif
-/* Types used in the structure definition. */
-typedef __syscall_ulong_t msgqnum_t;
-typedef __syscall_ulong_t msglen_t;
-
-#if __MSQ_PAD_BEFORE_TIME
-# define __MSQ_PAD_TIME(NAME, RES) \
- unsigned long int __glibc_reserved ## RES; __time_t NAME
-#elif __MSQ_PAD_AFTER_TIME
-# define __MSQ_PAD_TIME(NAME, RES) \
- __time_t NAME; unsigned long int __glibc_reserved ## RES
-#else
-# define __MSQ_PAD_TIME(NAME, RES) \
- __time_t NAME
-#endif
-
-/* Structure of record for one message inside the kernel.
- The type `struct msg' is opaque. */
-struct msqid_ds
-{
- struct ipc_perm msg_perm; /* structure describing operation permission */
- __MSQ_PAD_TIME (msg_stime, 1); /* time of last msgsnd command */
- __MSQ_PAD_TIME (msg_rtime, 2); /* time of last msgrcv command */
- __MSQ_PAD_TIME (msg_ctime, 3); /* time of last change */
- __syscall_ulong_t __msg_cbytes; /* current number of bytes on queue */
- msgqnum_t msg_qnum; /* number of messages currently on queue */
- msglen_t msg_qbytes; /* max number of bytes allowed on queue */
- __pid_t msg_lspid; /* pid of last msgsnd() */
- __pid_t msg_lrpid; /* pid of last msgrcv() */
- __syscall_ulong_t __glibc_reserved4;
- __syscall_ulong_t __glibc_reserved5;
-};
-
#ifdef __USE_MISC
# define msg_cbytes __msg_cbytes