diff options
Diffstat (limited to 'libc/sysdeps/linux/mips/bits/msq.h')
| -rw-r--r-- | libc/sysdeps/linux/mips/bits/msq.h | 94 | 
1 files changed, 73 insertions, 21 deletions
| diff --git a/libc/sysdeps/linux/mips/bits/msq.h b/libc/sysdeps/linux/mips/bits/msq.h index bcf1073e8..141b1ff9f 100644 --- a/libc/sysdeps/linux/mips/bits/msq.h +++ b/libc/sysdeps/linux/mips/bits/msq.h @@ -35,30 +35,58 @@ typedef unsigned long int msglen_t;  /* Structure of record for one message inside the kernel.     The type `struct msg' is opaque.  */ +#if (__WORDSIZE == 32) && defined(__MIPSEL__)  struct msqid_ds  {    struct ipc_perm msg_perm;	/* structure describing operation permission */ -#if (__WORDSIZE == 32) && !defined(__MIPSEL__) -	unsigned long	__unused1; -#endif -  __time_t msg_stime;		/* time of last msgsnd command */ -#if (__WORDSIZE == 32) && defined(__MIPSEL__) -	unsigned long	__unused1; -#endif -#if (__WORDSIZE == 32) && !defined(__MIPSEL__) -	unsigned long	__unused2; -#endif -  __time_t msg_rtime;		/* time of last msgrcv command */ -#if (__WORDSIZE == 32) && defined(__MIPSEL__) -	unsigned long	__unused2; -#endif -#if (__WORDSIZE == 32) && !defined(__MIPSEL__) -	unsigned long	__unused3; -#endif -  __time_t msg_ctime;		/* time of last change */ -#if (__WORDSIZE == 32) && defined(__MIPSEL__) -	unsigned long	__unused3; -#endif +#  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 +  __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 +  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 +}; + +#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 */ @@ -66,8 +94,32 @@ 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__) +  __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 | 
