Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

108 lines
3.2 KiB

  1. /************************************************************************/
  2. /* */
  3. /* RCPP - Resource Compiler Pre-Processor for NT system */
  4. /* */
  5. /* GLOBALS.C - Global variable definitions */
  6. /* */
  7. /* 27-Nov-90 w-BrianM Update for NT from PM SDK RCPP */
  8. /* */
  9. /************************************************************************/
  10. #include <stdio.h>
  11. #include "rcpptype.h"
  12. #include "rcppext.h"
  13. #include "grammar.h"
  14. /* shared strings */
  15. char Union_str[] = "union";
  16. char Struct_str[] = "struct";
  17. char Cdecl_str[] = "cdecl";
  18. char Cdecl1_str[] = "cdecl ";
  19. char Fortran_str[] = "fortran";
  20. char Fortran1_str[] = "fortran ";
  21. char Pascal_str[] = "pascal";
  22. char Pascal1_str[] = "pascal ";
  23. char PPelse_str[] = "#else";
  24. char PPendif_str[] = "#endif";
  25. char PPifel_str[] = "#if/#elif";
  26. char Syntax_str[] = "syntax error";
  27. FILE *ErrFile; /* file containing error messages */
  28. FILE *Errfl; /* files errors written to */
  29. FILE *OUTPUTFILE; /* File for output of program */
  30. char *A_string; /* model encoding */
  31. char *Debug; /* debugging switches */
  32. char *Input_file; /* the input .rc file */
  33. char *Output_file; /* the output .res file */
  34. char *Q_string; /* hardware characteristics */
  35. char *Version;
  36. char *gpszNLSoptions;
  37. int In_alloc_text;
  38. int Bad_pragma;
  39. int Cross_compile; /* is this a cross compile ? */
  40. int Ehxtension; /* near/far keywords, but no huge */
  41. int HugeModel; /* Huge Model program ?? */
  42. int Inteltypes; /* using strict Intel types or not */
  43. int Nerrors;
  44. int NoPasFor; /* no fortran/pascal keywords ? */
  45. int Out_funcdef; /* output function definitions */
  46. int Plm; /* non-C calling sequence */
  47. int Prep; /* preprocess */
  48. int Srclist; /* put msgs to il file if source listing */
  49. int Cmd_intrinsic; /* implicit intrinsics */
  50. int Cmd_loop_opt;
  51. int Cmd_pointer_check;
  52. int Symbolic_debug; /* Whether to put out dbil info or not */
  53. int Cflag; /* leave in comments */
  54. int Eflag; /* insert #line */
  55. int Jflag; /* no Kanji */
  56. int Pflag; /* no #line */
  57. int Rflag; /* mkhives - no exponent missing error */
  58. int ZcFlag; /* case insensitive compare */
  59. int In_define;
  60. int InInclude;
  61. int InIf;
  62. int Macro_depth;
  63. int Linenumber;
  64. UCHAR Reuse_1[BIG_BUFFER];
  65. UCHAR Filebuff[MED_BUFFER+1];
  66. UCHAR Macro_buffer[BIG_BUFFER * 4];
  67. token_t Basic_token = L_NOTOKEN;
  68. LIST Defs = {MAXLIST}; /* -D list */
  69. LIST Includes = {MAXLIST, {0}}; /* for include file names */
  70. char *Path_chars = "/"; /* path delimiter chars */
  71. char *ErrFilName = "c1.err"; /* error message file name */
  72. char *Basename = ""; /* base IL file name */
  73. char *Filename = Filebuff;
  74. int Char_align = 1; /* alignment of chars in structs */
  75. int Cmd_stack_check = TRUE;
  76. int Stack_check = TRUE;
  77. int Prep_ifstack = -1;
  78. int Switch_check = TRUE;
  79. int Load_ds_with;
  80. int Plmn;
  81. int Plmf;
  82. int On_pound_line;
  83. int Listing_value;
  84. hash_t Reuse_1_hash;
  85. UINT Reuse_1_length;
  86. token_t Currtok = L_NOTOKEN;
  87. int Extension = TRUE; /* near/far keywords? */
  88. int Cmd_pack_size = 2;
  89. int Pack_size = 2;
  90. lextype_t yylval;
  91. /*** I/O Variable for PreProcessor ***/
  92. ptext_t Current_char;
  93. /*** w-BrianM - Re-write of fatal(), error() ***/
  94. char Msg_Text[MSG_BUFF_SIZE];
  95. char * Msg_Temp;