home *** CD-ROM | disk | FTP | other *** search
- /******************************************
- * TSDATA.C *
- * Copyright TimeSlice, Inc. 1985, 86, 87. *
- ******************************************/
- /**************************************************************************/
- /** **/
- /** WARNING WARNING WARNING **/
- /** **/
- /** Compile this module without the /Gt option, else CRASH !?@* **/
- /** **/
- /** 1990/3/6 John Bonné **/
- /**************************************************************************/
-
- #include <ts.h>
-
- PROCESS *curproc = 0; /*pointer to current process*/
- PROCESS *_mainproc = 0; /*pointer to TSMAIN */
- PROCESS *_idleproc = 0; /*pointer to TSIDLE, runs when all other taks are blocked */
-
- TIMER *_tpfrnt = 0; /*head of TIMER structs list*/
-
- char _tsfpc = 0, /*if set a math coprocessor is present*/
- _fpc_support = 1, /*if set, and floating point processor is present,...*/
- /*...save & restore FPC's context*/
- _volguc = 0; /*voluntary give up control flag*/
-
- unsigned char
- *_DosFlag = 0; /*Look if slicer interupted DOS */
-
- int _critret = 0, /*return address of last critical call*/
- _ts_trace = 0, /*Trace Slicer curprocess */
- _timcnt = 1, /*units of time left to process */
- _tckcnt = 1, /*timer tick counter*/
- _tckrst = 1, /*timer tick counter reset value*/
- _ts_base = 0, /*current base of stack*/
- _sslev = 0; /*current level of ssleep()/swake() nesting*/
- unsigned
- int _stkseg = 0, /*main stack segment*/
- _datseg = 0, /*static data segment*/
- _codseg = 0, /*first code segment*/
- _vidseg = 0, /*video segment*/
- _crlev = 0, /*current level of critstart/critend nesting*/
- _idle = 0, /*current level of critstart/critend nesting*/
- _i13Flag = 0; /*Look if slicer File IO */
-
- INTLST *ilhead = 0; /* points to head of intr list */
-
- void (*intexit)() = 0, /*if set, points to intrest()*/
- (*ovfsvc)() = 0 ; /*overflow service function (only if != NULL)*/
-
- CHAN *_chfrnt = 0; /* pointer to linked list of channels */
-
- #define MAXCRCLASS 16 /*maximum number of critical classes*/
- CRCLASS crit_tab[ MAXCRCLASS ],
- *crit_stop = crit_tab + MAXCRCLASS;
-
- #define ISTKSIZ (0x800) /*default interrupt stack_of_stacks size*/
-
- int _istk[ ISTKSIZ ] = { 0 }, /*stack of stacks used by interupt processing*/
- *_isbase = _istk, /*pointer to base of stack of stacks*/
- *_istop = _istk + ISTKSIZ; /*ptr to 1 word above available _istk*/
-
- /***
- * To force main() to be pulled in.
- ***/
- #undef main
- void main() ;
- static void (*mptr)() = main ;
-