Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
[linux-2.6] / include / asm-parisc / types.h
1 #ifndef _PARISC_TYPES_H
2 #define _PARISC_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 #if defined(__GNUC__) && !defined(__STRICT_ANSI__)
23 typedef __signed__ long long __s64;
24 typedef unsigned long long __u64;
25 #endif
26
27 #endif /* __ASSEMBLY__ */
28
29 /*
30  * These aren't exported outside the kernel to avoid name space clashes
31  */
32 #ifdef __KERNEL__
33
34 #ifdef __LP64__
35 #define BITS_PER_LONG 64
36 #define SHIFT_PER_LONG 6
37 #else
38 #define BITS_PER_LONG 32
39 #define SHIFT_PER_LONG 5
40 #endif
41
42 #ifndef __ASSEMBLY__
43
44 typedef signed char s8;
45 typedef unsigned char u8;
46
47 typedef signed short s16;
48 typedef unsigned short u16;
49
50 typedef signed int s32;
51 typedef unsigned int u32;
52
53 typedef signed long long s64;
54 typedef unsigned long long u64;
55
56 /* Dma addresses are 32-bits wide.  */
57
58 typedef u32 dma_addr_t;
59 typedef u64 dma64_addr_t;
60
61 #endif /* __ASSEMBLY__ */
62
63 #endif /* __KERNEL__ */
64
65 #endif