Loading...
1#ifndef _ASM_MSGBUF_H
2#define _ASM_MSGBUF_H
3
4
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;
17#if !defined(__mips64) && defined(__MIPSEB__)
18 unsigned long __unused1;
19#endif
20 __kernel_time_t msg_stime; /* last msgsnd time */
21#if !defined(__mips64) && defined(__MIPSEL__)
22 unsigned long __unused1;
23#endif
24#if !defined(__mips64) && defined(__MIPSEB__)
25 unsigned long __unused2;
26#endif
27 __kernel_time_t msg_rtime; /* last msgrcv time */
28#if !defined(__mips64) && defined(__MIPSEL__)
29 unsigned long __unused2;
30#endif
31#if !defined(__mips64) && defined(__MIPSEB__)
32 unsigned long __unused3;
33#endif
34 __kernel_time_t msg_ctime; /* last change time */
35#if !defined(__mips64) && defined(__MIPSEL__)
36 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 */
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _ASM_MSGBUF_H
3#define _ASM_MSGBUF_H
4
5#include <asm/ipcbuf.h>
6
7/*
8 * The msqid64_ds structure for the MIPS architecture.
9 * Note extra padding because this structure is passed back and forth
10 * between kernel and user space.
11 *
12 * Pad space is left for:
13 * - 2 miscellaneous unsigned long values
14 */
15
16#if defined(__mips64)
17struct msqid64_ds {
18 struct ipc64_perm msg_perm;
19 long msg_stime; /* last msgsnd time */
20 long msg_rtime; /* last msgrcv time */
21 long msg_ctime; /* last change time */
22 unsigned long msg_cbytes; /* current number of bytes on queue */
23 unsigned long msg_qnum; /* number of messages in queue */
24 unsigned long msg_qbytes; /* max number of bytes on queue */
25 __kernel_pid_t msg_lspid; /* pid of last msgsnd */
26 __kernel_pid_t msg_lrpid; /* last receive pid */
27 unsigned long __unused4;
28 unsigned long __unused5;
29};
30#elif defined (__MIPSEB__)
31struct msqid64_ds {
32 struct ipc64_perm msg_perm;
33 unsigned long msg_stime_high;
34 unsigned long msg_stime; /* last msgsnd time */
35 unsigned long msg_rtime_high;
36 unsigned long msg_rtime; /* last msgrcv time */
37 unsigned long msg_ctime_high;
38 unsigned long msg_ctime; /* last change time */
39 unsigned long msg_cbytes; /* current number of bytes on queue */
40 unsigned long msg_qnum; /* number of messages in queue */
41 unsigned long msg_qbytes; /* max number of bytes on queue */
42 __kernel_pid_t msg_lspid; /* pid of last msgsnd */
43 __kernel_pid_t msg_lrpid; /* last receive pid */
44 unsigned long __unused4;
45 unsigned long __unused5;
46};
47#elif defined (__MIPSEL__)
48struct msqid64_ds {
49 struct ipc64_perm msg_perm;
50 unsigned long msg_stime; /* last msgsnd time */
51 unsigned long msg_stime_high;
52 unsigned long msg_rtime; /* last msgrcv time */
53 unsigned long msg_rtime_high;
54 unsigned long msg_ctime; /* last change time */
55 unsigned long msg_ctime_high;
56 unsigned long msg_cbytes; /* current number of bytes on queue */
57 unsigned long msg_qnum; /* number of messages in queue */
58 unsigned long msg_qbytes; /* max number of bytes on queue */
59 __kernel_pid_t msg_lspid; /* pid of last msgsnd */
60 __kernel_pid_t msg_lrpid; /* last receive pid */
61 unsigned long __unused4;
62 unsigned long __unused5;
63};
64#else
65#warning no endianess set
66#endif
67
68#endif /* _ASM_MSGBUF_H */