at v2.6.15 73 lines 1.6 kB view raw
1#ifndef _ASM_IA64_TYPES_H 2#define _ASM_IA64_TYPES_H 3 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. 9 * 10 * Based on <asm-alpha/types.h>. 11 * 12 * Modified 1998-2000, 2002 13 * David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co 14 */ 15 16#ifdef __ASSEMBLY__ 17# define __IA64_UL(x) (x) 18# define __IA64_UL_CONST(x) x 19 20# ifdef __KERNEL__ 21# define BITS_PER_LONG 64 22# endif 23 24#else 25# define __IA64_UL(x) ((unsigned long)(x)) 26# define __IA64_UL_CONST(x) x##UL 27 28typedef unsigned int umode_t; 29 30/* 31 * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the 32 * header files exported to user space 33 */ 34 35typedef __signed__ char __s8; 36typedef unsigned char __u8; 37 38typedef __signed__ short __s16; 39typedef unsigned short __u16; 40 41typedef __signed__ int __s32; 42typedef unsigned int __u32; 43 44typedef __signed__ long __s64; 45typedef unsigned long __u64; 46 47/* 48 * These aren't exported outside the kernel to avoid name space clashes 49 */ 50# ifdef __KERNEL__ 51 52typedef __s8 s8; 53typedef __u8 u8; 54 55typedef __s16 s16; 56typedef __u16 u16; 57 58typedef __s32 s32; 59typedef __u32 u32; 60 61typedef __s64 s64; 62typedef __u64 u64; 63 64#define BITS_PER_LONG 64 65 66/* DMA addresses are 64-bits wide, in general. */ 67 68typedef u64 dma_addr_t; 69 70# endif /* __KERNEL__ */ 71#endif /* !__ASSEMBLY__ */ 72 73#endif /* _ASM_IA64_TYPES_H */