hnbutypedefs.h
上传用户:yuanda199
上传日期:2022-06-26
资源大小:412k
文件大小:4k
源码类别:

VxWorks

开发平台:

C/C++

  1. /*
  2.     EXTERNAL SOURCE RELEASE on 12/03/2001 3.0 - Subject to change without notice.
  3. */
  4. /*
  5.     Copyright 2001, Broadcom Corporation
  6.     All Rights Reserved.
  7.     
  8.     This is UNPUBLISHED PROPRIETARY SOURCE CODE of Broadcom Corporation;
  9.     the contents of this file may not be disclosed to third parties, copied or
  10.     duplicated in any form, in whole or in part, without the prior written
  11.     permission of Broadcom Corporation.
  12. */
  13. /*
  14.  * Copyright 1997 Epigram, Inc.
  15.  *
  16.  * $Id: hnbutypedefs.h,v 1.1 Broadcom SDK $
  17.  *
  18.  */
  19. #ifndef _HNBUTYPEDEFS_H_
  20. #define _HNBUTYPEDEFS_H_
  21. /* Compiler dependent boolean type */
  22. #ifdef __cplusplus
  23. #ifndef FALSE
  24. #define FALSE false
  25. #endif
  26. #ifndef TRUE
  27. #define TRUE true
  28. #endif
  29. #else /* !__cplusplus */
  30. #if defined(_WIN32) || 0 || defined(__MWERKS__)
  31. typedef unsigned char bool;
  32. #else
  33. typedef int bool;
  34. #endif
  35. #ifndef FALSE
  36. #define FALSE 0
  37. #endif
  38. #ifndef TRUE
  39. #define TRUE 1
  40. #ifndef NULL
  41. #define NULL 0
  42. #endif
  43. #endif
  44. #endif /* __cplusplus */
  45. /* Compiler dependent types */
  46. typedef unsigned char uchar;
  47. #if defined(_WIN32) || defined(_C6X_) || defined(PMON) || 0 || 0 || defined(__MWERKS__) || defined(__MRC__) || defined(V2_HAL)
  48. #if defined(TARGETOS_vxWorks)
  49. #if !defined(BCMTYPES_H)
  50. typedef unsigned short ushort;
  51. #endif
  52. #else
  53. typedef unsigned short ushort;
  54. #endif
  55. typedef unsigned int uint;
  56. typedef unsigned long ulong;
  57. #else
  58. /* pick up ushort & uint from standard types.h */
  59. #if defined(linux) && defined(__KERNEL__)
  60. #include <linux/types.h> /* sys/types.h and linux/types.h are oil and water */
  61. #else
  62. #include <sys/types.h>
  63. #if !defined(TARGETENV_sun4) && !defined(linux)
  64. typedef unsigned long ulong;
  65. #endif /* TARGETENV_sun4 */
  66. #endif
  67. #if defined(TARGETOS_vxWorks) || defined(PMON)
  68. typedef unsigned int uint;
  69. #endif
  70. #endif /* WIN32 || _C6X_ */
  71. /* Compiler independent types */
  72. #if !defined(BCMTYPES_H)
  73. typedef signed char int8;
  74. typedef signed short int16;
  75. typedef signed int int32;
  76. typedef unsigned char uint8;
  77. typedef unsigned short uint16;
  78. typedef unsigned int uint32;
  79. #endif
  80. #if !defined(_C6X_)
  81. /* no floating point or int64s on the C6x */
  82. typedef float float32;
  83. typedef double float64;
  84. /*
  85.  * abstracted floating point type allows for compile time selection of
  86.  * single or double precision arithmetic.  Compiling with -DFLOAT32
  87.  * selects single precision; the default is double precision.
  88.  */
  89. #if defined(FLOAT32)
  90. typedef float32 float_t;
  91. #else /* default to double precision floating point */
  92. typedef float64 float_t;
  93. #endif /* FLOAT32 */
  94. #if defined(__MWERKS__)
  95. /* Note: MetroWerks defines an old _MSC_VER, so the test for __MWERKS__
  96.  * should come before the test for _MSC_VER. */
  97. #if __option(longlong)
  98. typedef signed long long int64;
  99. typedef unsigned long long uint64;
  100. #endif /* option longlong */
  101. #elif defined(_MSC_VER)  /* MicroSoft C */
  102. typedef signed __int64 int64;
  103. typedef unsigned __int64 uint64;
  104. #elif defined(__GNUC__) && !defined(__STRICT_ANSI__)
  105. /* gcc understands signed/unsigned 64 bit types, but complains in ANSI mode */
  106. typedef signed long long int64;
  107. typedef unsigned long long uint64;
  108. #elif defined(__ICL) && !defined(__STDC__)
  109. /* ICL accepts unsigned 64 bit type only, and complains in ANSI mode */
  110. typedef unsigned long long uint64;
  111. #endif /* __MWERKS__ */
  112. #endif /* !defined(_C6X_) */
  113. #define PTRSZ sizeof (char*)
  114. /* compiler dependent return type qualifier INLINE */
  115. #ifndef INLINE
  116. #if defined(_MSC_VER)
  117. #define INLINE __inline
  118. #elif defined(__GNUC__)
  119. #define INLINE __inline__
  120. #elif defined(_TMS320C6X) || defined(__MWERKS__)
  121. #define INLINE inline
  122. #elif 0 || 0 || defined(__MRC__) || defined(V2_HAL)
  123. #define INLINE
  124. #else
  125. #error Define INLINE for your environment
  126. #endif /* defined(_MSC_VER) */
  127. #endif /* INLINE */
  128. #endif /* _HNBUTYPEDEFS_H_ */