// 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 **);