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