📄 mjob.h
字号:
/* 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 */
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 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 RegisterSvc(char *pName, unsigned long Exch);
/****** End of Job.h *******/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -