16f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 270c1674fSDavid Howells #ifndef _PARISC_SEMBUF_H 370c1674fSDavid Howells #define _PARISC_SEMBUF_H 470c1674fSDavid Howells 5d8f5457aSHelge Deller #include <asm/bitsperlong.h> 60fb9dc28SMasahiro Yamada #include <asm/ipcbuf.h> 7d8f5457aSHelge Deller 870c1674fSDavid Howells /* 970c1674fSDavid Howells * The semid64_ds structure for parisc architecture. 1070c1674fSDavid Howells * Note extra padding because this structure is passed back and forth 1170c1674fSDavid Howells * between kernel and user space. 1270c1674fSDavid Howells * 1370c1674fSDavid Howells * Pad space is left for: 1470c1674fSDavid Howells * - 2 miscellaneous 32-bit values 1570c1674fSDavid Howells */ 1670c1674fSDavid Howells 1770c1674fSDavid Howells struct semid64_ds { 1870c1674fSDavid Howells struct ipc64_perm sem_perm; /* permissions .. see ipc.h */ 19f69c97f6SArnd Bergmann #if __BITS_PER_LONG == 64 20caf5e32dSArnd Bergmann long sem_otime; /* last semop time */ 21caf5e32dSArnd Bergmann long sem_ctime; /* last change time */ 22f69c97f6SArnd Bergmann #else 23f69c97f6SArnd Bergmann unsigned long sem_otime_high; 24f69c97f6SArnd Bergmann unsigned long sem_otime; /* last semop time */ 25f69c97f6SArnd Bergmann unsigned long sem_ctime_high; 26f69c97f6SArnd Bergmann unsigned long sem_ctime; /* last change time */ 27f69c97f6SArnd Bergmann #endif 28d0cf62fbSHelge Deller unsigned long sem_nsems; /* no. of semaphores in array */ 29d0cf62fbSHelge Deller unsigned long __unused1; 30d0cf62fbSHelge Deller unsigned long __unused2; 3170c1674fSDavid Howells }; 3270c1674fSDavid Howells 3370c1674fSDavid Howells #endif /* _PARISC_SEMBUF_H */ 34