1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/*
3 * include/asm-xtensa/msgbuf.h
4 *
5 * The msqid64_ds structure for the Xtensa architecture.
6 * Note extra padding because this structure is passed back and forth
7 * between kernel and user space.
8 *
9 * Pad space is left for:
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
20#include <asm/ipcbuf.h>
21
22struct msqid64_ds {
23	struct ipc64_perm msg_perm;
24#ifdef __XTENSA_EB__
25	unsigned long  msg_stime_high;
26	unsigned long  msg_stime;	/* last msgsnd time */
27	unsigned long  msg_rtime_high;
28	unsigned long  msg_rtime;	/* last msgrcv time */
29	unsigned long  msg_ctime_high;
30	unsigned long  msg_ctime;	/* last change time */
31#elif defined(__XTENSA_EL__)
32	unsigned long  msg_stime;	/* last msgsnd time */
33	unsigned long  msg_stime_high;
34	unsigned long  msg_rtime;	/* last msgrcv time */
35	unsigned long  msg_rtime_high;
36	unsigned long  msg_ctime;	/* last change time */
37	unsigned long  msg_ctime_high;
38#else
39# error processor byte order undefined!
40#endif
41	unsigned long  msg_cbytes;	/* current number of bytes on queue */
42	unsigned long  msg_qnum;	/* number of messages in queue */
43	unsigned long  msg_qbytes;	/* max number of bytes on queue */
44	__kernel_pid_t msg_lspid;	/* pid of last msgsnd */
45	__kernel_pid_t msg_lrpid;	/* last receive pid */
46	unsigned long  __unused4;
47	unsigned long  __unused5;
48};
49
50#endif	/* _XTENSA_MSGBUF_H */
51