|
|
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.