xref: /openbmc/linux/arch/parisc/include/uapi/asm/sembuf.h (revision 0fb9dc28)
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