1 /*
2  *  include/asm-s390/types.h
3  *
4  *  S390 version
5  *
6  *  Derived from "include/asm-i386/types.h"
7  */
8 
9 #ifndef _S390_TYPES_H
10 #define _S390_TYPES_H
11 
12 #include <asm-generic/int-ll64.h>
13 
14 #ifndef __ASSEMBLY__
15 
16 typedef unsigned short umode_t;
17 
18 /* A address type so that arithmetic can be done on it & it can be upgraded to
19    64 bit when necessary
20 */
21 typedef unsigned long addr_t;
22 typedef __signed__ long saddr_t;
23 
24 #endif /* __ASSEMBLY__ */
25 
26 /*
27  * These aren't exported outside the kernel to avoid name space clashes
28  */
29 #ifdef __KERNEL__
30 
31 #ifndef __ASSEMBLY__
32 
33 #ifndef __s390x__
34 typedef union {
35 	unsigned long long pair;
36 	struct {
37 		unsigned long even;
38 		unsigned long odd;
39 	} subreg;
40 } register_pair;
41 
42 #endif /* ! __s390x__   */
43 #endif /* __ASSEMBLY__  */
44 #endif /* __KERNEL__    */
45 #endif /* _S390_TYPES_H */
46