Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
[linux-2.6/verdex.git] / include / asm-x86 / types.h
blob63733f315688e03423f389352c506c35d5a53d5a
1 #ifndef _ASM_X86_TYPES_H
2 #define _ASM_X86_TYPES_H
4 #ifndef __ASSEMBLY__
6 typedef unsigned short umode_t;
8 /*
9 * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
10 * header files exported to user space
13 typedef __signed__ char __s8;
14 typedef unsigned char __u8;
16 typedef __signed__ short __s16;
17 typedef unsigned short __u16;
19 typedef __signed__ int __s32;
20 typedef unsigned int __u32;
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
32 #endif /* __ASSEMBLY__ */
35 * These aren't exported outside the kernel to avoid name space clashes
37 #ifdef __KERNEL__
39 #ifdef CONFIG_X86_32
40 # define BITS_PER_LONG 32
41 #else
42 # define BITS_PER_LONG 64
43 #endif
45 #ifndef __ASSEMBLY__
47 typedef signed char s8;
48 typedef unsigned char u8;
50 typedef signed short s16;
51 typedef unsigned short u16;
53 typedef signed int s32;
54 typedef unsigned int u32;
56 typedef signed long long s64;
57 typedef unsigned long long u64;
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
67 #endif /* __ASSEMBLY__ */
68 #endif /* __KERNEL__ */
70 #endif