Line 39... |
Line 39... |
39 |
unsigned long nextline; /* offset in file of next bat line to process */
|
39 |
unsigned long nextline; /* offset in file of next bat line to process */
|
40 |
struct batctx far *parent; /* parent context if this batch was CALLed */
|
40 |
struct batctx far *parent; /* parent context if this batch was CALLed */
|
41 |
};
|
41 |
};
|
42 |
|
42 |
|
43 |
struct rmod_props {
|
43 |
struct rmod_props {
|
44 |
char inputbuf[130]; /* input buffer for INT 21, AH=0x0A */
|
- |
|
45 |
unsigned short rmodseg; /* segment where rmod is loaded */
|
44 |
unsigned short rmodseg; /* segment where rmod is loaded */
|
46 |
unsigned long origparent; /* original parent (far ptr) of the shell */
|
45 |
unsigned long origparent; /* original parent (far ptr) of the shell */
|
47 |
unsigned short origenvseg; /* original environment segment */
|
46 |
unsigned short origenvseg; /* original environment segment */
|
48 |
unsigned char flags; /* command line parameters */
|
47 |
unsigned char flags; /* command line parameters */
|
49 |
unsigned char version; /* used to detect mismatch between rmod and SvarCOM */
|
48 |
unsigned char version; /* used to detect mismatch between rmod and SvarCOM */
|
50 |
char awaitingcmd[130]; /* command to exec next time (if any) */
|
49 |
char awaitingcmd[130]; /* command to exec next time (if any) */
|
51 |
struct batctx far *bat;
|
50 |
struct batctx far *bat;
|
52 |
};
|
51 |
};
|
53 |
|
52 |
|
54 |
#define RMOD_OFFSET_ENVSEG 0x2C /* stored in rmod's PSP */
|
53 |
#define RMOD_OFFSET_ENVSEG 0x2C /* stored in rmod's PSP */
|
- |
|
54 |
#define RMOD_OFFSET_INPUTBUF (0x100 + 0x08)
|
- |
|
55 |
#define RMOD_OFFSET_STACKSIG (0x100 + 0x8A) /* 0xCAFE */
|
55 |
#define RMOD_OFFSET_COMSPECPTR (0x100 + 0x4A)
|
56 |
#define RMOD_OFFSET_COMSPECPTR (0x100 + 0xCE)
|
56 |
#define RMOD_OFFSET_BOOTDRIVE (0x100 + 0x4C)
|
57 |
#define RMOD_OFFSET_BOOTDRIVE (0x100 + 0xD0)
|
57 |
#define RMOD_OFFSET_LEXITCODE (0x100 + 0x5B)
|
58 |
#define RMOD_OFFSET_LEXITCODE (0x100 + 0xDF)
|
58 |
#define RMOD_OFFSET_EXECPARAM (0x100 + 0x5C)
|
59 |
#define RMOD_OFFSET_EXECPARAM (0x100 + 0xE0)
|
59 |
#define RMOD_OFFSET_EXECPROG (0x100 + 0x6A)
|
60 |
#define RMOD_OFFSET_EXECPROG (0x100 + 0xEE)
|
60 |
#define RMOD_OFFSET_STDINFILE (0x100 + 0xEA)
|
61 |
#define RMOD_OFFSET_STDINFILE (0x100 + 0x16A)
|
61 |
#define RMOD_OFFSET_STDOUTFILE (0x100 + 0x16A)
|
62 |
#define RMOD_OFFSET_STDOUTFILE (0x100 + 0x1EE)
|
62 |
#define RMOD_OFFSET_STDOUTAPP (0x100 + 0x1EA)
|
63 |
#define RMOD_OFFSET_STDOUTAPP (0x100 + 0x26E)
|
63 |
#define RMOD_OFFSET_STDIN_DEL (0x100 + 0x1EC)
|
64 |
#define RMOD_OFFSET_STDIN_DEL (0x100 + 0x270)
|
64 |
#define RMOD_OFFSET_BRKHANDLER (0x100 + 0x1ED)
|
65 |
#define RMOD_OFFSET_BRKHANDLER (0x100 + 0x271)
|
65 |
#define RMOD_OFFSET_ROUTINE (0x100 + 0x1EF)
|
66 |
#define RMOD_OFFSET_ROUTINE (0x100 + 0x273)
|
66 |
|
67 |
|
67 |
struct rmod_props far *rmod_install(unsigned short envsize, unsigned char *rmodcore, unsigned short rmodcore_len);
|
68 |
struct rmod_props far *rmod_install(unsigned short envsize, unsigned char *rmodcore, unsigned short rmodcore_len);
|
68 |
struct rmod_props far *rmod_find(unsigned short rmodcore_len);
|
69 |
struct rmod_props far *rmod_find(unsigned short rmodcore_len);
|
69 |
void rmod_updatecomspecptr(unsigned short rmod_seg, unsigned short env_seg);
|
70 |
void rmod_updatecomspecptr(unsigned short rmod_seg, unsigned short env_seg);
|
70 |
|
71 |
|