From: Richard Burgess <> Date: Mon, 2 Jan 1995 10:39:10 +0000 (+0000) Subject: autocommit for file dated 1995-01-02 10:39:10 X-Git-Url: https://pd.if.org/git/?p=mmurtl;a=commitdiff_plain;h=64e9150a39a2b1bec280439a6ea14fc646937791 autocommit for file dated 1995-01-02 10:39:10 --- diff --git a/ossource/mjob.h b/ossource/mjob.h new file mode 100644 index 0000000..9b48699 --- /dev/null +++ b/ossource/mjob.h @@ -0,0 +1,85 @@ +/* MJob.h MMURTL Job Management prototypes ****/ + +/* MMURTL Operating System Source Code + Copyright 1991,1992,1993, Richard A. Burgess + ALL RIGHTS RESERVED + Version x0.8 +*/ + + +#define ErcBadJobNum 70 /* Bad job number was specified in OS call */ +#define ErcInvalidJCB 71 /* Specified an unassigned JCB */ +#define ErcBadRunFile 74 /* Run file you specified is NOT a run file */ +#define ErcBadJobParam 76 /* Bad length in parameter to JCB call */ + +struct JCBRec { + long JobNum; + char sbJobName[14]; /* 13 bytes. First byte is length */ + char *pJcbPD; /* Linear add of Job's PD (0=unused) */ + + char *pJcbCode; /* User Address of code segment */ + unsigned long sJcbCode; /* Size of user code segment */ + char *pJcbData; /* User Adresss of data segment */ + unsigned long sJcbData; /* Size of user data segment */ + char *pJcbStack; /* User Addrees of first stack */ + unsigned long sJcbStack; /* Size of user first stack */ + + char sbUserName[30]; /* User Name for Job - LString */ + char sbPath[70]; /* path name (prefix) - LString */ + char JcbExitRF[80]; /* Exit Run file (if any) - LString */ + char JcbCmdLine[80]; /* Command Line string - LString */ + char JcbSysIn[50]; /* Standard input - LString */ + char JcbSysOut[50]; /* Standard output - LString */ + + long ExitError; /* Error Set by ExitJob */ + char *pVidMem; /* pointer to crnt video buffer */ + char *pVirtVid; /* Virtual Video Buffer Address */ + long CrntX; /* Current cursor position */ + long CrntY; + long nCols; /* Virtual Screen Size */ + long nLines; + long VidMode; /* 0 = 80x25 VGA color text */ + long NormVid; /* 7 = WhiteOnBlack */ + + char fCursOn; /* FLAG 1 = Cursor is visible */ + char fCursType; /* FLAG (0=UL, 1 = Block) */ + unsigned char ScrlCnt; /* Count since last pause */ + char fVidPause; /* Full screen pause (Text mode) */ + long NextJCB; /* OS Uses to allocate JCBs */ + char JcbRsvd1[512-22-24-360-36-8] /* Padded to 512 */ + }; + +extern far long GetpJCB(long dJobNum, char *pJCBRet); +extern far long GetJobNum(long *pJobNumRet); +extern far long LoadNewJob(char *pFileName, long cbFileName, long *pJobNumRet); +extern far long Chain(char *pFileName, long cbFileName, long dExitError); +extern far void ExitJob(long dError); +extern far void KillJob(long JubNum); + +extern far long SetUserName(char *pUser, long dcbUser); +extern far long GetUserName(char *pUserRet, long *pdcbUserRet); + +extern far long SetCmdLine(char *pCmd, long dcbCmd); +extern far long GetCmdLine(char *pCmdRet, long *pdcbCmdRet); + +extern far long SetPath(char *pPath, long dcbPath); +extern far long GetPath(long JobNum, char *pPathRet, long *pdcbPathRet); + +extern far long SetExitJob(char *pRunFile, long dcbRunFile); +extern far long GetExitJob(char *pRunRet, long *pdcbRunRet); + +extern far long SetSysIn(char *pFile, long dcbFile); +extern far long GetSysIn(char *pFileRet, long *pdcbFileRet); + +extern far long SetSysOut(char *pFile, long dcbFile); +extern far long GetSysOut(char *pFileRet, long *pdcbFileRet); + +extern far long SetJobName(char *pName, long dcbName); + +extern far long RegisterSvc(char *pName, unsigned long Exch); + +extern far long UnRegisterSvc(char *pName); + +extern far long GetSystemDisk(unsigned char *pDiskRet); + +/****** End of Job.h *******/