16f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 254579826SDavid Howells #ifndef _SPARC_SEMBUF_H 354579826SDavid Howells #define _SPARC_SEMBUF_H 454579826SDavid Howells 5*0fb9dc28SMasahiro Yamada #include <asm/ipcbuf.h> 6*0fb9dc28SMasahiro Yamada 754579826SDavid Howells /* 854579826SDavid Howells * The semid64_ds structure for sparc architecture. 954579826SDavid Howells * Note extra padding because this structure is passed back and forth 1054579826SDavid Howells * between kernel and user space. 1154579826SDavid Howells * 1254579826SDavid Howells * Pad space is left for: 1354579826SDavid Howells * - 2 miscellaneous 32-bit values 1454579826SDavid Howells */ 1554579826SDavid Howells 1654579826SDavid Howells struct semid64_ds { 1754579826SDavid Howells struct ipc64_perm sem_perm; /* permissions .. see ipc.h */ 1891b9b0d7SArnd Bergmann #if defined(__sparc__) && defined(__arch64__) 19caf5e32dSArnd Bergmann long sem_otime; /* last semop time */ 20caf5e32dSArnd Bergmann long sem_ctime; /* last change time */ 2191b9b0d7SArnd Bergmann #else 2291b9b0d7SArnd Bergmann unsigned long sem_otime_high; 2391b9b0d7SArnd Bergmann unsigned long sem_otime; /* last semop time */ 2491b9b0d7SArnd Bergmann unsigned long sem_ctime_high; 2591b9b0d7SArnd Bergmann unsigned long sem_ctime; /* last change time */ 2691b9b0d7SArnd Bergmann #endif 2754579826SDavid Howells unsigned long sem_nsems; /* no. of semaphores in array */ 2854579826SDavid Howells unsigned long __unused1; 2954579826SDavid Howells unsigned long __unused2; 3054579826SDavid Howells }; 3154579826SDavid Howells 3254579826SDavid Howells #endif /* _SPARC64_SEMBUF_H */ 33