Commit | Line | Data |
---|---|---|
9d256ff5 TG |
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; | |
96a388de TG |
26 | # endif |
27 | #else | |
9d256ff5 TG |
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 | ||
96a388de | 70 | #endif |