2020-09-30 17:12:29 +02:00

146 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:
* 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 NEAR displayBanner(void);
void CDECL NEAR makeError(unsigned, unsigned, ...);
void CDECL NEAR makeMessage(unsigned, ...);
UCHAR NEAR getToken(unsigned, UCHAR);
int NEAR skipWhiteSpace(UCHAR);
int NEAR skipBackSlash(int, UCHAR);
void NEAR parse(void);
void NEAR appendItem(STRINGLIST **, STRINGLIST *);
void NEAR prependItem(STRINGLIST **, STRINGLIST *);
STRINGLIST * NEAR removeFirstString(STRINGLIST **);
void * NEAR allocate(unsigned);
void * NEAR alloc_stringlist(void);
void * NEAR rallocate(unsigned);
char * NEAR makeString(char *);
BOOL NEAR tagOpen(char *, char *, char *);
void NEAR parseCommandLine(unsigned, char **);
void NEAR getRestOfLine(char **, unsigned *);
BOOL NEAR defineMacro(char *, char *, UCHAR);
STRINGLIST * NEAR find(char *, unsigned, STRINGLIST **, BOOL);
MACRODEF * NEAR findMacro(char *);
void NEAR insertMacro(STRINGLIST *);
unsigned NEAR hash(char *, unsigned, BOOL);
void NEAR prependList(STRINGLIST **, STRINGLIST **);
BOOL NEAR findMacroValues(char *, STRINGLIST **, STRINGLIST **, char *, unsigned, unsigned, UCHAR);
char * NEAR removeMacros(char *);
void NEAR delScriptFiles(void);
char * NEAR expandMacros(char *, STRINGLIST **);
STRINGLIST * NEAR expandWildCards(char *);
void NEAR readCommandFile(char *);
void NEAR setFlags(char, BOOL);
void NEAR showTargets(void);
void NEAR showRules(void);
void NEAR showMacros(void);
char * NEAR findFirst(char*, void **, NMHANDLE*);
char * NEAR findNext(void **, NMHANDLE);
BOOL NEAR inSuffixList(char *);
int NEAR processTree(void);
void NEAR expandFileNames(char *, STRINGLIST **, STRINGLIST **);
void NEAR sortRules(void);
BOOL NEAR isRule(char *);
char * NEAR prependPath(const char *, const char *);
char * NEAR searchPath(char *, char *, void *, NMHANDLE*);
BOOL NEAR putMacro(char *, char *, UCHAR);
int NEAR execLine(char *, BOOL, BOOL, BOOL, char **);
RULELIST * NEAR findRule(char *, char *, char *, void *);
int NEAR lgetc(void);
UCHAR NEAR processIncludeFile(char *);
BOOL NEAR evalExpr(char *, UCHAR);
int NEAR doMake(unsigned, char **, char *);
void NEAR freeList(STRINGLIST *);
void NEAR freeStringList(STRINGLIST *);
int NEAR setdrive(int);
#ifdef _MBCS
int NEAR GetTxtChr(FILE*);
int NEAR UngetTxtChr (int, FILE *);
#endif
int NEAR putEnvStr(char *, char *);
int NEAR PutEnv(const char *option);
void NEAR expandExtmake(char *, char *, char*);
void NEAR printReverseFile(void);
void NEAR freeRules(RULELIST *, BOOL);
char * NEAR getFileName(void **);
ULONG NEAR getDateTime(void **);
void NEAR putDateTime(void **, ULONG);
char * NEAR getCurDir(void);
#ifdef DEBUG_HEAP
void NEAR heapdump(char *, int);
#endif
void NEAR free_memory(void *);
void NEAR free_stringlist(void *);
void * NEAR realloc_memory(void *, unsigned);
#ifdef DEBUG_MEMORY
void NEAR mem_status(void);
#endif
FILE * NEAR open_file(char *, char *);
void NEAR initMacroTable(MACRODEF *table[]);
void NEAR TruncateString(char *, unsigned);
//from util.c
char * NEAR unQuote(char*);
int NEAR strcmpiquote(char *, char*);
char ** NEAR copyEnviron(char **environ);
void NEAR printStats(void);
void NEAR curTime(ULONG *);
// from charmap.c
void NEAR initCharmap(void);
// from print.c
void NEAR printDate(unsigned, char*, long);
// from build.c
int NEAR invokeBuild(char*, UCHAR, unsigned long*, char *);
// from exec.c
extern int NEAR doCommands(char*, STRINGLIST*, STRINGLIST*, UCHAR, char *);
// from rule.c
extern RULELIST * NEAR useRule(MAKEOBJECT*, char*, unsigned long,
STRINGLIST**, STRINGLIST**, int*, unsigned long*,
char **);