blob: 0d6c7f14de31ade52bbef1ba33506396bcf8eafb [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef _ASM_MSGBUF_H
2#define _ASM_MSGBUF_H
3
Linus Torvalds1da177e2005-04-16 15:20:36 -07004
5/*
6 * The msqid64_ds structure for the MIPS architecture.
7 * Note extra padding because this structure is passed back and forth
8 * between kernel and user space.
9 *
10 * Pad space is left for:
11 * - extension of time_t to 64-bit on 32-bitsystem to solve the y2038 problem
12 * - 2 miscellaneous unsigned long values
13 */
14
15struct msqid64_ds {
16 struct ipc64_perm msg_perm;
Ralf Baechle875d43e2005-09-03 15:56:16 -070017#if defined(CONFIG_32BIT) && !defined(CONFIG_CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -070018 unsigned long __unused1;
19#endif
20 __kernel_time_t msg_stime; /* last msgsnd time */
Ralf Baechle875d43e2005-09-03 15:56:16 -070021#if defined(CONFIG_32BIT) && defined(CONFIG_CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -070022 unsigned long __unused1;
23#endif
Ralf Baechle875d43e2005-09-03 15:56:16 -070024#if defined(CONFIG_32BIT) && !defined(CONFIG_CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -070025 unsigned long __unused2;
26#endif
27 __kernel_time_t msg_rtime; /* last msgrcv time */
Ralf Baechle875d43e2005-09-03 15:56:16 -070028#if defined(CONFIG_32BIT) && defined(CONFIG_CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -070029 unsigned long __unused2;
30#endif
Ralf Baechle875d43e2005-09-03 15:56:16 -070031#if defined(CONFIG_32BIT) && !defined(CONFIG_CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -070032 unsigned long __unused3;
33#endif
34 __kernel_time_t msg_ctime; /* last change time */
Ralf Baechle875d43e2005-09-03 15:56:16 -070035#if defined(CONFIG_32BIT) && defined(CONFIG_CPU_LITTLE_ENDIAN)
Linus Torvalds1da177e2005-04-16 15:20:36 -070036 unsigned long __unused3;
37#endif
38 unsigned long msg_cbytes; /* current number of bytes on queue */
39 unsigned long msg_qnum; /* number of messages in queue */
40 unsigned long msg_qbytes; /* max number of bytes on queue */
41 __kernel_pid_t msg_lspid; /* pid of last msgsnd */
42 __kernel_pid_t msg_lrpid; /* last receive pid */
43 unsigned long __unused4;
44 unsigned long __unused5;
45};
46
47#endif /* _ASM_MSGBUF_H */