Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6] / include / asm-x86 / types.h
1 #ifndef _ASM_X86_TYPES_H
2 #define _ASM_X86_TYPES_H
3
4 #ifndef __ASSEMBLY__
5
6 typedef unsigned short umode_t;
7
8 /*
9  * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
10  * header files exported to user space
11  */
12
13 typedef __signed__ char __s8;
14 typedef unsigned char __u8;
15
16 typedef __signed__ short __s16;
17 typedef unsigned short __u16;
18
19 typedef __signed__ int __s32;
20 typedef unsigned int __u32;
21
22 #ifdef __i386__
23 # ifdef __GNUC__
24 __extension__ typedef __signed__ long long __s64;
25 __extension__ typedef unsigned long long __u64;
26 # endif
27 #else
28 typedef __signed__ long long __s64;
29 typedef unsigned long long __u64;
30 #endif
31
32 #endif /* __ASSEMBLY__ */
33
34 /*
35  * These aren't exported outside the kernel to avoid name space clashes
36  */
37 #ifdef __KERNEL__
38
39 #ifdef CONFIG_X86_32
40 # define BITS_PER_LONG 32
41 #else
42 # define BITS_PER_LONG 64
43 #endif
44
45 #ifndef __ASSEMBLY__
46
47 typedef signed char s8;
48 typedef unsigned char u8;
49
50 typedef signed short s16;
51 typedef unsigned short u16;
52
53 typedef signed int s32;
54 typedef unsigned int u32;
55
56 typedef signed long long s64;
57 typedef unsigned long long u64;
58
59 typedef u64 dma64_addr_t;
60 #if defined(CONFIG_X86_64) || defined(CONFIG_HIGHMEM64G)
61 /* DMA addresses come in 32-bit and 64-bit flavours. */
62 typedef u64 dma_addr_t;
63 #else
64 typedef u32 dma_addr_t;
65 #endif
66
67 #endif /* __ASSEMBLY__ */
68 #endif /* __KERNEL__ */
69
70 #endif