windows-nt/Source/XPSP1/NT/sdktools/rcdll/rcppdecl.h
2020-09-26 16:20:57 +08:00

144 lines
6.5 KiB
C

/************************************************************************/
/* */
/* RCPP - Resource Compiler Pre-Processor for NT system */
/* */
/* RCPPDECL.H - RCPP function prototype declarations */
/* */
/* 04-Dec-90 w-BrianM Created */
/* */
/************************************************************************/
/************************************************************************/
/* ERROR.C */
/************************************************************************/
void error (int);
void fatal (int);
void warning (int);
/************************************************************************/
/* GETMSG.C */
/************************************************************************/
PCHAR GET_MSG (int);
void __cdecl SET_MSG (PCHAR, UINT, PCHAR, ...);
/************************************************************************/
/* GETFLAGS.C */
/************************************************************************/
#if i386 == 1
int crack_cmd (struct cmdtab *, WCHAR *, WCHAR *(*)(void), int);
#else /* MIPS */
struct cmdtab;
int crack_cmd (struct cmdtab *, WCHAR *, WCHAR *(*)(void), int);
#endif /* i386 */
/************************************************************************/
/* LTOA.C */
/************************************************************************/
int zltoa (long, WCHAR *, int);
/************************************************************************/
/* P0EXPR.C */
/************************************************************************/
long do_constexpr (void);
/************************************************************************/
/* P0GETTOK.C */
/************************************************************************/
token_t yylex(void);
int lex_getid (WCHAR);
/************************************************************************/
/* P0IO.C */
/************************************************************************/
void emit_line (void);
WCHAR fpop (void);
int io_eob (void);
int io_restart (unsigned long int);
int newinput (WCHAR *, int);
int nested_include (void);
void p0_init (PWCHAR, PWCHAR, LIST *, LIST *);
void p0_terminate (void);
/************************************************************************/
/* P0KEYS.C */
/************************************************************************/
token_t is_pkeyword (WCHAR *);
/************************************************************************/
/* P0MACROS.C */
/************************************************************************/
int can_get_non_white (void);
int can_expand (pdefn_t);
void define (void);
void definstall (WCHAR *, int, int);
pdefn_t get_defined (void);
int handle_eos (void);
int tl_getid (WCHAR);
void undefine (void);
/************************************************************************/
/* P0PREPRO.C */
/************************************************************************/
int do_defined (PWCHAR);
int nextis (token_t);
void preprocess (void);
void skip_cnew (void);
void skip_NLonly (void);
/************************************************************************/
/* P1SUP.C */
/************************************************************************/
ptree_t build_const (token_t, value_t *);
/************************************************************************/
/* RCPPUTIL.C */
/************************************************************************/
WCHAR * pstrdup (WCHAR *);
WCHAR * pstrndup (WCHAR *, int);
WCHAR * strappend (WCHAR *, WCHAR *);
/************************************************************************/
/* SCANNER.C */
/************************************************************************/
token_t char_const (void);
int checknl (void);
int checkop (int);
void do_newline (void);
void dump_comment (void);
void DumpSlashComment (void);
void getid (UINT);
WCHAR get_non_eof (void);
token_t getnum (WCHAR);
token_t get_real (PWCHAR);
hash_t local_c_hash (WCHAR *);
void prep_string (WCHAR);
WCHAR skip_cwhite (void);
int skip_comment (void);
void str_const (void);
/************************************************************************/
/* P0 I/O MACROS */
/************************************************************************/
//
// These macros could be a problem when working with non-spacing marks.
//
#define GETCH() (*Current_char++)
#define CHECKCH() (*Current_char)
#define UNGETCH() (Current_char--)
#define PREVCH() (*(Current_char - 1))
#define SKIPCH() (Current_char++)
/************************************************************************/
/* RCPPX extensions needed for symbols */
/************************************************************************/
void AfxOutputMacroDefn(pdefn_t p);
void AfxOutputMacroUse(pdefn_t p);
void move_to_exp(ptext_t);
/************************************************************************/
/* RCFUTIL utility routine */
/************************************************************************/
void myfwrite(const void *pv, size_t s, size_t n, FILE *fp);