1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2 #ifndef _ASM_SEMBUF_H
3 #define _ASM_SEMBUF_H
4 
5 #include <asm/ipcbuf.h>
6 
7 /*
8  * The semid64_ds structure for the MIPS architecture.
9  * Note extra padding because this structure is passed back and forth
10  * between kernel and user space.
11  *
12  * Pad space is left for 2 miscellaneous 64-bit values on mips64,
13  * but used for the upper 32 bit of the time values on mips32.
14  */
15 
16 #ifdef __mips64
17 struct semid64_ds {
18 	struct ipc64_perm sem_perm;		/* permissions .. see ipc.h */
19 	long		 sem_otime;		/* last semop time */
20 	long		 sem_ctime;		/* last change time */
21 	unsigned long	sem_nsems;		/* no. of semaphores in array */
22 	unsigned long	__unused1;
23 	unsigned long	__unused2;
24 };
25 #else
26 struct semid64_ds {
27 	struct ipc64_perm sem_perm;		/* permissions .. see ipc.h */
28 	unsigned long   sem_otime;		/* last semop time */
29 	unsigned long   sem_ctime;		/* last change time */
30 	unsigned long	sem_nsems;		/* no. of semaphores in array */
31 	unsigned long	sem_otime_high;
32 	unsigned long	sem_ctime_high;
33 };
34 #endif
35 
36 #endif /* _ASM_SEMBUF_H */
37