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