mirror of https://github.com/lianthony/NT4.0
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.
98 lines
3.3 KiB
98 lines
3.3 KiB
/* Setup Instatllation Program
|
|
* (C) Copyright 1987 by Microsoft
|
|
* Written By Steven Zeck
|
|
*
|
|
* All the extern variables and global functions are defined in this
|
|
* include file. Anything that is used global is defined here.
|
|
*************************************************************************/
|
|
|
|
/* * * G l o b a l D a t a I t e m s * * */
|
|
|
|
ST *pSTCur; /* pointer to the current instant */
|
|
SY *pSYCur; /* pointer to the current symbol */
|
|
ST rootST; /* root instant table */
|
|
KY *pKYCur; /* pointer to current keyword */
|
|
KY theKY[]; /* keyword table */
|
|
|
|
int tokenCur; /* token type */
|
|
pSZ tokenVal; /* pointer to the string value */
|
|
int cbToken; /* length of current token */
|
|
int tokenPeek; /* peek tokens */
|
|
pSZ tokenValPeek;
|
|
UCHAR charType[]; /* character type map */
|
|
|
|
pSZ pLineCur; /* pointer in current buffer */
|
|
char lineBuff[LINE_MAX];/* near line buffer */
|
|
char far *pCopyBuff; /* pointer to copy buffer */
|
|
char far *pCopyBuff2; /* pointer a second copy buffer */
|
|
|
|
UCHAR defCrtAttr; /* default screen attributes */
|
|
UINT curCrtLine; /* current line number on screen */
|
|
UINT cCrtLineMax; /* number of lines on crt */
|
|
|
|
char volId[17]; /* volumn ID of drive A */
|
|
|
|
int *pDebug; /* debug level */
|
|
int *pStatus; /* status level of last command */
|
|
SY *pVolId; /* volumn id dictionary entry */
|
|
SY *pCopyDrive; /* drive to copy from */
|
|
SY *pArgCount; /* numbers of args */
|
|
|
|
/* * * F u n c t i o n P r o t y p e s * * */
|
|
|
|
int getoken (void);
|
|
Bool getline (void);
|
|
int pascal valFet (pSZ pName);
|
|
int nextTokenVal (void);
|
|
pSZ nextTokenStr (void);
|
|
SY * pascal lookup (pSZ pName);
|
|
SY * pascal newSY (pSZ pName);
|
|
Bool pascal tokenIs (pSZ pString);
|
|
|
|
char * pascal memory (UINT cb);
|
|
char far * pascal fmemory (UINT cb);
|
|
pSZ pascal newStr (pSZ pString);
|
|
int loadFile (ST *pST);
|
|
void pascal getText (pSZ pOutBuff);
|
|
Bool evalCondition (void);
|
|
Bool pascal dispatcher (pSZ aLine);
|
|
SY * pascal assignNextToken (SY *pSY);
|
|
void runFile (Bool fFalseCon);
|
|
void pascal centerOut (int atLine, pSZ text);
|
|
void pascal lineOut (pSZ pLine);
|
|
void pascal getInput(int row, int column, SY *pSY);
|
|
Bool pascal changeDisk(pSZ pName);
|
|
|
|
void terminate();
|
|
void resetCrt(void);
|
|
void getCrt(void);
|
|
void outStat();
|
|
|
|
/* system inteface functions */
|
|
|
|
UINT pascal readFar (int fh, char far *pFarBuff, UINT cb);
|
|
UINT pascal writeFar (int fh, char far *pFarBuff, UINT cb);
|
|
int pascal openFile(pSZ pName, int mode);
|
|
pSZ sprintf();
|
|
|
|
|
|
UINT pascal fileAttrFet (pSZ pFileName);
|
|
void pascal setCreateDate(int fhFrom, int fhTo);
|
|
Bool pascal getFristFile (pSZ pPath, FILEFILE *ff);
|
|
Bool pascal getNextFile (pSZ pNameOut, FILEFILE *ff);
|
|
UINT pascal freeSpaceFet (UCHAR drive);
|
|
|
|
Bool pascal cdDrive (UCHAR drive);
|
|
void pascal fillCrt (int tRow, int tCol, int bRow, int bCol,
|
|
UCHAR attr, char fill);
|
|
void pascal attrOut (int row, int column, int cb, char attr);
|
|
void pascal textOut (int row, int column, pSZ pText);
|
|
void pascal charOut (int row, int column, char ch);
|
|
void pascal moveTo (int row, int column);
|
|
void pascal volIDFet (void);
|
|
|
|
/* command excutors */
|
|
|
|
void doSet(void), doEcho(void), doIf(void), doExit(void), doGoto(void);
|
|
void doCopy(void), doCopyTo(void), doCd(void), doMd(void), doExec(void);
|
|
void doCls(void), doDialog(void), doCall(void), doAppendFile(void);
|