types.h 1.5 KB

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