types.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:2k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * This file is subject to the terms and conditions of the GNU General Public
  3.  * License.  See the file "COPYING" in the main directory of this archive
  4.  * for more details.
  5.  *
  6.  * Copyright 1999 Ralf Baechle (ralf@gnu.org)
  7.  * Copyright 1999 Silicon Graphics, Inc.
  8.  */
  9. #ifndef _ASM_ARC_TYPES_H
  10. #define _ASM_ARC_TYPES_H
  11. #include <linux/config.h>
  12. #ifdef CONFIG_ARC32
  13. typedef char CHAR;
  14. typedef short SHORT;
  15. typedef long LARGE_INTEGER __attribute__ ((__mode__ (__DI__)));
  16. typedef long LONG __attribute__ ((__mode__ (__SI__)));
  17. typedef unsigned char UCHAR;
  18. typedef unsigned short USHORT;
  19. typedef unsigned long ULONG __attribute__ ((__mode__ (__SI__)));
  20. typedef void VOID;
  21. /* The pointer types.  Note that we're using a 64-bit compiler but all
  22.    pointer in the ARC structures are only 32-bit, so we need some disgusting
  23.    workarounds.  Keep your vomit bag handy.  */
  24. typedef LONG _PCHAR;
  25. typedef LONG _PSHORT;
  26. typedef LONG _PLARGE_INTEGER;
  27. typedef LONG _PLONG;
  28. typedef LONG _PUCHAR;
  29. typedef LONG _PUSHORT;
  30. typedef LONG _PULONG;
  31. typedef LONG _PVOID;
  32. #endif /* CONFIG_ARC32 */
  33. #ifdef CONFIG_ARC64
  34. typedef char CHAR;
  35. typedef short SHORT;
  36. typedef long LARGE_INTEGER __attribute__ ((__mode__ (__DI__)));
  37. typedef long LONG __attribute__ ((__mode__ (__DI__)));
  38. typedef unsigned char UCHAR;
  39. typedef unsigned short USHORT;
  40. typedef unsigned long ULONG __attribute__ ((__mode__ (__DI__)));
  41. typedef void VOID;
  42. /* The pointer types.  We're 64-bit and the firmware is also 64-bit, so
  43.    live is sane ...  */
  44. typedef CHAR *_PCHAR;
  45. typedef SHORT *_PSHORT;
  46. typedef LARGE_INTEGER *_PLARGE_INTEGER;
  47. typedef LONG *_PLONG;
  48. typedef UCHAR *_PUCHAR;
  49. typedef USHORT *_PUSHORT;
  50. typedef ULONG *_PULONG;
  51. typedef VOID *_PVOID;
  52. #endif /* CONFIG_ARC64  */
  53. typedef CHAR *PCHAR;
  54. typedef SHORT *PSHORT;
  55. typedef LARGE_INTEGER *PLARGE_INTEGER;
  56. typedef LONG *PLONG;
  57. typedef UCHAR *PUCHAR;
  58. typedef USHORT *PUSHORT;
  59. typedef ULONG *PULONG;
  60. typedef VOID *PVOID;
  61. #endif /* _ASM_ARC_TYPES_H */