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
17struct 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
26struct 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