home *** CD-ROM | disk | FTP | other *** search
/ Total Meltdown / dukenukemtotalmeltdown.img / util / dukectrl / types.h < prev   
C/C++ Source or Header  |  1995-09-05  |  2KB  |  68 lines

  1. #ifndef _types_public
  2. #define _types_public
  3.  
  4.  
  5. //***************************************************************************
  6. //
  7. //  Global Data Types (For portability)
  8. //
  9. //***************************************************************************
  10.  
  11. typedef unsigned char           uint8;
  12. typedef uint8                   byte;
  13. typedef signed char             int8;
  14.  
  15. typedef unsigned short int      uint16;
  16. typedef uint16                  word;
  17. typedef short int               int16;
  18.  
  19. typedef unsigned long           uint32;
  20. typedef long                    int32;
  21. typedef uint32                  udword;
  22. typedef int32                   dword;
  23.  
  24. typedef int32                   fixed;
  25. typedef int32                   boolean;
  26. typedef float                   float32;
  27. typedef double                  float64;
  28. typedef long double             float128;
  29. typedef float64                 appfloat;
  30.  
  31. #define MAXINT32                0x7fffffff
  32. #define MININT32                0x80000000
  33. #define MAXUINT32               0xffffffff
  34. #define MINUINT32               0
  35.  
  36. #define MAXINT16                0x7fff
  37. #define MININT16                0x8000
  38. #define MAXUINT16               0xffff
  39. #define MINUINT16               0
  40.  
  41. //***************************************************************************
  42. //
  43. //  boolean values
  44. //
  45. //***************************************************************************
  46.  
  47. #define true ( 1 == 1 )
  48. #define false ( ! true )
  49.  
  50. //***************************************************************************
  51. //
  52. //  BYTE ACCESS MACROS
  53. //
  54. //***************************************************************************
  55.  
  56. // WORD macros
  57. #define Int16_HighByte( x ) ( (uint8) ((x)>>8) )
  58. #define Int16_LowByte( x )  ( (uint8) ((x)&0xff) )
  59.  
  60. // DWORD macros
  61. #define Int32_4Byte( x )   ( (uint8) ((x)>>24)&0xff )
  62. #define Int32_3Byte( x )   ( (uint8) (((x)>>16)&0xff) )
  63. #define Int32_2Byte( x )   ( (uint8) (((x)>>8)&0xff) )
  64. #define Int32_1Byte( x )   ( (uint8) ((x)&0xff) )
  65.  
  66.  
  67. #endif
  68.