home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / msysjour / vol04 / 01a / genapp / stddefs.h < prev    next >
C/C++ Source or Header  |  1988-10-24  |  3KB  |  159 lines

  1.  
  2. /****************************************************************
  3.     STDDEFS.H
  4. ****************************************************************/    
  5.  
  6. #ifndef _STDDEFS_
  7. #define _STDDEFS_    "STDDEFS.H Version 1.03 -- Aug 18 1987" 
  8.  
  9.  
  10. #ifndef VOID
  11. #define VOID void
  12. #endif
  13.  
  14. #ifndef WM_CREATE /*tells us windows.h*/
  15. typedef short     WORD;
  16. typedef unsigned long      DWORD;
  17. typedef long    LONG;
  18. typedef long    LWORD;
  19. typedef WORD    HANDLE;
  20. typedef HANDLE    HWND;
  21.  
  22. typedef int          BOOL;
  23. typedef unsigned char    BYTE;
  24. #endif
  25.  
  26. #ifdef MAC
  27. #define WCALLBACK
  28. #define NEARPASCAL
  29. #else
  30. #define WCALLBACK    far pascal
  31. #define NEARPASCAL    near pascal
  32. #endif
  33.  
  34. typedef char *        MEMADDR;
  35. typedef char *        STRING;
  36. typedef unsigned int     UWORD;
  37. typedef int        ENUM;
  38. typedef char        CHAR;
  39.  
  40. #ifdef RV /*10-10-88*/
  41. typedef int        INT;
  42. typedef int        INDEX;
  43. #define INVALID_INDEX  ((INDEX) -1)
  44. #endif
  45.  
  46. #define LOOP    for(;;)
  47. #define LOCAL   static
  48.  
  49. #ifdef MAC
  50. #define LOCALF /**/
  51. #else
  52. #define LOCALF static
  53. #endif
  54.  
  55. #define PUBLIC /**/
  56.  
  57. #define IMPORT  extern
  58. #define EXPORT /**/
  59. #define EXTERN extern
  60. #define PTR         *
  61.  
  62.  
  63. #define REG register
  64.  
  65. #ifndef TRUE
  66. #define TRUE    1
  67. #endif
  68. #ifndef FALSE
  69. #define FALSE    0
  70. #endif
  71. #ifndef NULL
  72. #define NULL 0
  73. #endif
  74.  
  75. #define BLOCK        /**/
  76.  
  77. /****************************************************************/
  78.  
  79. #define CTL(c)        ((c)-'@')
  80.  
  81. #define LOW_BYTE(n)    (n & 0x00FF)
  82. #define HIGH_BYTE(n)    ((n & 0xFF00) >> 8)
  83. #define HIGH_BIT    (0x80)
  84.  
  85.  
  86.         /*********  TTY DEFS ************************************/
  87. #define NULL_PTR     ((char *)0)
  88. #define NUL         ((BYTE)'\0')
  89. #define ASCII_NULL    ((BYTE)'\0')
  90. #define BELL          ((BYTE)  7)
  91. #ifndef BS
  92. #define BS          ((BYTE)  8)
  93. #endif
  94. #define TAB_CH        ((BYTE)  9)
  95. #define LF        ((BYTE) 10)
  96. #ifndef CR
  97. #define CR        ((BYTE) 13)
  98. #endif
  99. #define ESC        ((BYTE) 27)
  100. #define SPACE_CH     ((BYTE) ' ')
  101. #define UNDERLINE_CH     ((BYTE) '_')
  102. #define DEL         ((BYTE)'\177')
  103. #define BACKSLASH_CH    ((BYTE)'\\')
  104. #define NEWLINE_CH        (13)
  105.  
  106.  
  107.         /************ MISC TEXT ORIENTED MACROS **************/
  108.  
  109. #define is_digit(c)    ('0'<=(c) && (c)<='9')
  110. #define is_upper(c)    ('A'<=(c) && (c)<='Z')
  111. #define is_lower(c)    ('a'<=(c) && (c)<='z')
  112. #define is_alpha(c)    (is_upper(c) || is_lower(c))
  113. #define to_lower(c)    (is_upper(c) ? (c)+SPACE_CH : (c))
  114. #define to_upper(c)    (is_lower(c) ? (c)-SPACE_CH : (c))
  115.  
  116.  
  117.         /************ MISC COMMON MACROS **************/
  118. #ifndef MIN
  119. #define MIN(a,b)        ( ((a) > (b)) ? (b) : (a))        
  120. #define MAX(a,b)        ( ((a) < (b)) ? (b) : (a))        
  121. #endif
  122. #ifndef min
  123. #define min(a,b)        ( ((a) > (b)) ? (b) : (a))        
  124. #define max(a,b)        ( ((a) < (b)) ? (b) : (a))        
  125. #endif
  126.  
  127. #ifndef ABS
  128. #define ABS(a)            ( (a) > 0 ? (a) : -(a))
  129. #endif
  130.  
  131.  
  132. #ifndef MAKELONG
  133. #define MAKELONG(a, b)  ((long)(((unsigned)a) | ((unsigned long)((unsigned)b)) << 16))
  134. #define LoWord(x)        ((unsigned short)x)
  135. #define HiWord(x)        ((unsigned short)(((unsigned long)x) >> 16))
  136. #define SetLoWord(x,val)    (x = MAKELONG(val,HiWord(x)))
  137. #define SetHiWord(x,val)    (x = MAKELONG(LoWord(x),val))
  138. #endif
  139.  
  140. #ifndef MAC
  141. #ifndef _MACTYPES_
  142.  
  143. typedef struct 
  144. {
  145.     int    v,h;
  146. } Point;
  147.     
  148. typedef struct
  149. {
  150.     int    top,left,bottom,right ;
  151. } Rect;
  152. #endif
  153. #endif
  154.  
  155.  
  156. #endif /*_STD_DEFS_*/
  157.  
  158.  
  159.