144 lines
5.7 KiB
C
144 lines
5.7 KiB
C
|
// PROTO.H -- function prototypes
|
||
|
//
|
||
|
// Copyright (c) 1988-1990, Microsoft Corporation. All rights reserved.
|
||
|
//
|
||
|
// Purpose:
|
||
|
// This include file contains global function prototypes for all modules.
|
||
|
//
|
||
|
// Revision History:
|
||
|
// 04-Feb-2000 BTF Ported to Win64
|
||
|
// 15-Nov-1993 JdR Major speed improvements
|
||
|
// 01-Jun-1993 HV Change #ifdef KANJI to _MBCS
|
||
|
// 02-Feb-1990 SB Add open_file() prototype
|
||
|
// 31-Jan-1990 SB Debug version changes
|
||
|
// 08-Dec-1989 SB Changed proto of SPRINTF()
|
||
|
// 04-Dec-1989 SB Changed proto of expandFileNames() to void from void *
|
||
|
// 01-Dec-1989 SB realloc_memory() added #ifdef DEBUG_MEMORY
|
||
|
// 22-Nov-1989 SB free_memory() and mem_status() added #ifdef DEBUG_MEMORY
|
||
|
// 19-Oct-1989 SB added param (searchHandle) to protos of file functions
|
||
|
// 02-Oct-1989 SB setdrive() proto change
|
||
|
// 18-Aug-1989 SB heapdump() gets two parameters
|
||
|
// 05-Jun-1989 SB heapdump() prototype was added
|
||
|
// 22-May-1989 SB added parameter to freeRules()
|
||
|
// 19-Apr-1989 SB getFileName(), getDateTime(), putDateTime() added
|
||
|
// changed FILEINFO to void * in
|
||
|
// findFirst(), findNext(), searchPath(), findRule()
|
||
|
// 05-Apr-1989 SB made all funcs NEAR; Reqd to make all function calls NEAR
|
||
|
// 22-Mar-1989 SB rm unlinkTmpFiles(); add delScriptFiles()
|
||
|
// 09-Mar-1989 SB Changed param from FILEINFO* to FILEINFO** for findRule
|
||
|
// 03-Feb-1989 SB Changed () to (void) for prototypes
|
||
|
// 02-Feb-1989 SB Moved freeUnusedRules() prototype from nmake.c to here and
|
||
|
// renamed as freeRules()
|
||
|
// 05-Dec-1988 SB Added CDECL for functions with var params, ecs_strchr() and
|
||
|
// ecs_strrchr(); deleted proto for exit() - not reqd
|
||
|
// 23-Oct-1988 SB Added putEnvStr()
|
||
|
// 07-Jul-1988 rj Added targetFlag parameter to find and hash
|
||
|
// 06-Jul-1988 rj Added ecs_system declaration
|
||
|
// 28-Jun-1988 rj Added doCmd parameter to execLine
|
||
|
// 23-Jun-1988 rj Added echoCmd parameter to execLine
|
||
|
|
||
|
void displayBanner(void);
|
||
|
void __cdecl makeError(unsigned, unsigned, ...);
|
||
|
void __cdecl makeMessage(unsigned, ...);
|
||
|
UCHAR getToken(unsigned, UCHAR);
|
||
|
int skipWhiteSpace(UCHAR);
|
||
|
int skipBackSlash(int, UCHAR);
|
||
|
void parse(void);
|
||
|
void appendItem(STRINGLIST **, STRINGLIST *);
|
||
|
void prependItem(STRINGLIST **, STRINGLIST *);
|
||
|
STRINGLIST * removeFirstString(STRINGLIST **);
|
||
|
void * allocate(size_t);
|
||
|
void * alloc_stringlist(void);
|
||
|
void * rallocate(size_t);
|
||
|
char * makeString(const char *);
|
||
|
char * makeQuotedString(const char *);
|
||
|
char * reallocString(char * pszTarget, const char *szAppend);
|
||
|
BOOL tagOpen(char *, char *, char *);
|
||
|
void parseCommandLine(unsigned, char **);
|
||
|
void getRestOfLine(char **, size_t *);
|
||
|
BOOL defineMacro(char *, char *, UCHAR);
|
||
|
STRINGLIST * find(char *, unsigned, STRINGLIST **, BOOL);
|
||
|
MACRODEF * findMacro(char *);
|
||
|
void insertMacro(STRINGLIST *);
|
||
|
unsigned hash(char *, unsigned, BOOL);
|
||
|
void prependList(STRINGLIST **, STRINGLIST **);
|
||
|
BOOL findMacroValues(char *, STRINGLIST **, STRINGLIST **, char *, unsigned, unsigned, UCHAR);
|
||
|
BOOL findMacroValuesInRule(RULELIST *, char *, STRINGLIST **);
|
||
|
char * removeMacros(char *);
|
||
|
void delScriptFiles(void);
|
||
|
char * expandMacros(char *, STRINGLIST **);
|
||
|
STRINGLIST * expandWildCards(char *);
|
||
|
void readCommandFile(char *);
|
||
|
void setFlags(char, BOOL);
|
||
|
void showTargets(void);
|
||
|
void showRules(void);
|
||
|
void showMacros(void);
|
||
|
char * findFirst(char*, void *, NMHANDLE*);
|
||
|
char * findNext(void *, NMHANDLE);
|
||
|
|
||
|
int processTree(void);
|
||
|
void expandFileNames(char *, STRINGLIST **, STRINGLIST **);
|
||
|
void sortRules(void);
|
||
|
BOOL isRule(char *);
|
||
|
char * prependPath(const char *, const char *);
|
||
|
char * searchPath(char *, char *, void *, NMHANDLE*);
|
||
|
BOOL putMacro(char *, char *, UCHAR);
|
||
|
int execLine(char *, BOOL, BOOL, BOOL, char **);
|
||
|
RULELIST * findRule(char *, char *, char *, void *);
|
||
|
int lgetc(void);
|
||
|
UCHAR processIncludeFile(char *);
|
||
|
BOOL evalExpr(char *, UCHAR);
|
||
|
int doMake(unsigned, char **, char *);
|
||
|
void freeList(STRINGLIST *);
|
||
|
void freeStringList(STRINGLIST *);
|
||
|
#ifdef _MBCS
|
||
|
int GetTxtChr(FILE*);
|
||
|
int UngetTxtChr (int, FILE *);
|
||
|
#endif
|
||
|
int putEnvStr(char *, char *);
|
||
|
#define PutEnv(x) _putenv(x)
|
||
|
void expandExtmake(char *, char *, char*);
|
||
|
BOOL ZFormat(char *, unsigned, char *, char *);
|
||
|
void printReverseFile(void);
|
||
|
void freeRules(RULELIST *, BOOL);
|
||
|
char * getFileName(void *);
|
||
|
time_t getDateTime(const _finddata_t *);
|
||
|
void putDateTime(_finddata_t *, time_t);
|
||
|
char * getCurDir(void);
|
||
|
|
||
|
void free_memory(void *);
|
||
|
void free_stringlist(STRINGLIST *);
|
||
|
void * realloc_memory(void *, unsigned);
|
||
|
|
||
|
FILE * open_file(char *, char *);
|
||
|
void initMacroTable(MACRODEF *table[]);
|
||
|
void TruncateString(char *, unsigned);
|
||
|
BOOL IsValidMakefile(FILE *fp);
|
||
|
FILE * OpenValidateMakefile(char *name,char *mode);
|
||
|
|
||
|
// from util.c
|
||
|
char * unQuote(char*);
|
||
|
int strcmpiquote(char *, char*);
|
||
|
char ** copyEnviron(char **environ);
|
||
|
void printStats(void);
|
||
|
void curTime(time_t *);
|
||
|
|
||
|
// from charmap.c
|
||
|
void initCharmap(void);
|
||
|
|
||
|
// from print.c
|
||
|
void printDate(unsigned, char*, time_t);
|
||
|
|
||
|
// from build.c
|
||
|
int invokeBuild(char*, UCHAR, time_t *, char *);
|
||
|
void DumpList(STRINGLIST *pList);
|
||
|
|
||
|
// from exec.c
|
||
|
extern int doCommands(char*, STRINGLIST*, STRINGLIST*, UCHAR, char *);
|
||
|
extern int doCommandsEx(STRINGLIST*, STRINGLIST*, STRINGLIST*, UCHAR, char *);
|
||
|
|
||
|
// from rule.c
|
||
|
extern RULELIST * useRule(MAKEOBJECT*, char*, time_t,
|
||
|
STRINGLIST**, STRINGLIST**, int*, time_t *,
|
||
|
char **);
|