cpp-d1064d
[cross.git] / i686-linux-gnu-4.7 / usr / include / x86_64-linux-gnu / asm / sembuf.h
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  */
16 struct 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 */