1 /* MJob.h MMURTL Job Management prototypes ****/
\r
3 /* MMURTL Operating System Source Code
\r
4 Copyright 1991,1992,1993, Richard A. Burgess
\r
10 #define ErcBadJobNum 70 /* Bad job number was specified in OS call */
\r
11 #define ErcInvalidJCB 71 /* Specified an unassigned JCB */
\r
12 #define ErcBadRunFile 74 /* Run file you specified is NOT a run file */
\r
13 #define ErcBadJobParam 76 /* Bad length in parameter to JCB call */
\r
17 char sbJobName[14]; /* 13 bytes. First byte is length */
\r
18 char *pJcbPD; /* Linear add of Job's PD (0=unused) */
\r
20 char *pJcbCode; /* User Address of code segment */
\r
21 unsigned long sJcbCode; /* Size of user code segment */
\r
22 char *pJcbData; /* User Adresss of data segment */
\r
23 unsigned long sJcbData; /* Size of user data segment */
\r
24 char *pJcbStack; /* User Addrees of first stack */
\r
25 unsigned long sJcbStack; /* Size of user first stack */
\r
27 char sbUserName[30]; /* User Name for Job - LString */
\r
28 char sbPath[70]; /* path name (prefix) - LString */
\r
29 char JcbExitRF[80]; /* Exit Run file (if any) - LString */
\r
30 char JcbCmdLine[80]; /* Command Line string - LString */
\r
31 char JcbSysIn[50]; /* Standard input - LString */
\r
32 char JcbSysOut[50]; /* Standard output - LString */
\r
34 long ExitError; /* Error Set by ExitJob */
\r
35 char *pVidMem; /* pointer to crnt video buffer */
\r
36 char *pVirtVid; /* Virtual Video Buffer Address */
\r
37 long CrntX; /* Current cursor position */
\r
39 long nCols; /* Virtual Screen Size */
\r
41 long VidMode; /* 0 = 80x25 VGA color text */
\r
42 long NormVid; /* 7 = WhiteOnBlack */
\r
44 char fCursOn; /* FLAG 1 = Cursor is visible */
\r
45 char fCursType; /* FLAG (0=UL, 1 = Block) */
\r
46 unsigned char ScrlCnt; /* Count since last pause */
\r
47 char fVidPause; /* Full screen pause (Text mode) */
\r
48 long NextJCB; /* OS Uses to allocate JCBs */
\r
49 char JcbRsvd1[512-22-24-360-36-8] /* Padded to 512 */
\r
52 extern far long GetpJCB(long dJobNum, char *pJCBRet);
\r
53 extern far long GetJobNum(long *pJobNumRet);
\r
54 extern far long LoadNewJob(char *pFileName, long cbFileName, long *pJobNumRet);
\r
55 extern far long Chain(char *pFileName, long cbFileName, long dExitError);
\r
56 extern far void ExitJob(long dError);
\r
57 extern far void KillJob(long JubNum);
\r
59 extern far long SetUserName(char *pUser, long dcbUser);
\r
60 extern far long GetUserName(char *pUserRet, long *pdcbUserRet);
\r
62 extern far long SetCmdLine(char *pCmd, long dcbCmd);
\r
63 extern far long GetCmdLine(char *pCmdRet, long *pdcbCmdRet);
\r
65 extern far long SetPath(char *pPath, long dcbPath);
\r
66 extern far long GetPath(long JobNum, char *pPathRet, long *pdcbPathRet);
\r
68 extern far long SetExitJob(char *pRunFile, long dcbRunFile);
\r
69 extern far long GetExitJob(char *pRunRet, long *pdcbRunRet);
\r
71 extern far long SetSysIn(char *pFile, long dcbFile);
\r
72 extern far long GetSysIn(char *pFileRet, long *pdcbFileRet);
\r
74 extern far long SetSysOut(char *pFile, long dcbFile);
\r
75 extern far long GetSysOut(char *pFileRet, long *pdcbFileRet);
\r
77 extern far long SetJobName(char *pName, long dcbName);
\r
79 extern far long RegisterSvc(char *pName, unsigned long Exch);
\r
81 extern far long UnRegisterSvc(char *pName);
\r
83 extern far long GetSystemDisk(unsigned char *pDiskRet);
\r
85 /****** End of Job.h *******/
\r