1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _ASM_X86_SEMBUF_H
3#define _ASM_X86_SEMBUF_H
4
5/*
6 * The semid64_ds structure for x86 architecture.
7 * Note extra padding because this structure is passed back and forth
8 * between kernel and user space.
9 *
10 * Pad space is left for:
11 * - 2 miscellaneous 32-bit values
12 *
13 * x86_64 and x32 incorrectly added padding here, so the structures
14 * are still incompatible with the padding on x86.
15 */
16struct semid64_ds {
17 struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
18#ifdef __i386__
19 unsigned long sem_otime; /* last semop time */
20 unsigned long sem_otime_high;
21 unsigned long sem_ctime; /* last change time */
22 unsigned long sem_ctime_high;
23#else
24 __kernel_time_t sem_otime; /* last semop time */
25 __kernel_ulong_t __unused1;
26 __kernel_time_t sem_ctime; /* last change time */
27 __kernel_ulong_t __unused2;
28#endif
29 __kernel_ulong_t sem_nsems; /* no. of semaphores in array */
30 __kernel_ulong_t __unused3;
31 __kernel_ulong_t __unused4;
32};
33
34#endif /* _ASM_X86_SEMBUF_H */
35