|
|
1.1 ! root 1: #define FBUFFSIZE (1024 * 8) ! 2: #define HEADERSIZE 8 ! 3: #define LINESIZE 80 ! 4: #define MAXLINES 4096 ! 5: #define MAXSEGS 100 ! 6: #define NOTSHARED 0 ! 7: #define SHORTPAGE 24 ! 8: #define LONGPAGE 42 ! 9: #define SEGSIZE (1024 * 4) ! 10: #define TRUE 1 ! 11: #define FALSE 0 ! 12: #define TABSIZE 8 ! 13: #define MAXTABS (LINESIZE / TABSIZE) ! 14: #define FOFLAG 0x0001 /* set openflag to open file or fail */ ! 15: #define CFFLAG 0x0010 /* set openflag to create file or fail */ ! 16: #define WCFLAG 0x0012 /* set openflag to replace or create file */ ! 17: ! 18: #define inline(U, U1) ( ((unsigned char)U < (unsigned char)LINESIZE) && \ ! 19: ((unsigned char)U >= (unsigned char)U1) ) ! 20: ! 21: ! 22: struct Line { ! 23: unsigned short linenum; /* line nuber (only valid during ! 24: compaction) */ ! 25: unsigned char deleted; /* flag to mark line as deleted */ ! 26: unsigned char linelength; /* characters in line */ ! 27: char firstchar[1]; /* first character in line */ ! 28: }; ! 29: ! 30: extern unsigned short TotalLines; /* num of entries in line table */ ! 31: extern struct Line far *LineTable[MAXLINES]; /* the line table */ ! 32: ! 33: struct SegEntry{ ! 34: unsigned short segment; /* seletor of segment */ ! 35: unsigned short free; /* num of free bytes in segment */ ! 36: unsigned short flags; /* various flags */ ! 37: }; ! 38: extern unsigned short TotalSegs; /* num of entries in seg table */ ! 39: extern struct SegEntry SegTable[MAXSEGS]; ! 40: ! 41: extern char fbuffer[FBUFFSIZE]; ! 42: extern unsigned short bufflength; ! 43: extern unsigned short bytesread; ! 44: ! 45: extern unsigned char ScrBuff[LONGPAGE][LINESIZE]; ! 46: extern unsigned char EditBuff[LINESIZE]; ! 47: extern unsigned short EditBuffDirty; ! 48: ! 49: extern unsigned short PageSize; ! 50: extern unsigned short Mode43Set; ! 51: ! 52: extern unsigned short CurRow, CurCol; ! 53: extern unsigned short TopRow; ! 54: ! 55: extern unsigned short LinesMarked, CharsMarked; ! 56: extern unsigned short MarkedLine[MAXLINES], MarkedChar[LINESIZE]; ! 57: ! 58: extern unsigned short ForeNorm, BackNorm, ForeHilite, BackHilite, Fore25, Back25; ! 59: ! 60: extern char *fname; ! 61: extern unsigned short fhandle; ! 62: ! 63: extern void dispatch(); ! 64: extern short readfile(unsigned short); ! 65: extern short openfile(char *, unsigned short *, unsigned short); ! 66: extern void closefile(unsigned short); ! 67: extern short addline(unsigned short, unsigned char, unsigned char *); ! 68: extern void freesegs(); ! 69: extern void clearscr(); ! 70: extern void drawscr(unsigned short); ! 71: extern short allocseg(); ! 72: extern void getline(unsigned short, unsigned char *); ! 73: extern void del();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.