summaryrefslogtreecommitdiffstats
path: root/private/mvdm/inc/dossvc.h
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/mvdm/inc/dossvc.h
downloadNT4.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.h178
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