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.

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