1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2 #ifndef _ASM_SEMBUF_H 3 #define _ASM_SEMBUF_H 4 5 /* 6 * The semid64_ds structure for the MIPS 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 2 miscellaneous 64-bit values on mips64, 11 * but used for the upper 32 bit of the time values on mips32. 12 */ 13 14 #ifdef __mips64 15 struct semid64_ds { 16 struct ipc64_perm sem_perm; /* permissions .. see ipc.h */ 17 __kernel_time_t sem_otime; /* last semop time */ 18 __kernel_time_t sem_ctime; /* last change time */ 19 unsigned long sem_nsems; /* no. of semaphores in array */ 20 unsigned long __unused1; 21 unsigned long __unused2; 22 }; 23 #else 24 struct semid64_ds { 25 struct ipc64_perm sem_perm; /* permissions .. see ipc.h */ 26 unsigned long sem_otime; /* last semop time */ 27 unsigned long sem_ctime; /* last change time */ 28 unsigned long sem_nsems; /* no. of semaphores in array */ 29 unsigned long sem_otime_high; 30 unsigned long sem_ctime_high; 31 }; 32 #endif 33 34 #endif /* _ASM_SEMBUF_H */ 35