mirror of https://github.com/tongzx/nt5src
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
143 lines
6.5 KiB
/************************************************************************/
|
|
/* */
|
|
/* 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);
|