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.

143 lines
6.5 KiB

  1. /************************************************************************/
  2. /* */
  3. /* RCPP - Resource Compiler Pre-Processor for NT system */
  4. /* */
  5. /* RCPPDECL.H - RCPP function prototype declarations */
  6. /* */
  7. /* 04-Dec-90 w-BrianM Created */
  8. /* */
  9. /************************************************************************/
  10. /************************************************************************/
  11. /* ERROR.C */
  12. /************************************************************************/
  13. void error (int);
  14. void fatal (int);
  15. void warning (int);
  16. /************************************************************************/
  17. /* GETMSG.C */
  18. /************************************************************************/
  19. PCHAR GET_MSG (int);
  20. void __cdecl SET_MSG (PCHAR, UINT, PCHAR, ...);
  21. /************************************************************************/
  22. /* GETFLAGS.C */
  23. /************************************************************************/
  24. #if i386 == 1
  25. int crack_cmd (struct cmdtab *, WCHAR *, WCHAR *(*)(void), int);
  26. #else /* MIPS */
  27. struct cmdtab;
  28. int crack_cmd (struct cmdtab *, WCHAR *, WCHAR *(*)(void), int);
  29. #endif /* i386 */
  30. /************************************************************************/
  31. /* LTOA.C */
  32. /************************************************************************/
  33. int zltoa (long, WCHAR *, int);
  34. /************************************************************************/
  35. /* P0EXPR.C */
  36. /************************************************************************/
  37. long do_constexpr (void);
  38. /************************************************************************/
  39. /* P0GETTOK.C */
  40. /************************************************************************/
  41. token_t yylex(void);
  42. int lex_getid (WCHAR);
  43. /************************************************************************/
  44. /* P0IO.C */
  45. /************************************************************************/
  46. void emit_line (void);
  47. WCHAR fpop (void);
  48. int io_eob (void);
  49. int io_restart (unsigned long int);
  50. int newinput (WCHAR *, int);
  51. int nested_include (void);
  52. void p0_init (PWCHAR, PWCHAR, LIST *, LIST *);
  53. void p0_terminate (void);
  54. /************************************************************************/
  55. /* P0KEYS.C */
  56. /************************************************************************/
  57. token_t is_pkeyword (WCHAR *);
  58. /************************************************************************/
  59. /* P0MACROS.C */
  60. /************************************************************************/
  61. int can_get_non_white (void);
  62. int can_expand (pdefn_t);
  63. void define (void);
  64. void definstall (WCHAR *, int, int);
  65. pdefn_t get_defined (void);
  66. int handle_eos (void);
  67. int tl_getid (WCHAR);
  68. void undefine (void);
  69. /************************************************************************/
  70. /* P0PREPRO.C */
  71. /************************************************************************/
  72. int do_defined (PWCHAR);
  73. int nextis (token_t);
  74. void preprocess (void);
  75. void skip_cnew (void);
  76. void skip_NLonly (void);
  77. /************************************************************************/
  78. /* P1SUP.C */
  79. /************************************************************************/
  80. ptree_t build_const (token_t, value_t *);
  81. /************************************************************************/
  82. /* RCPPUTIL.C */
  83. /************************************************************************/
  84. WCHAR * pstrdup (WCHAR *);
  85. WCHAR * pstrndup (WCHAR *, int);
  86. WCHAR * strappend (WCHAR *, WCHAR *);
  87. /************************************************************************/
  88. /* SCANNER.C */
  89. /************************************************************************/
  90. token_t char_const (void);
  91. int checknl (void);
  92. int checkop (int);
  93. void do_newline (void);
  94. void dump_comment (void);
  95. void DumpSlashComment (void);
  96. void getid (UINT);
  97. WCHAR get_non_eof (void);
  98. token_t getnum (WCHAR);
  99. token_t get_real (PWCHAR);
  100. hash_t local_c_hash (WCHAR *);
  101. void prep_string (WCHAR);
  102. WCHAR skip_cwhite (void);
  103. int skip_comment (void);
  104. void str_const (void);
  105. /************************************************************************/
  106. /* P0 I/O MACROS */
  107. /************************************************************************/
  108. //
  109. // These macros could be a problem when working with non-spacing marks.
  110. //
  111. #define GETCH() (*Current_char++)
  112. #define CHECKCH() (*Current_char)
  113. #define UNGETCH() (Current_char--)
  114. #define PREVCH() (*(Current_char - 1))
  115. #define SKIPCH() (Current_char++)
  116. /************************************************************************/
  117. /* RCPPX extensions needed for symbols */
  118. /************************************************************************/
  119. void AfxOutputMacroDefn(pdefn_t p);
  120. void AfxOutputMacroUse(pdefn_t p);
  121. void move_to_exp(ptext_t);
  122. /************************************************************************/
  123. /* RCFUTIL utility routine */
  124. /************************************************************************/
  125. void myfwrite(const void *pv, size_t s, size_t n, FILE *fp);