xref: /linux/arch/xtensa/include/uapi/asm/sembuf.h (revision 83596729adbca4ff3b0273de22e166c64aea49ec)
1*83596729SDavid Howells /*
2*83596729SDavid Howells  * include/asm-xtensa/sembuf.h
3*83596729SDavid Howells  *
4*83596729SDavid Howells  * The semid64_ds structure for Xtensa architecture.
5*83596729SDavid Howells  *
6*83596729SDavid Howells  * This file is subject to the terms and conditions of the GNU General Public
7*83596729SDavid Howells  * License.  See the file "COPYING" in the main directory of this archive
8*83596729SDavid Howells  * for more details.
9*83596729SDavid Howells  *
10*83596729SDavid Howells  * Copyright (C) 2001 - 2005 Tensilica Inc.
11*83596729SDavid Howells  *
12*83596729SDavid Howells  * Note extra padding because this structure is passed back and forth
13*83596729SDavid Howells  * between kernel and user space.
14*83596729SDavid Howells  *
15*83596729SDavid Howells  * Pad space is left for:
16*83596729SDavid Howells  * - 64-bit time_t to solve y2038 problem
17*83596729SDavid Howells  * - 2 miscellaneous 32-bit values
18*83596729SDavid Howells  *
19*83596729SDavid Howells  */
20*83596729SDavid Howells 
21*83596729SDavid Howells #ifndef _XTENSA_SEMBUF_H
22*83596729SDavid Howells #define _XTENSA_SEMBUF_H
23*83596729SDavid Howells 
24*83596729SDavid Howells #include <asm/byteorder.h>
25*83596729SDavid Howells 
26*83596729SDavid Howells struct semid64_ds {
27*83596729SDavid Howells 	struct ipc64_perm sem_perm;		/* permissions .. see ipc.h */
28*83596729SDavid Howells #ifdef __XTENSA_EL__
29*83596729SDavid Howells 	__kernel_time_t	sem_otime;		/* last semop time */
30*83596729SDavid Howells 	unsigned long	__unused1;
31*83596729SDavid Howells 	__kernel_time_t	sem_ctime;		/* last change time */
32*83596729SDavid Howells 	unsigned long	__unused2;
33*83596729SDavid Howells #else
34*83596729SDavid Howells 	unsigned long	__unused1;
35*83596729SDavid Howells 	__kernel_time_t	sem_otime;		/* last semop time */
36*83596729SDavid Howells 	unsigned long	__unused2;
37*83596729SDavid Howells 	__kernel_time_t	sem_ctime;		/* last change time */
38*83596729SDavid Howells #endif
39*83596729SDavid Howells 	unsigned long	sem_nsems;		/* no. of semaphores in array */
40*83596729SDavid Howells 	unsigned long	__unused3;
41*83596729SDavid Howells 	unsigned long	__unused4;
42*83596729SDavid Howells };
43*83596729SDavid Howells 
44*83596729SDavid Howells #endif /* __ASM_XTENSA_SEMBUF_H */
45