]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - include/asm-s390/types.h
Linux-2.6.12-rc2
[mirror_ubuntu-artful-kernel.git] / include / asm-s390 / types.h
CommitLineData
1da177e4
LT
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#ifndef __ASSEMBLY__
13
14typedef unsigned short umode_t;
15
16/*
17 * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
18 * header files exported to user space
19 */
20
21typedef __signed__ char __s8;
22typedef unsigned char __u8;
23
24typedef __signed__ short __s16;
25typedef unsigned short __u16;
26
27typedef __signed__ int __s32;
28typedef unsigned int __u32;
29
30#ifndef __s390x__
31#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
32typedef __signed__ long long __s64;
33typedef unsigned long long __u64;
34#endif
35#else /* __s390x__ */
36typedef __signed__ long __s64;
37typedef unsigned long __u64;
38#endif
39
40/* A address type so that arithmetic can be done on it & it can be upgraded to
41 64 bit when necessary
42*/
43typedef unsigned long addr_t;
44typedef __signed__ long saddr_t;
45
46#endif /* __ASSEMBLY__ */
47
48/*
49 * These aren't exported outside the kernel to avoid name space clashes
50 */
51#ifdef __KERNEL__
52
53#ifndef __s390x__
54#define BITS_PER_LONG 32
55#else
56#define BITS_PER_LONG 64
57#endif
58
59#ifndef __ASSEMBLY__
60
61#include <linux/config.h>
62
63typedef signed char s8;
64typedef unsigned char u8;
65
66typedef signed short s16;
67typedef unsigned short u16;
68
69typedef signed int s32;
70typedef unsigned int u32;
71
72#ifndef __s390x__
73typedef signed long long s64;
74typedef unsigned long long u64;
75#else /* __s390x__ */
76typedef signed long s64;
77typedef unsigned long u64;
78#endif /* __s390x__ */
79
80typedef u32 dma_addr_t;
81
82typedef unsigned int kmem_bufctl_t;
83
84#ifndef __s390x__
85typedef union {
86 unsigned long long pair;
87 struct {
88 unsigned long even;
89 unsigned long odd;
90 } subreg;
91} register_pair;
92
93#ifdef CONFIG_LBD
94typedef u64 sector_t;
95#define HAVE_SECTOR_T
96#endif
97
98#endif /* ! __s390x__ */
99#endif /* __ASSEMBLY__ */
100#endif /* __KERNEL__ */
101#endif /* _S390_TYPES_H */