summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/vddsvc.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--public/sdk/inc/vddsvc.h349
1 files changed, 349 insertions, 0 deletions
diff --git a/public/sdk/inc/vddsvc.h b/public/sdk/inc/vddsvc.h
new file mode 100644
index 000000000..e23815da2
--- /dev/null
+++ b/public/sdk/inc/vddsvc.h
@@ -0,0 +1,349 @@
+/*++
+
+Copyright (c) 1992 Microsoft Corporation
+
+Module Name:
+
+ VDDSVC.H
+
+Abstract:
+
+ Include file contains VDM services provided for installable VDDs.
+
+
+--*/
+
+
+/**
+ * This file contains VDM services prototype defintions only; their
+ * related structures and macros are defined in NT_VDD.H.
+ * If we have not included the file yet, include it and set a signal
+ * to tell anybody the fact.
+**/
+
+#ifndef _NT_VDD
+#include "nt_vdd.h"
+#define _NT_VDD
+#endif
+
+
+/** Memory Accessing services **/
+
+#define GetVDMAddress(usSeg, usOff) (((ULONG)usSeg << 4) + (ULONG)usOff)
+
+#define GetVDMPointer(Address, Size, Mode) Sim32GetVDMPointer(\
+ Address, Size, Mode)
+
+#define FlushVDMPointer(Address, Size, Buffer, Mode) Sim32FlushVDMPointer(\
+ Address, Size, Buffer, Mode)
+
+#define FreeVDMPointer(Address, Size, Buffer, Mode) Sim32FreeVDMPointer(\
+ Address, Size, Buffer, Mode)
+
+/** interrupt simualtion services **/
+
+#define ICA_MASTER 0
+#define ICA_SLAVE 1
+#define VDDSimulateInterrupt(ms, line, count) (call_ica_hw_interrupt)(\
+ ms, line, 1)
+
+
+/** Register manipulation services **/
+
+#ifndef i386
+
+#define getEAX() (ULONG)c_getAX()
+#define getAX() c_getAX()
+#define getAL() c_getAL()
+#define getAH() c_getAH()
+#define getEBX() (ULONG)c_getBX()
+#define getBX() c_getBX()
+#define getBL() c_getBL()
+#define getBH() c_getBH()
+#define getECX() (ULONG)c_getCX()
+#define getCX() c_getCX()
+#define getCL() c_getCL()
+#define getCH() c_getCH()
+#define getEDX() (ULONG)c_getDX()
+#define getDX() c_getDX()
+#define getDL() c_getDL()
+#define getDH() c_getDH()
+#define getESP() (ULONG)c_getSP()
+#define getSP() c_getSP()
+#define getEBP() (ULONG)c_getBP()
+#define getBP() c_getBP()
+#define getESI() (ULONG)c_getSI()
+#define getSI() c_getSI()
+#define getEDI() (ULONG)c_getDI()
+#define getDI() c_getDI()
+#define getEIP() (ULONG)c_getIP()
+#define getIP() c_getIP()
+#define getCS() c_getCS()
+#define getSS() c_getSS()
+#define getDS() c_getDS()
+#define getES() c_getES()
+#define getCF() c_getCF()
+#define getPF() c_getPF()
+#define getAF() c_getAF()
+#define getZF() c_getZF()
+#define getSF() c_getSF()
+#define getIF() c_getIF()
+#define getDF() c_getDF()
+#define getOF() c_getOF()
+#define getMSW() c_getMSW()
+
+#define setEAX(value) c_setAX((WORD)value)
+#define setAX(value) c_setAX(value)
+#define setAH(value) c_setAH(value)
+#define setAL(value) c_setAL(value)
+#define setEBX(value) c_setBX((WORD)value)
+#define setBX(value) c_setBX(value)
+#define setBH(value) c_setBH(value)
+#define setBL(value) c_setBL(value)
+#define setECX(value) c_setCX((WORD)value)
+#define setCX(value) c_setCX(value)
+#define setCH(value) c_setCH(value)
+#define setCL(value) c_setCL(value)
+#define setEDX(value) c_setDX((WORD)value)
+#define setDX(value) c_setDX(value)
+#define setDH(value) c_setDH(value)
+#define setDL(value) c_setDL(value)
+#define setESP(value) c_setSP((WORD)value)
+#define setSP(value) c_setSP(value)
+#define setEBP(value) c_setBP((WORD)value)
+#define setBP(value) c_setBP(value)
+#define setESI(value) c_setSI((WORD)value)
+#define setSI(value) c_setSI(value)
+#define setEDI(value) c_setDI((WORD)value)
+#define setDI(value) c_setDI(value)
+#define setEIP(value) c_setIP((WORD)value)
+#define setIP(value) c_setIP(value)
+#define setCS(value) c_setCS(value)
+#define setSS(value) c_setSS(value)
+#define setDS(value) c_setDS(value)
+#define setES(value) c_setES(value)
+#define setCF(value) c_setCF(value)
+#define setPF(value) c_setPF(value)
+#define setAF(value) c_setAF(value)
+#define setZF(value) c_setZF(value)
+#define setSF(value) c_setSF(value)
+#define setIF(value) c_setIF(value)
+#define setDF(value) c_setDF(value)
+#define setOF(value) c_setOF(value)
+#define setMSW(value) c_setMSW(value)
+
+#endif
+
+
+/** Real function prototype declarations **/
+
+
+/** interrupt simulation functions **/
+
+VOID
+call_ica_hw_interrupt (
+ int ms,
+ BYTE line,
+ int count
+ );
+
+#define Sim32FreeVDMPointer(address, size, buffer, mode) TRUE
+
+/** memory address manipulation functions **/
+
+#ifdef i386
+
+#define Sim32GetVDMPointer(address, size, mode) MGetVdmPointer(address,\
+ size, mode)
+#define Sim32FlushVDMPointer(addess, size, buffer, mode) TRUE
+
+PBYTE
+MGetVdmPointer(
+ ULONG Address,
+ ULONG Size,
+ UCHAR ProtectedMode
+);
+
+#else
+
+PBYTE
+Sim32GetVDMPointer(
+ ULONG Address,
+ ULONG Size,
+ UCHAR ProtectedMode
+);
+
+BOOLEAN
+Sim32FlushVDMPointer(
+ ULONG Address,
+ USHORT Size,
+ PBYTE Buffer,
+ BOOLEAN ProtectedMode
+);
+
+#endif
+
+
+/** Register manipulation functions **/
+
+#ifdef i386
+ULONG getEAX(VOID);
+USHORT getAX(VOID);
+UCHAR getAL(VOID);
+UCHAR getAH(VOID);
+ULONG getEBX(VOID);
+USHORT getBX(VOID);
+UCHAR getBL(VOID);
+UCHAR getBH(VOID);
+ULONG getECX(VOID);
+USHORT getCX(VOID);
+UCHAR getCL(VOID);
+UCHAR getCH(VOID);
+ULONG getEDX(VOID);
+USHORT getDX(VOID);
+UCHAR getDL(VOID);
+UCHAR getDH(VOID);
+ULONG getESP(VOID);
+USHORT getSP(VOID);
+ULONG getEBP(VOID);
+USHORT getBP(VOID);
+ULONG getESI(VOID);
+USHORT getSI(VOID);
+ULONG getEDI(VOID);
+USHORT getDI(VOID);
+ULONG getEIP(VOID);
+USHORT getIP(VOID);
+USHORT getCS(VOID);
+USHORT getSS(VOID);
+USHORT getDS(VOID);
+USHORT getES(VOID);
+USHORT getFS(VOID);
+USHORT getGS(VOID);
+ULONG getCF(VOID);
+ULONG getPF(VOID);
+ULONG getAF(VOID);
+ULONG getZF(VOID);
+ULONG getSF(VOID);
+ULONG getIF(VOID);
+ULONG getDF(VOID);
+ULONG getOF(VOID);
+USHORT getMSW(VOID);
+
+VOID setEAX(ULONG);
+VOID setAX(USHORT);
+VOID setAH(UCHAR);
+VOID setAL(UCHAR);
+VOID setEBX(ULONG);
+VOID setBX(USHORT);
+VOID setBH(UCHAR);
+VOID setBL(UCHAR);
+VOID setECX(ULONG);
+VOID setCX(USHORT);
+VOID setCH(UCHAR);
+VOID setCL(UCHAR);
+VOID setEDX(ULONG);
+VOID setDX(USHORT);
+VOID setDH(UCHAR);
+VOID setDL(UCHAR);
+VOID setESP(ULONG);
+VOID setSP(USHORT);
+VOID setEBP(ULONG);
+VOID setBP(USHORT);
+VOID setESI(ULONG);
+VOID setSI(USHORT);
+VOID setEDI(ULONG);
+VOID setDI(USHORT);
+VOID setEIP(ULONG);
+VOID setIP(USHORT);
+VOID setCS(USHORT);
+VOID setSS(USHORT);
+VOID setDS(USHORT);
+VOID setES(USHORT);
+VOID setFS(USHORT);
+VOID setGS(USHORT);
+VOID setCF(ULONG);
+VOID setPF(ULONG);
+VOID setAF(ULONG);
+VOID setZF(ULONG);
+VOID setSF(ULONG);
+VOID setIF(ULONG);
+VOID setDF(ULONG);
+VOID setOF(ULONG);
+VOID setMSW(USHORT);
+
+
+#else
+
+UCHAR c_getAL(VOID);
+UCHAR c_getCL(VOID);
+UCHAR c_getDL(VOID);
+UCHAR c_getBL(VOID);
+UCHAR c_getAH(VOID);
+UCHAR c_getCH(VOID);
+UCHAR c_getDH(VOID);
+UCHAR c_getBH(VOID);
+
+USHORT c_getAX(VOID);
+USHORT c_getCX(VOID);
+USHORT c_getDX(VOID);
+USHORT c_getBX(VOID);
+USHORT c_getSP(VOID);
+USHORT c_getBP(VOID);
+USHORT c_getSI(VOID);
+USHORT c_getDI(VOID);
+USHORT c_getIP(VOID);
+USHORT c_getES(VOID);
+USHORT c_getCS(VOID);
+USHORT c_getSS(VOID);
+USHORT c_getDS(VOID);
+
+USHORT c_getMSW(VOID);
+
+ULONG c_getAF(VOID);
+ULONG c_getCF(VOID);
+ULONG c_getDF(VOID);
+ULONG c_getIF(VOID);
+ULONG c_getOF(VOID);
+ULONG c_getPF(VOID);
+ULONG c_getSF(VOID);
+ULONG c_getZF(VOID);
+
+VOID c_setAL(UCHAR val);
+VOID c_setCL(UCHAR val);
+VOID c_setDL(UCHAR val);
+VOID c_setBL(UCHAR val);
+VOID c_setAH(UCHAR val);
+VOID c_setCH(UCHAR val);
+VOID c_setDH(UCHAR val);
+VOID c_setBH(UCHAR val);
+
+VOID c_setAX(USHORT val);
+VOID c_setCX(USHORT val);
+VOID c_setDX(USHORT val);
+VOID c_setBX(USHORT val);
+VOID c_setSP(USHORT val);
+VOID c_setBP(USHORT val);
+VOID c_setSI(USHORT val);
+VOID c_setDI(USHORT val);
+VOID c_setIP(USHORT val);
+
+VOID c_setES(USHORT val);
+VOID c_setCS(USHORT val);
+VOID c_setSS(USHORT val);
+VOID c_setDS(USHORT val);
+
+VOID c_setMSW(USHORT val);
+
+VOID c_setAF(ULONG val);
+VOID c_setCF(ULONG val);
+VOID c_setDF(ULONG val);
+VOID c_setIF(ULONG val);
+VOID c_setOF(ULONG val);
+VOID c_setPF(ULONG val);
+VOID c_setSF(ULONG val);
+VOID c_setZF(ULONG val);
+
+#endif
+
+
+/* end of VDDSVC.H */