home *** CD-ROM | disk | FTP | other *** search
/ Resource Library: Multimedia / Resource Library: Multimedia.iso / sgml / unix / sgmlh / tools.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-07-03  |  1.8 KB  |  33 lines

  1. /******************************************************************************/
  2. /* TOOLS.H: Definitions for type declarations, printing, bit handling, etc.
  3. */
  4. typedef void *UNIV;           /* Universal (i.e., undefined) pointer type. */
  5. typedef char *STRING;         /* String data type. */
  6. typedef char UNCH;            /* All characters are unsigned. */
  7. typedef unsigned UNS;         /* Simplifies changing int to unsigned. */
  8.  
  9. #define VOID void             /* For compilers that don't support void yet. */
  10. #define FILESPEC 2+64+1+8+4+(2)  /* DOS: Maximum length of a file id + (2). */
  11. #define ZAPEOL(cc) ((cc!=0&&cc!=9&&cc!=10&&cc!=13&&cc!=26&&cc!=28) ? cc : 168)
  12.  
  13. /* Macros for bit manipulation.
  14. */
  15. #define SET(word, bits)          ((word) |= (bits))    /* Turn bits on */
  16. #define RESET(word, bits)        ((word) &= ~(bits))   /* Turn bits off */
  17. #define GET(word, bits)          ((word) & (bits))     /* 1=any bit on */
  18. #define BITOFF(word, bits)       (GET(word, bits)==0)  /* 1=no bits on */
  19. #define BITON(word, bits)        ((word) & (bits))     /* 1=any bit on */
  20. #define BITNON(bits,n) ((bits) |= 1L<<((n)-1)) /* Turn on the nth bit. */
  21. #define BITNIS(bits,n) (BITON((bits),(1L<<((n)-1))))/* Test the nth bit. */
  22.  
  23. /* Pointers (should work for big memory model).
  24. */
  25. #define MINPTR   ((struct etd *)10)/* Minimum value for real pointer. */
  26. #define ETDCDATA ((struct etd *)1) /* Dummy etd pointer for #PCDATA. */
  27. #define ETDNULL  ((struct etd *)2) /* Dummy etd pointer for null tag. */
  28. #define ETDNET   ((struct etd *)3) /* Dummy etd pointer for NET delimiter. */
  29. #define STRNULL  ((UNCH *)2)       /* Dummy pointer for null string. */
  30.  
  31. #define ITOAMAX 3             /* Max digits that itoa() can handle. */
  32. /******************************************************************************/
  33.