|
@@ -35,25 +35,25 @@ typedef unsigned long int msglen_t;
|
|
|
|
|
|
/* Structure of record for one message inside the kernel.
|
|
|
The type `struct msg' is opaque. */
|
|
|
-/* Just for (__WORDSIZE == 32) && (__MIPSEL__) */
|
|
|
+#if (__WORDSIZE == 32) && defined(__MIPSEL__)
|
|
|
struct msqid_ds
|
|
|
{
|
|
|
struct ipc_perm msg_perm; /* structure describing operation permission */
|
|
|
-#if defined(__UCLIBC_USE_TIME64__)
|
|
|
+# if defined(__UCLIBC_USE_TIME64__)
|
|
|
unsigned long msg_stime_internal_1; /* time of last msgsnd command */
|
|
|
unsigned long msg_stime_internal_2;
|
|
|
unsigned long msg_rtime_internal_1; /* time of last msgrcv command */
|
|
|
unsigned long msg_rtime_internal_2;
|
|
|
unsigned long msg_ctime_internal_1; /* time of last change */
|
|
|
unsigned long msg_ctime_internal_2;
|
|
|
-#else
|
|
|
+# else
|
|
|
__time_t msg_stime;
|
|
|
unsigned long int __uclibc_unused1;
|
|
|
__time_t msg_rtime;
|
|
|
unsigned long int __uclibc_unused2;
|
|
|
__time_t msg_ctime;
|
|
|
unsigned long int __uclibc_unused3;
|
|
|
-#endif
|
|
|
+# endif
|
|
|
unsigned long int __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 */
|
|
@@ -61,13 +61,65 @@ struct msqid_ds
|
|
|
__pid_t msg_lrpid; /* pid of last msgrcv() */
|
|
|
unsigned long int __uclibc_unused4;
|
|
|
unsigned long int __uclibc_unused5;
|
|
|
-#if defined(__UCLIBC_USE_TIME64__)
|
|
|
+# if defined(__UCLIBC_USE_TIME64__)
|
|
|
__time_t msg_stime;
|
|
|
__time_t msg_rtime;
|
|
|
__time_t msg_ctime;
|
|
|
-#endif
|
|
|
+# endif
|
|
|
};
|
|
|
|
|
|
+#elif (__WORDSIZE == 32) && defined(__MIPSEB__)
|
|
|
+struct msqid_ds
|
|
|
+{
|
|
|
+ struct ipc_perm msg_perm; /* structure describing operation permission */
|
|
|
+# if defined(__UCLIBC_USE_TIME64__)
|
|
|
+ unsigned long msg_stime_internal_2; /* time of last msgsnd command */
|
|
|
+ unsigned long msg_stime_internal_1;
|
|
|
+ unsigned long msg_rtime_internal_2; /* time of last msgrcv command */
|
|
|
+ unsigned long msg_rtime_internal_1;
|
|
|
+ unsigned long msg_ctime_internal_2; /* time of last change */
|
|
|
+ unsigned long msg_ctime_internal_1;
|
|
|
+# else
|
|
|
+ unsigned long int __uclibc_unused1;
|
|
|
+ __time_t msg_stime;
|
|
|
+ unsigned long int __uclibc_unused2;
|
|
|
+ __time_t msg_rtime;
|
|
|
+ unsigned long int __uclibc_unused3;
|
|
|
+ __time_t msg_ctime;
|
|
|
+# endif
|
|
|
+ unsigned long int __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() */
|
|
|
+ unsigned long int __uclibc_unused4;
|
|
|
+ unsigned long int __uclibc_unused5;
|
|
|
+# if defined(__UCLIBC_USE_TIME64__)
|
|
|
+ __time_t msg_stime;
|
|
|
+ __time_t msg_rtime;
|
|
|
+ __time_t msg_ctime;
|
|
|
+# endif
|
|
|
+};
|
|
|
+
|
|
|
+#else
|
|
|
+
|
|
|
+struct msqid_ds
|
|
|
+{
|
|
|
+ struct ipc_perm msg_perm; /* structure describing operation permission */
|
|
|
+ __time_t msg_stime; /* time of last msgsnd command */
|
|
|
+ __time_t msg_rtime; /* time of last msgrcv command */
|
|
|
+ __time_t msg_ctime; /* time of last change */
|
|
|
+ unsigned long int __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() */
|
|
|
+ unsigned long int __uclibc_unused4;
|
|
|
+ unsigned long int __uclibc_unused5;
|
|
|
+};
|
|
|
+
|
|
|
+#endif
|
|
|
+
|
|
|
#ifdef __USE_MISC
|
|
|
|
|
|
# define msg_cbytes __msg_cbytes
|