[DDK]: Define registry manipulation APIs.
authorHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Mon, 23 Dec 2013 18:34:30 +0000 (18:34 +0000)
committerHermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Mon, 23 Dec 2013 18:34:30 +0000 (18:34 +0000)
svn path=/branches/ntvdm/; revision=61360

include/ddk/vddsvc.h

index be53553..72d5029 100644 (file)
 #include <nt_vdd.h>
 #endif
 
+/*
+ * Registers manipulation
+ */
+PVOID  WINAPI getIntelRegistersPointer(VOID);
+
+#ifdef __i386__
+
+ULONG  WINAPI getEAX(VOID);
+VOID   WINAPI setEAX(ULONG);
+USHORT WINAPI getAX(VOID);
+VOID   WINAPI setAX(USHORT);
+UCHAR  WINAPI getAH(VOID);
+VOID   WINAPI setAH(UCHAR);
+UCHAR  WINAPI getAL(VOID);
+VOID   WINAPI setAL(UCHAR);
+
+ULONG  WINAPI getEBX(VOID);
+VOID   WINAPI setEBX(ULONG);
+USHORT WINAPI getBX(VOID);
+VOID   WINAPI setBX(USHORT);
+UCHAR  WINAPI getBH(VOID);
+VOID   WINAPI setBH(UCHAR);
+UCHAR  WINAPI getBL(VOID);
+VOID   WINAPI setBL(UCHAR);
+
+ULONG  WINAPI getECX(VOID);
+VOID   WINAPI setECX(ULONG);
+USHORT WINAPI getCX(VOID);
+VOID   WINAPI setCX(USHORT);
+UCHAR  WINAPI getCH(VOID);
+VOID   WINAPI setCH(UCHAR);
+UCHAR  WINAPI getCL(VOID);
+VOID   WINAPI setCL(UCHAR);
+
+ULONG  WINAPI getEDX(VOID);
+VOID   WINAPI setEDX(ULONG);
+USHORT WINAPI getDX(VOID);
+VOID   WINAPI setDX(USHORT);
+UCHAR  WINAPI getDH(VOID);
+VOID   WINAPI setDH(UCHAR);
+UCHAR  WINAPI getDL(VOID);
+VOID   WINAPI setDL(UCHAR);
+
+
+
+ULONG  WINAPI getESP(VOID);
+VOID   WINAPI setESP(ULONG);
+USHORT WINAPI getSP(VOID);
+VOID   WINAPI setSP(USHORT);
+
+ULONG  WINAPI getEBP(VOID);
+VOID   WINAPI setEBP(ULONG);
+USHORT WINAPI getBP(VOID);
+VOID   WINAPI setBP(USHORT);
+
+ULONG  WINAPI getESI(VOID);
+VOID   WINAPI setESI(ULONG);
+USHORT WINAPI getSI(VOID);
+VOID   WINAPI setSI(USHORT);
+
+ULONG  WINAPI getEDI(VOID);
+VOID   WINAPI setEDI(ULONG);
+USHORT WINAPI getDI(VOID);
+VOID   WINAPI setDI(USHORT);
+
+ULONG  WINAPI getEIP(VOID);
+VOID   WINAPI setEIP(ULONG);
+USHORT WINAPI getIP(VOID);
+VOID   WINAPI setIP(USHORT);
+
+USHORT WINAPI getCS(VOID);
+VOID   WINAPI setCS(USHORT);
+USHORT WINAPI getSS(VOID);
+VOID   WINAPI setSS(USHORT);
+USHORT WINAPI getDS(VOID);
+VOID   WINAPI setDS(USHORT);
+USHORT WINAPI getES(VOID);
+VOID   WINAPI setES(USHORT);
+USHORT WINAPI getFS(VOID);
+VOID   WINAPI setFS(USHORT);
+USHORT WINAPI getGS(VOID);
+VOID   WINAPI setGS(USHORT);
+
+ULONG  WINAPI getCF(VOID);
+VOID   WINAPI setCF(ULONG);
+ULONG  WINAPI getPF(VOID);
+VOID   WINAPI setPF(ULONG);
+ULONG  WINAPI getAF(VOID);
+VOID   WINAPI setAF(ULONG);
+ULONG  WINAPI getZF(VOID);
+VOID   WINAPI setZF(ULONG);
+ULONG  WINAPI getSF(VOID);
+VOID   WINAPI setSF(ULONG);
+ULONG  WINAPI getIF(VOID);
+VOID   WINAPI setIF(ULONG);
+ULONG  WINAPI getDF(VOID);
+VOID   WINAPI setDF(ULONG);
+ULONG  WINAPI getOF(VOID);
+VOID   WINAPI setOF(ULONG);
+
+ULONG  WINAPI getEFLAGS(VOID);
+VOID   WINAPI setEFLAGS(ULONG);
 
+USHORT WINAPI getMSW(VOID);
+VOID   WINAPI setMSW(USHORT);
+
+#else
+
+ULONG  WINAPI c_getEAX(VOID);
+VOID   WINAPI c_setEAX(ULONG);
+USHORT WINAPI c_getAX(VOID);
+VOID   WINAPI c_setAX(USHORT);
+UCHAR  WINAPI c_getAH(VOID);
+VOID   WINAPI c_setAH(UCHAR);
+UCHAR  WINAPI c_getAL(VOID);
+VOID   WINAPI c_setAL(UCHAR);
+
+ULONG  WINAPI c_getEBX(VOID);
+VOID   WINAPI c_setEBX(ULONG);
+USHORT WINAPI c_getBX(VOID);
+VOID   WINAPI c_setBX(USHORT);
+UCHAR  WINAPI c_getBH(VOID);
+VOID   WINAPI c_setBH(UCHAR);
+UCHAR  WINAPI c_getBL(VOID);
+VOID   WINAPI c_setBL(UCHAR);
+
+ULONG  WINAPI c_getECX(VOID);
+VOID   WINAPI c_setECX(ULONG);
+USHORT WINAPI c_getCX(VOID);
+VOID   WINAPI c_setCX(USHORT);
+UCHAR  WINAPI c_getCH(VOID);
+VOID   WINAPI c_setCH(UCHAR);
+UCHAR  WINAPI c_getCL(VOID);
+VOID   WINAPI c_setCL(UCHAR);
+
+ULONG  WINAPI c_getEDX(VOID);
+VOID   WINAPI c_setEDX(ULONG);
+USHORT WINAPI c_getDX(VOID);
+VOID   WINAPI c_setDX(USHORT);
+UCHAR  WINAPI c_getDH(VOID);
+VOID   WINAPI c_setDH(UCHAR);
+UCHAR  WINAPI c_getDL(VOID);
+VOID   WINAPI c_setDL(UCHAR);
+
+
+
+ULONG  WINAPI c_getESP(VOID);
+VOID   WINAPI c_setESP(ULONG);
+USHORT WINAPI c_getSP(VOID);
+VOID   WINAPI c_setSP(USHORT);
+
+ULONG  WINAPI c_getEBP(VOID);
+VOID   WINAPI c_setEBP(ULONG);
+USHORT WINAPI c_getBP(VOID);
+VOID   WINAPI c_setBP(USHORT);
+
+ULONG  WINAPI c_getESI(VOID);
+VOID   WINAPI c_setESI(ULONG);
+USHORT WINAPI c_getSI(VOID);
+VOID   WINAPI c_setSI(USHORT);
+
+ULONG  WINAPI c_getEDI(VOID);
+VOID   WINAPI c_setEDI(ULONG);
+USHORT WINAPI c_getDI(VOID);
+VOID   WINAPI c_setDI(USHORT);
+
+ULONG  WINAPI c_getEIP(VOID);
+VOID   WINAPI c_setEIP(ULONG);
+USHORT WINAPI c_getIP(VOID);
+VOID   WINAPI c_setIP(USHORT);
+
+USHORT WINAPI c_getCS(VOID);
+VOID   WINAPI c_setCS(USHORT);
+USHORT WINAPI c_getSS(VOID);
+VOID   WINAPI c_setSS(USHORT);
+USHORT WINAPI c_getDS(VOID);
+VOID   WINAPI c_setDS(USHORT);
+USHORT WINAPI c_getES(VOID);
+VOID   WINAPI c_setES(USHORT);
+USHORT WINAPI c_getFS(VOID);
+VOID   WINAPI c_setFS(USHORT);
+USHORT WINAPI c_getGS(VOID);
+VOID   WINAPI c_setGS(USHORT);
+
+ULONG  WINAPI c_getCF(VOID);
+VOID   WINAPI c_setCF(ULONG);
+ULONG  WINAPI c_getPF(VOID);
+VOID   WINAPI c_setPF(ULONG);
+ULONG  WINAPI c_getAF(VOID);
+VOID   WINAPI c_setAF(ULONG);
+ULONG  WINAPI c_getZF(VOID);
+VOID   WINAPI c_setZF(ULONG);
+ULONG  WINAPI c_getSF(VOID);
+VOID   WINAPI c_setSF(ULONG);
+ULONG  WINAPI c_getIF(VOID);
+VOID   WINAPI c_setIF(ULONG);
+ULONG  WINAPI c_getDF(VOID);
+VOID   WINAPI c_setDF(ULONG);
+ULONG  WINAPI c_getOF(VOID);
+VOID   WINAPI c_setOF(ULONG);
+
+USHORT WINAPI c_getMSW(VOID);
+VOID   WINAPI c_setMSW(USHORT);
+
+#endif
 
 /* EOF */