1#ifndef _ASM_IA64_TYPES_H 2#define _ASM_IA64_TYPES_H 3 4/* 5 * This file is never included by application software unless 6 * explicitly requested (e.g., via linux/types.h) in which case the 7 * application is Linux specific so (user-) name space pollution is 8 * not a major issue. However, for interoperability, libraries still 9 * need to be careful to avoid a name clashes. 10 * 11 * Copyright (C) 1998-2000 Hewlett-Packard Co 12 * Copyright (C) 1998-2000 David Mosberger-Tang <davidm@hpl.hp.com> 13 */ 14 15#ifdef __ASSEMBLY__ 16# define __IA64_UL(x) (x) 17# define __IA64_UL_CONST(x) x 18#else 19# define __IA64_UL(x) ((unsigned long)(x)) 20# define __IA64_UL_CONST(x) x##UL 21#endif 22 23#ifndef __ASSEMBLY__ 24 25typedef unsigned int umode_t; 26 27/* 28 * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the 29 * header files exported to user space 30 */ 31 32typedef __signed__ char __s8; 33typedef unsigned char __u8; 34 35typedef __signed__ short __s16; 36typedef unsigned short __u16; 37 38typedef __signed__ int __s32; 39typedef unsigned int __u32; 40 41typedef __signed__ long __s64; 42typedef unsigned long __u64; 43 44/* 45 * These aren't exported outside the kernel to avoid name space clashes 46 */ 47# ifdef __KERNEL__ 48 49typedef __s8 s8; 50typedef __u8 u8; 51 52typedef __s16 s16; 53typedef __u16 u16; 54 55typedef __s32 s32; 56typedef __u32 u32; 57 58typedef __s64 s64; 59typedef __u64 u64; 60 61#define BITS_PER_LONG 64 62 63/* DMA addresses are 64-bits wide, in general. */ 64 65typedef u64 dma_addr_t; 66 67# endif /* __KERNEL__ */ 68#endif /* !__ASSEMBLY__ */ 69 70#endif /* _ASM_IA64_TYPES_H */ 71