home *** CD-ROM | disk | FTP | other *** search
/ ftp.cs.arizona.edu / ftp.cs.arizona.edu.tar / ftp.cs.arizona.edu / icon / historic / v92.tgz / v92.tar / v92 / src / icont / tglobals.h < prev    next >
C/C++ Source or Header  |  1996-03-22  |  3KB  |  84 lines

  1. /*
  2.  *  Global variables.
  3.  */
  4.  
  5. #ifndef Global
  6. #define Global extern
  7. #define Init(v)
  8. #endif                    /* Global */
  9.  
  10. /*
  11.  * Masks for accessing hash tables.
  12.  */
  13. Global int cmask;            /* mask for constant table hash */
  14. Global int fmask;            /* mask for field table hash */
  15. Global int gmask;            /* mask for global table hash */    
  16. Global int imask;            /* mask for identifier table hash */
  17. Global int lmask;            /* mask for local table hash */
  18.  
  19. /*
  20.  * Array sizes for various linker tables that can be expanded with realloc().
  21.  */
  22. Global unsigned int csize    Init(100);    /* constant table */
  23. Global unsigned int lsize    Init(100);    /* local table */
  24. Global unsigned int nsize    Init(1000);    /* ipc/line num. assoc. table */
  25. Global unsigned int stsize    Init(20000);    /* string space */
  26. Global unsigned int maxcode    Init(15000);    /* code space */
  27. Global unsigned int fnmsize    Init(10);    /* ipc/file name assoc. table */
  28. Global unsigned int maxlabels    Init(500);    /* maximum num of labels/proc */
  29.  
  30. /*
  31.  * Sizes of various hash tables.
  32.  */
  33. Global unsigned int lchsize    Init(128);    /* constant hash table */
  34. Global unsigned int fhsize    Init(32);    /* field hash table */
  35. Global unsigned int ghsize    Init(128);    /* global hash table */
  36. Global unsigned int ihsize    Init(128);    /* identifier hash table */
  37. Global unsigned int lhsize    Init(128);    /* local hash table */
  38.  
  39. /*
  40.  * Variables related to command processing.
  41.  */
  42. Global char *progname    Init("icont");    /* program name for diagnostics */
  43.  
  44. #if ATARI_ST
  45. Global char *patharg    Init(0);    /* -p: path for finding iconx */
  46. #endif                    /* ATARI_ST */
  47.  
  48. #if MSDOS
  49. #if ZTC_386
  50. Global int makeExe    Init(0);    /* -I: create .icx instead of .exe */
  51. #else                    /* ZTC_386 */
  52. Global int makeExe    Init(1);    /* -X: create .exe instead of .icx */
  53. #endif                    /* ZTC_386 */
  54. Global long fileOffsetOfStuffThatGoesInICX
  55.             Init(0);    /* remains 0 -f -X is not used */
  56. #endif                    /* MSDOS */
  57.  
  58.                     /* set in link.c; used in lcode.c */
  59. Global int silent    Init(0);    /* -s: suppress info messages? */
  60. Global int m4pre    Init(0);    /* -m: use m4 preprocessor? [UNIX] */
  61. Global int uwarn    Init(0);    /* -u: warn about undefined ids? */
  62. Global int trace    Init(0);    /* -t: initial &trace value */
  63. Global int pponly    Init(0);    /* -E: preprocess only */
  64. Global int strinv    Init(0);    /* -f s: allow full string invocation */
  65. Global int verbose    Init(1);    /* -v n: verbosity of commentary */
  66.  
  67.  
  68. #if OS2
  69. Global int noexe    Init(0);    /* -i: stop with .ICX file */
  70. #endif
  71.  
  72. #ifdef DeBugLinker
  73. Global int Dflag    Init(0);    /* -L: linker debug (write .ux file) */
  74. #endif                    /* DeBugLinker */
  75.  
  76. /*
  77.  * Files and related globals.
  78.  */
  79. Global FILE *codefile    Init(0);    /* current ucode output file */
  80. Global FILE *globfile    Init(0);    /* current global table output file */
  81.  
  82. Global char *iconxloc;            /* path to iconx */
  83. Global long hdrsize;            /* size of iconx header */
  84.