master
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 */