Subversion Repositories SvarDOS

Rev

Rev 963 | Rev 987 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 963 Rev 983
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