]> pd.if.org Git - mmurtl/blob - ossource/job.inc
autocommit for file dated 2003-12-29 17:36:54
[mmurtl] / ossource / job.inc
1 ;   MMURTL Operating System Source Code\r
2 ;   Copyright 1991,1992,1993,1994 Richard A. Burgess\r
3 ;   ALL RIGHTS RESERVED    Version 1.0\r
4 \r
5 ;DO NOT INCLUDE DATA OR CODE IN THIS MODULE. ONLY EQUATES/MACROS\r
6 \r
7 ; Job Control Block (all tasks are associated with a JOB)\r
8 ; The JOB NUMBER is how the job is identifed by many OS functions.\r
9 ; Each JCB is assigned a number when the it is initialized.\r
10 ; Job 1 is always reserved for the OS Monitor and 2 for the debugger.\r
11 ;  (even though the debugger isn't really a job...)\r
12 ;\r
13 ; The JCB keeps job related information such as the current path\r
14 ; of the job, Linear address of it's PD, virtual video info, Cmd line\r
15 ; when executed, Job path, etc...\r
16 ;\r
17 nJCBs           EQU 32                  ;max Job Contol Blocks (excluding 2 static JCBs)\r
18 sJCB            EQU 512         ;\r
19 ;\r
20 ;                       Offsets into the structure\r
21 JobNum          EQU 0                   ;DD 0                           ;\r
22 sbJobName       EQU 4                   ;DB 14 DUP (0h)         ; 13 bytes w/1 length\r
23 JcbPD           EQU 18                  ;DD 0                           ; Linear add of Job's PD\r
24 pJcbCode        EQU 22                  ;DD 0                           ;User Address of code segment\r
25 sJcbCode        EQU 26                  ;DD 0                           ;Size of user code segment\r
26 pJcbData        EQU 30                  ;DD 0                           ;User Adresss of data segment\r
27 sJcbData        EQU 34                  ;DD 0                           ;Size of user data segment\r
28 pJcbStack       EQU 38                  ;DD 0                           ;User Addrees of first stack\r
29 sJcbStack       EQU 42                  ;DD 0                           ;Size of user first stack\r
30 JcbUserName EQU 46                      ;DB 30 DUP (0h)         ; User Name for Job - LString\r
31 JcbPath         EQU 76                  ;DB 70 DUP (0h)         ; path name (prefix) - LString\r
32 JcbExitRF       EQU 146                 ;DB 80 DUP (0h)         ; Exit Run file (if any) - LString\r
33 JcbCmdLine      EQU 226                 ;DB 80 DUP (0h)         ; Command Line string - LString\r
34 JcbSysIn        EQU 306                 ;DB 50 DUP (0h)         ; Standard input (KBD)\r
35 JcbSysOut       EQU 356                 ;DB 50 DUP (0h)         ; Standard output (VID)\r
36 ExitError   EQU 406                     ;DD 0           ;Error passed by ExitJob\r
37 pVidMem     EQU 410                     ;DD 0           ;pointer to crnt video (real or virtual)\r
38 pVirtVid        EQU 414                 ;DD 0           ;Virtual Video Buffer Address\r
39 CrntX       EQU 418                     ;DD 0           ;Current cursor position\r
40 CrntY       EQU 422                     ;DD 0\r
41 nCols       EQU 426                     ;DD 80      ;Screen size\r
42 nLines      EQU 430                     ;DD 25\r
43 VidMode     EQU 434                     ;DD 0       ;0 = 80x25 VGA color text\r
44 NormAttr    EQU 438             ;DD 07      ;Normal Video Attr\r
45 fCursOn     EQU 442                     ;DB 0       ;Is cursor visible on this screen\r
46 fCursType   EQU 443                     ;DB 0       ;Cursor type (0=UL, 1 = Block)\r
47 ScrlCnt     EQU 444                     ;DB 0       ;Count since last pause (or Kbd)\r
48 fVidPause   EQU 445                     ;DB 0       ;Full screen pause (Text mode)\r
49 NextJCB         EQU 446                 ;DD 0           ;\r
50 \r
51 ;============ ENd of Module ======================\r