Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/driver...
[linux-2.6/verdex.git] / include / asm-ia64 / types.h
bloba677565aa95451f13191db59cfb935e9f0808aab
1 #ifndef _ASM_IA64_TYPES_H
2 #define _ASM_IA64_TYPES_H
4 /*
5 * This file is never included by application software unless explicitly requested (e.g.,
6 * via linux/types.h) in which case the application is Linux specific so (user-) name
7 * space pollution is not a major issue. However, for interoperability, libraries still
8 * need to be careful to avoid a name clashes.
10 * Based on <asm-alpha/types.h>.
12 * Modified 1998-2000, 2002
13 * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co
16 #ifdef __ASSEMBLY__
17 # define __IA64_UL(x) (x)
18 # define __IA64_UL_CONST(x) x
20 # ifdef __KERNEL__
21 # define BITS_PER_LONG 64
22 # endif
24 #else
25 # define __IA64_UL(x) ((unsigned long)(x))
26 # define __IA64_UL_CONST(x) x##UL
28 typedef unsigned int umode_t;
31 * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
32 * header files exported to user space
35 typedef __signed__ char __s8;
36 typedef unsigned char __u8;
38 typedef __signed__ short __s16;
39 typedef unsigned short __u16;
41 typedef __signed__ int __s32;
42 typedef unsigned int __u32;
44 typedef __signed__ long __s64;
45 typedef unsigned long __u64;
48 * These aren't exported outside the kernel to avoid name space clashes
50 # ifdef __KERNEL__
52 typedef __s8 s8;
53 typedef __u8 u8;
55 typedef __s16 s16;
56 typedef __u16 u16;
58 typedef __s32 s32;
59 typedef __u32 u32;
61 typedef __s64 s64;
62 typedef __u64 u64;
64 #define BITS_PER_LONG 64
66 /* DMA addresses are 64-bits wide, in general. */
68 typedef u64 dma_addr_t;
70 typedef unsigned short kmem_bufctl_t;
72 # endif /* __KERNEL__ */
73 #endif /* !__ASSEMBLY__ */
75 #endif /* _ASM_IA64_TYPES_H */