diff options
author | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
---|---|---|
committer | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
commit | e611b132f9b8abe35b362e5870b74bce94a1e58e (patch) | |
tree | a5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/mvdm/inc/dossvc.h | |
download | NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2 NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip |
Diffstat (limited to 'private/mvdm/inc/dossvc.h')
-rw-r--r-- | private/mvdm/inc/dossvc.h | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/private/mvdm/inc/dossvc.h b/private/mvdm/inc/dossvc.h new file mode 100644 index 000000000..b4ec39303 --- /dev/null +++ b/private/mvdm/inc/dossvc.h @@ -0,0 +1,178 @@ +/** SVC Defines + * + * Revision history: + * + * sudeepb 27-Feb-1991 Created + */ + +/* VHE - Virtual Hard Error packet. + * + * DEM makes fbInt24 to true if an hard error happens. + */ + +typedef struct vhe_s { + char vhe_fbInt24; // Was there a hard error? + char vhe_HrdErrCode; // If hard error then this is the error code + char vhe_bDriveNum; // If so on which drive +} VHE; + +typedef VHE *PVHE; + +/* DEMEXTERR - Extended Error structure. The following structure contains the + * DOS extended error elements which are loosely coupled in the DOS data + * segment + * + */ + +/* XLATOFF */ +#include <packon.h> + +typedef struct _DEMEXTERR { + UCHAR ExtendedErrorLocus; + USHORT ExtendedError; + UCHAR ExtendedErrorAction; + UCHAR ExtendedErrorClass; + PUCHAR ExtendedErrorPointer; +} DEMEXTERR; + +typedef DEMEXTERR* PDEMEXTERR; + + +/* SYSDEV - Device chain node + */ + +typedef struct _SYSDEV { + + ULONG sdevNext; // REAL mode pointer to next device. -1 for end of chain. + char sdevIgnore[6]; + UCHAR sdevDevName[8]; // device name + +} SYSDEV; + +typedef SYSDEV UNALIGNED *PSYSDEV; + +#ifndef _DEMINCLUDED_ +extern DECLSPEC_IMPORT PSYSDEV pDeviceChain; +#else +extern PSYSDEV pDeviceChain; +#endif + + +/* XLATON */ + +/* XLATOFF */ +#include <packoff.h> +/* XLATON */ + +/* Note : To add a new SVC: + * New SVC gets the current value of SVC_LASTSVC. Increment + * the SVC_LASTSVC value. Add the appropriate SVC handler + * in apfnSVC (file dem\demdisp.c) at the end. + * To delete a SVC : + * Move each SVC one level up. Appropriatly adjust the + * apfnSVC (file dem\demdisp.c). + */ + +/* SVC - Supervisory Call macro. + * + * This macro is used by NTDOS and NTBIO to call DEM. + * + */ + +#define NTVDMDBG 1 + +/* ASM +include bop.inc + +svc macro func + BOP BOP_DOS + db func + endm +*/ +#define SVC_DEMCHGFILEPTR 0x00 +#define SVC_DEMCHMOD 0x01 +#define SVC_DEMCLOSE 0x02 +#define SVC_DEMCREATE 0x03 +#define SVC_DEMCREATEDIR 0x04 +#define SVC_DEMDELETE 0x05 +#define SVC_DEMDELETEDIR 0x06 +#define SVC_DEMDELETEFCB 0x07 +#define SVC_DEMFILETIMES 0x08 +#define SVC_DEMFINDFIRST 0x09 +#define SVC_DEMFINDFIRSTFCB 0x0a +#define SVC_DEMFINDNEXT 0x0b +#define SVC_DEMFINDNEXTFCB 0x0c +#define SVC_DEMGETBOOTDRIVE 0x0d +#define SVC_DEMGETDRIVEFREESPACE 0x0e +#define SVC_DEMGETDRIVES 0x0f +#define SVC_DEMGSETMEDIAID 0x10 +#define SVC_DEMLOADDOS 0x11 +#define SVC_DEMOPEN 0x12 +#define SVC_DEMQUERYCURRENTDIR 0x13 +#define SVC_DEMQUERYDATE 0x14 +#define SVC_DEMQUERYTIME 0x15 +#define SVC_DEMREAD 0x16 +#define SVC_DEMRENAME 0x17 +#define SVC_DEMSETCURRENTDIR 0x18 +#define SVC_DEMSETDATE 0x19 +#define SVC_DEMSETDEFAULTDRIVE 0x1a +#define SVC_DEMSETDTALOCATION 0x1b +#define SVC_DEMSETTIME 0x1c +#define SVC_DEMSETV86KERNELADDR 0x1d +#define SVC_DEMWRITE 0x1e +#define SVC_GETDRIVEINFO 0x1f +#define SVC_DEMRENAMEFCB 0x20 +#define SVC_DEMIOCTL 0x21 +#define SVC_DEMCREATENEW 0x22 +#define SVC_DEMDISKRESET 0x23 +#define SVC_DEMSETDPB 0x24 +#define SVC_DEMGETDPB 0x25 +#define SVC_DEMSLEAZEFUNC 0x26 +#define SVC_DEMCOMMIT 0x27 +#define SVC_DEMEXTHANDLE 0x28 +#define SVC_DEMABSDRD 0x29 +#define SVC_DEMABSDWRT 0x2a +#define SVC_DEMGSETCDPG 0x2b +#define SVC_DEMCREATEFCB 0x2c +#define SVC_DEMOPENFCB 0x2d +#define SVC_DEMCLOSEFCB 0x2e +#define SVC_DEMFCBIO 0x2f +#define SVC_DEMDATE16 0x30 +#define SVC_DEMGETFILEINFO 0x31 +#define SVC_DEMSETHARDERRORINFO 0x32 +#define SVC_DEMRETRY 0x33 +#define SVC_DEMLOADDOSAPPSYM 0x34 +#define SVC_DEMFREEDOSAPPSYM 0x35 +#define SVC_DEMENTRYDOSAPP 0x36 +#define SVC_DEMDOSDISPCALL 0x37 +#define SVC_DEMDOSDISPRET 0x38 +#define SVC_OUTPUT_STRING 0x39 +#define SVC_INPUT_STRING 0x3A +#define SVC_ISDEBUG 0x3B +#define SVC_PDBTERMINATE 0x3C +#define SVC_DEMEXITVDM 0x3D +#define SVC_DEMWOWFILES 0x3E +#define SVC_DEMLOCKOPER 0x3F +#define SVC_DEMDRIVEFROMHANDLE 0x40 +#define SVC_DEMGETCOMPUTERNAME 0x41 +#define SVC_DEMFASTREAD 0x42 +#define SVC_DEMFASTWRITE 0x43 +#define SVC_DEMCHECKPATH 0x44 +#define SVC_DEMSYSTEMSYMBOLOP 0x45 +#define SVC_DEMGETDPBLIST 0x46 + +#define SVC_DEMPIPEFILEDATAEOF 0x47 +#define SVC_DEMPIPEFILEEOF 0x48 +#define SVC_DEMLASTSVC 0x49 + + +/* + * Equates used in the DEMxxxSYSTEMxxx calls + */ +#define SYMOP_LOAD 1 +#define SYMOP_FREE 2 +#define SYMOP_MOVE 3 +#define SYMOP_CLEANUP 0x80 + +#define ID_NTIO 1 +#define ID_NTDOS 2 |