1/*
2 * include/asm-xtensa/msgbuf.h
3 *
4 * The msqid64_ds structure for the Xtensa architecture.
5 * Note extra padding because this structure is passed back and forth
6 * between kernel and user space.
7 *
8 * Pad space is left for:
9 * - 64-bit time_t to solve y2038 problem
10 * - 2 miscellaneous 32-bit values
11 *
12 * This file is subject to the terms and conditions of the GNU General
13 * Public License.  See the file "COPYING" in the main directory of
14 * this archive for more details.
15 */
16
17#ifndef _XTENSA_MSGBUF_H
18#define _XTENSA_MSGBUF_H
19
20struct msqid64_ds {
21	struct ipc64_perm msg_perm;
22#ifdef __XTENSA_EB__
23	unsigned int	__unused1;
24	__kernel_time_t msg_stime;	/* last msgsnd time */
25	unsigned int	__unused2;
26	__kernel_time_t msg_rtime;	/* last msgrcv time */
27	unsigned int	__unused3;
28	__kernel_time_t msg_ctime;	/* last change time */
29#elif defined(__XTENSA_EL__)
30	__kernel_time_t msg_stime;	/* last msgsnd time */
31	unsigned int	__unused1;
32	__kernel_time_t msg_rtime;	/* last msgrcv time */
33	unsigned int	__unused2;
34	__kernel_time_t msg_ctime;	/* last change time */
35	unsigned int	__unused3;
36#else
37# error processor byte order undefined!
38#endif
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
48#endif	/* _XTENSA_MSGBUF_H */
49