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
26 struct semid64_ds {
27 struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
28 #ifdef __XTENSA_EL__
29 unsigned long sem_otime; /* last semop time */
30 unsigned long sem_otime_high;
31 unsigned long sem_ctime; /* last change time */
32 unsigned long sem_ctime_high;
33 #else
34 unsigned long sem_otime_high;
35 unsigned long sem_otime; /* last semop time */
36 unsigned long sem_ctime_high;
37 unsigned long sem_ctime; /* last change time */
38 #endif
39 unsigned long sem_nsems; /* no. of semaphores in array */
40 unsigned long __unused3;
41 unsigned long __unused4;
42 };
43
44 #endif /* __ASM_XTENSA_SEMBUF_H */