Subversion Repositories SvarDOS

Rev

Rev 1863 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1863 Rev 1877
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