1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2/*
3 * include/asm-xtensa/sembuf.h
4 *
5 * The semid64_ds structure for Xtensa architecture.
6 *
7 * This file is subject to the terms and conditions of the GNU General Public
8 * License.  See the file "COPYING" in the main directory of this archive
9 * for more details.
10 *
11 * Copyright (C) 2001 - 2005 Tensilica Inc.
12 *
13 * Note extra padding because this structure is passed back and forth
14 * between kernel and user space.
15 *
16 * Pad space is left for:
17 * - 2 miscellaneous 32-bit values
18 *
19 */
20
21#ifndef _XTENSA_SEMBUF_H
22#define _XTENSA_SEMBUF_H
23
24#include <asm/byteorder.h>
25#include <asm/ipcbuf.h>
26
27struct semid64_ds {
28	struct ipc64_perm sem_perm;		/* permissions .. see ipc.h */
29#ifdef __XTENSA_EL__
30	unsigned long	sem_otime;		/* last semop time */
31	unsigned long	sem_otime_high;
32	unsigned long	sem_ctime;		/* last change time */
33	unsigned long	sem_ctime_high;
34#else
35	unsigned long	sem_otime_high;
36	unsigned long	sem_otime;		/* last semop time */
37	unsigned long	sem_ctime_high;
38	unsigned long	sem_ctime;		/* last change time */
39#endif
40	unsigned long	sem_nsems;		/* no. of semaphores in array */
41	unsigned long	__unused3;
42	unsigned long	__unused4;
43};
44
45#endif /* __ASM_XTENSA_SEMBUF_H */
46