Line 58... |
Line 58... |
58 |
|
58 |
|
59 |
struct rmod_props {
|
59 |
struct rmod_props {
|
60 |
unsigned short rmodseg; /* segment where rmod is loaded */
|
60 |
unsigned short rmodseg; /* segment where rmod is loaded */
|
61 |
unsigned long origint22; /* original int 22 handler (far ptr) of the shell */
|
61 |
unsigned long origint22; /* original int 22 handler (far ptr) of the shell */
|
62 |
unsigned short origparent; /* original parent (PSP's segment) */
|
62 |
unsigned short origparent; /* original parent (PSP's segment) */
|
63 |
unsigned short origenvseg; /* original environment segment */
|
- |
|
64 |
unsigned char flags; /* command line parameters */
|
63 |
unsigned char flags; /* command line parameters */
|
65 |
unsigned char version; /* used to detect mismatch between rmod and SvarCOM */
|
64 |
unsigned char version; /* used to detect mismatch between rmod and SvarCOM */
|
66 |
char awaitingcmd[130]; /* command to exec next time (if any) */
|
65 |
char awaitingcmd[130]; /* command to exec next time (if any) */
|
67 |
struct batctx far *bat; /* linked list of bat contexts, if BAT ongoing */
|
66 |
struct batctx far *bat; /* linked list of bat contexts, if BAT ongoing */
|
68 |
struct forctx far *forloop; /* a single FOR loop structure, if FOR ongoing */
|
67 |
struct forctx far *forloop; /* a single FOR loop structure, if FOR ongoing */
|
Line 85... |
Line 84... |
85 |
#define RMOD_OFFSET_CTRLCFLAG (0x100 + 0x274)
|
84 |
#define RMOD_OFFSET_CTRLCFLAG (0x100 + 0x274)
|
86 |
#define RMOD_OFFSET_BRKHANDLER (0x100 + 0x275)
|
85 |
#define RMOD_OFFSET_BRKHANDLER (0x100 + 0x275)
|
87 |
#define RMOD_OFFSET_ROUTINE (0x100 + 0x27F)
|
86 |
#define RMOD_OFFSET_ROUTINE (0x100 + 0x27F)
|
88 |
#define RMOD_OFFSET_CRITHANDLER (0x100 + 0x46C)
|
87 |
#define RMOD_OFFSET_CRITHANDLER (0x100 + 0x46C)
|
89 |
|
88 |
|
90 |
struct rmod_props far *rmod_install(unsigned short envsize, unsigned char *rmodcore, unsigned short rmodcore_len);
|
89 |
struct rmod_props far *rmod_install(unsigned short envsize, unsigned char *rmodcore, unsigned short rmodcore_len, unsigned char *cfgflags);
|
91 |
struct rmod_props far *rmod_find(unsigned short rmodcore_len);
|
90 |
struct rmod_props far *rmod_find(unsigned short rmodcore_len);
|
92 |
void rmod_updatecomspecptr(unsigned short rmod_seg, unsigned short env_seg);
|
91 |
void rmod_updatecomspecptr(unsigned short rmod_seg, unsigned short env_seg);
|
93 |
|
92 |
|
94 |
/* allocates bytes of far memory, flags it as belonging to rmod
|
93 |
/* allocates bytes of far memory, flags it as belonging to rmod
|
95 |
* the new block can be optionally flagged as 'ident' (if not null) and zero
|
94 |
* the new block can be optionally flagged as 'ident' (if not null) and zero
|