|
|
1.1 root 1: /********************************************************************/
2: /* SPAWNO v4.0 EMS/XMS/disk swapping replacement for spawn...() */
3: /* (c) Copyright 1990, 1991 Ralf Brown All Rights Reserved */
4: /* */
5: /* May be freely copied provided that this copyright notice is */
6: /* not altered or removed. */
7: /********************************************************************/
8:
9: #ifndef __SPAWNO_H
10: #define __SPAWNO_H
11:
12: #include <stdarg.h>
13:
14: #ifdef M_I86 /* MSC 5.x */
15: # ifndef _Cdecl
16: # define _Cdecl cdecl
17: # endif
18: #endif /* M_I86 */
19:
20: #ifdef __cplusplus
21: extern "C" {
22: #endif /* __cplusplus */
23: void _Cdecl init_SPAWNO(const char *overlay_path, int swap_types) ;
24: int _Cdecl spawnvo(const char *overlay_path, const char *name, const char **args) ;
25: int _Cdecl spawnvpo(const char *overlay_path, const char *name, const char **args) ;
26: int _Cdecl spawnveo(const char *overlay_path, const char *name, const char **args,const char **env) ;
27: int _Cdecl spawnvpeo(const char *overlay_path, const char *name, const char **args,const char **env) ;
28: int _Cdecl spawnlo(const char *overlay_path, const char *name, ...) ;
29: int _Cdecl spawnlpo(const char *overlay_path, const char *name, ...) ;
30: int _Cdecl spawnleo(const char *overlay_path, const char *name, ...) ;
31: int _Cdecl spawnlpeo(const char *overlay_path, const char *name, ...) ;
32: int _Cdecl systemo(const char *overlay_path, const char *command) ;
33:
34: /* This function is normally called only by the spawn..() and spawn..o() */
35: /* functions */
36: int pascal __spawnv(const char *overlay_path,const char *name,const char **args,unsigned int env) ;
37:
38: #ifdef __cplusplus
39: }
40: #endif /* __cplusplus */
41:
42: /* This variable is used by the functions which override the standard */
43: /* spawn..() functions; you should set it at the beginning of main(). */
44: /* It points at a string containing a list of directories to be used when */
45: /* swapping to disk, separated by semicolons. If you use multiple */
46: /* directories, they should be on different drives since for directories */
47: /* other than the root, inability to swap to one directory implies */
48: /* inability to swap to all others on the same drive. */
49: extern const char *pascal ___spawn_swap_dirs ;
50:
51: /* The following variable determines whether SPAWNO is allowed to use XMS */
52: /* memory if available. Set to 0 to disable XMS, 1 (default) to enable */
53: extern char _Cdecl __spawn_xms ;
54:
55: /* The next variable determines whether SPAWNO is allowed to use EMS */
56: /* memory if available and XMS is either unavailable or disabled. Set to */
57: /* 0 to disable EMS, 1 (default) to enable. */
58: extern char _Cdecl __spawn_ems ;
59:
60: /* The next variable determines whether SPAWNO is allowed to use non-XMS */
61: /* extended memory if available. Set to 0 to disable extended memory, */
62: /* 1 (default) to enable. */
63: extern char _Cdecl __spawn_ext ;
64:
65: /* Specify whether to swap the program's memory blocks in the upper */
66: /* memory area under MSDOS 5.0 (requires DOS=UMB in CONFIG.SYS) */
67: extern char _Cdecl __spawn_swap_UMA ;
68:
69: /* Specify whether INT 23h and INT 24h handlers should be deactivated by */
70: /* SPAWNO. You will normally want to deactivate the handlers unless you */
71: /* have elected to keep part of your program in memory while swapped. */
72: /* Set to 1 to preserve the INT 23h and INT 24h handlers, 0 (default) to */
73: /* disable the handlers. */
74: extern char _Cdecl __spawn_keepints ;
75:
76: /* This variable specifies the number of paragraphs to keep resident */
77: /* while swapped out (default 0 means minimum possible) */
78: extern unsigned int _Cdecl __spawn_resident ;
79:
80: /* The last variable specifies how many paragraphs of the stack to keep */
81: /* in memory while swapped out (default = 3, minimum = 2) */
82: /* Note: the minimum value of 2 will only work on bare DOS; the more */
83: /* TSRs that hook INT 21h and chain with a simulated interrupt rather */
84: /* than a far jump, the more paragraphs of stack must remain resident-- */
85: /* roughly one extra paragraph for every two such TSRs. */
86: extern unsigned int _Cdecl __spawn_res_stack ;
87:
88: /* Manifest constants for calling init_SPAWNO() */
89: #define SWAP_DISK 0
90: #define SWAP_XMS 1
91: #define SWAP_EMS 2
92: #define SWAP_EXT 4
93: #define SWAP_ANY 0xFF
94:
95: #endif /* __SPAWNO_H */
96:
97: /*=- End of SPAWNO.H -=*/
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.