|
|
1.1 ! root 1: /*++ ! 2: ! 3: Copyright (c) 1992 Microsoft Corporation ! 4: ! 5: Module Name: ! 6: ! 7: VDDSVC.H ! 8: ! 9: Abstract: ! 10: ! 11: Include file contains VDM services provided for installable VDDs. ! 12: ! 13: ! 14: --*/ ! 15: ! 16: ! 17: /** ! 18: * This file contains VDM services prototype defintions only; their ! 19: * related structures and macros are defined in NT_VDD.H. ! 20: * If we have not included the file yet, include it and set a signal ! 21: * to tell anybody the fact. ! 22: **/ ! 23: ! 24: #ifndef _NT_VDD ! 25: #include "nt_vdd.h" ! 26: #define _NT_VDD ! 27: #endif ! 28: ! 29: ! 30: /** Memory Accessing services **/ ! 31: ! 32: #define GetVDMAddress(usSeg, usOff) (((ULONG)usSeg << 4) + (ULONG)usOff) ! 33: ! 34: #define GetVDMPointer(Address, Size, Mode) Sim32GetVDMPointer(\ ! 35: Address, Size, Mode) ! 36: ! 37: #define FlushVDMPointer(Address, Size, Buffer, Mode) Sim32FlushVDMPointer(\ ! 38: Address, Size, Buffer, Mode) ! 39: ! 40: #define FreeVDMPointer(Address, Size, Buffer, Mode) Sim32FreeVDMPointer(\ ! 41: Address, Size, Buffer, Mode) ! 42: ! 43: /** interrupt simualtion services **/ ! 44: ! 45: #define ICA_MASTER 0 ! 46: #define ICA_SLAVE 1 ! 47: #define VDDSimulateInterrupt(ms, line, count) (call_ica_hw_interrupt)(\ ! 48: ms, line, 1) ! 49: ! 50: ! 51: /** Register manipulation services **/ ! 52: ! 53: #ifndef i386 ! 54: ! 55: #define getEAX() (ULONG)c_getAX() ! 56: #define getAX() c_getAX() ! 57: #define getAL() c_getAL() ! 58: #define getAH() c_getAH() ! 59: #define getEBX() (ULONG)c_getBX() ! 60: #define getBX() c_getBX() ! 61: #define getBL() c_getBL() ! 62: #define getBH() c_getBH() ! 63: #define getECX() (ULONG)c_getCX() ! 64: #define getCX() c_getCX() ! 65: #define getCL() c_getCL() ! 66: #define getCH() c_getCH() ! 67: #define getEDX() (ULONG)c_getDX() ! 68: #define getDX() c_getDX() ! 69: #define getDL() c_getDL() ! 70: #define getDH() c_getDH() ! 71: #define getESP() (ULONG)c_getSP() ! 72: #define getSP() c_getSP() ! 73: #define getEBP() (ULONG)c_getBP() ! 74: #define getBP() c_getBP() ! 75: #define getESI() (ULONG)c_getSI() ! 76: #define getSI() c_getSI() ! 77: #define getEDI() (ULONG)c_getDI() ! 78: #define getDI() c_getDI() ! 79: #define getEIP() (ULONG)c_getIP() ! 80: #define getIP() c_getIP() ! 81: #define getCS() c_getCS() ! 82: #define getSS() c_getSS() ! 83: #define getDS() c_getDS() ! 84: #define getES() c_getES() ! 85: #define getCF() c_getCF() ! 86: #define getPF() c_getPF() ! 87: #define getAF() c_getAF() ! 88: #define getZF() c_getZF() ! 89: #define getSF() c_getSF() ! 90: #define getIF() c_getIF() ! 91: #define getDF() c_getDF() ! 92: #define getOF() c_getOF() ! 93: #define getMSW() c_getMSW() ! 94: ! 95: #define setEAX(value) c_setAX((WORD)value) ! 96: #define setAX(value) c_setAX(value) ! 97: #define setAH(value) c_setAH(value) ! 98: #define setAL(value) c_setAL(value) ! 99: #define setEBX(value) c_setBX((WORD)value) ! 100: #define setBX(value) c_setBX(value) ! 101: #define setBH(value) c_setBH(value) ! 102: #define setBL(value) c_setBL(value) ! 103: #define setECX(value) c_setCX((WORD)value) ! 104: #define setCX(value) c_setCX(value) ! 105: #define setCH(value) c_setCH(value) ! 106: #define setCL(value) c_setCL(value) ! 107: #define setEDX(value) c_setDX((WORD)value) ! 108: #define setDX(value) c_setDX(value) ! 109: #define setDH(value) c_setDH(value) ! 110: #define setDL(value) c_setDL(value) ! 111: #define setESP(value) c_setSP((WORD)value) ! 112: #define setSP(value) c_setSP(value) ! 113: #define setEBP(value) c_setBP((WORD)value) ! 114: #define setBP(value) c_setBP(value) ! 115: #define setESI(value) c_setSI((WORD)value) ! 116: #define setSI(value) c_setSI(value) ! 117: #define setEDI(value) c_setDI((WORD)value) ! 118: #define setDI(value) c_setDI(value) ! 119: #define setEIP(value) c_setIP((WORD)value) ! 120: #define setIP(value) c_setIP(value) ! 121: #define setCS(value) c_setCS(value) ! 122: #define setSS(value) c_setSS(value) ! 123: #define setDS(value) c_setDS(value) ! 124: #define setES(value) c_setES(value) ! 125: #define setCF(value) c_setCF(value) ! 126: #define setPF(value) c_setPF(value) ! 127: #define setAF(value) c_setAF(value) ! 128: #define setZF(value) c_setZF(value) ! 129: #define setSF(value) c_setSF(value) ! 130: #define setIF(value) c_setIF(value) ! 131: #define setDF(value) c_setDF(value) ! 132: #define setOF(value) c_setOF(value) ! 133: #define setMSW(value) c_setMSW(value) ! 134: ! 135: #endif ! 136: ! 137: ! 138: /** Real function prototype declarations **/ ! 139: ! 140: ! 141: /** interrupt simulation functions **/ ! 142: ! 143: VOID ! 144: call_ica_hw_interrupt ( ! 145: int ms, ! 146: BYTE line, ! 147: int count ! 148: ); ! 149: ! 150: #define Sim32FreeVDMPointer(address, size, buffer, mode) TRUE ! 151: ! 152: /** memory address manipulation functions **/ ! 153: ! 154: #ifdef i386 ! 155: ! 156: #define Sim32GetVDMPointer(address, size, mode) MGetVdmPointer((ULONG)address,\ ! 157: (ULONG)size, (CHAR)mode) ! 158: #define Sim32FlushVDMPointer(addess, size, buffer, mode) TRUE ! 159: ! 160: PBYTE ! 161: MGetVdmPointer( ! 162: ULONG Address, ! 163: ULONG Size, ! 164: CHAR ProtectedMode ! 165: ); ! 166: ! 167: #else ! 168: ! 169: PBYTE ! 170: Sim32GetVDMPointer( ! 171: ULONG Address, ! 172: USHORT Size, ! 173: BOOLEAN ProtectedMode ! 174: ); ! 175: ! 176: BOOLEAN ! 177: Sim32FlushVDMPointer( ! 178: ULONG Address, ! 179: USHORT Size, ! 180: PBYTE Buffer, ! 181: BOOLEAN ProtectedMode ! 182: ); ! 183: ! 184: #endif ! 185: ! 186: ! 187: /** Register manipulation functions **/ ! 188: ! 189: #ifdef i386 ! 190: ULONG getEAX(VOID); ! 191: USHORT getAX(VOID); ! 192: UCHAR getAL(VOID); ! 193: UCHAR getAH(VOID); ! 194: ULONG getEBX(VOID); ! 195: USHORT getBX(VOID); ! 196: UCHAR getBL(VOID); ! 197: UCHAR getBH(VOID); ! 198: ULONG getECX(VOID); ! 199: USHORT getCX(VOID); ! 200: UCHAR getCL(VOID); ! 201: UCHAR getCH(VOID); ! 202: ULONG getEDX(VOID); ! 203: USHORT getDX(VOID); ! 204: UCHAR getDL(VOID); ! 205: UCHAR getDH(VOID); ! 206: ULONG getESP(VOID); ! 207: USHORT getSP(VOID); ! 208: ULONG getEBP(VOID); ! 209: USHORT getBP(VOID); ! 210: ULONG getESI(VOID); ! 211: USHORT getSI(VOID); ! 212: ULONG getEDI(VOID); ! 213: USHORT getDI(VOID); ! 214: ULONG getEIP(VOID); ! 215: USHORT getIP(VOID); ! 216: USHORT getCS(VOID); ! 217: USHORT getSS(VOID); ! 218: USHORT getDS(VOID); ! 219: USHORT getES(VOID); ! 220: USHORT getFS(VOID); ! 221: USHORT getGS(VOID); ! 222: ULONG getCF(VOID); ! 223: ULONG getPF(VOID); ! 224: ULONG getAF(VOID); ! 225: ULONG getZF(VOID); ! 226: ULONG getSF(VOID); ! 227: ULONG getIF(VOID); ! 228: ULONG getDF(VOID); ! 229: ULONG getOF(VOID); ! 230: USHORT getMSW(VOID); ! 231: ! 232: VOID setEAX(ULONG); ! 233: VOID setAX(USHORT); ! 234: VOID setAH(UCHAR); ! 235: VOID setAL(UCHAR); ! 236: VOID setEBX(ULONG); ! 237: VOID setBX(USHORT); ! 238: VOID setBH(UCHAR); ! 239: VOID setBL(UCHAR); ! 240: VOID setECX(ULONG); ! 241: VOID setCX(USHORT); ! 242: VOID setCH(UCHAR); ! 243: VOID setCL(UCHAR); ! 244: VOID setEDX(ULONG); ! 245: VOID setDX(USHORT); ! 246: VOID setDH(UCHAR); ! 247: VOID setDL(UCHAR); ! 248: VOID setESP(ULONG); ! 249: VOID setSP(USHORT); ! 250: VOID setEBP(ULONG); ! 251: VOID setBP(USHORT); ! 252: VOID setESI(ULONG); ! 253: VOID setSI(USHORT); ! 254: VOID setEDI(ULONG); ! 255: VOID setDI(USHORT); ! 256: VOID setEIP(ULONG); ! 257: VOID setIP(USHORT); ! 258: VOID setCS(USHORT); ! 259: VOID setSS(USHORT); ! 260: VOID setDS(USHORT); ! 261: VOID setES(USHORT); ! 262: VOID setFS(USHORT); ! 263: VOID setGS(USHORT); ! 264: VOID setCF(ULONG); ! 265: VOID setPF(ULONG); ! 266: VOID setAF(ULONG); ! 267: VOID setZF(ULONG); ! 268: VOID setSF(ULONG); ! 269: VOID setIF(ULONG); ! 270: VOID setDF(ULONG); ! 271: VOID setOF(ULONG); ! 272: VOID setMSW(USHORT); ! 273: ! 274: ! 275: #else ! 276: ! 277: UCHAR c_getAL(VOID); ! 278: UCHAR c_getCL(VOID); ! 279: UCHAR c_getDL(VOID); ! 280: UCHAR c_getBL(VOID); ! 281: UCHAR c_getAH(VOID); ! 282: UCHAR c_getCH(VOID); ! 283: UCHAR c_getDH(VOID); ! 284: UCHAR c_getBH(VOID); ! 285: ! 286: USHORT c_getAX(VOID); ! 287: USHORT c_getCX(VOID); ! 288: USHORT c_getDX(VOID); ! 289: USHORT c_getBX(VOID); ! 290: USHORT c_getSP(VOID); ! 291: USHORT c_getBP(VOID); ! 292: USHORT c_getSI(VOID); ! 293: USHORT c_getDI(VOID); ! 294: USHORT c_getIP(VOID); ! 295: USHORT c_getES(VOID); ! 296: USHORT c_getCS(VOID); ! 297: USHORT c_getSS(VOID); ! 298: USHORT c_getDS(VOID); ! 299: ! 300: USHORT c_getMSW(VOID); ! 301: ! 302: ULONG c_getAF(VOID); ! 303: ULONG c_getCF(VOID); ! 304: ULONG c_getDF(VOID); ! 305: ULONG c_getIF(VOID); ! 306: ULONG c_getOF(VOID); ! 307: ULONG c_getPF(VOID); ! 308: ULONG c_getSF(VOID); ! 309: ULONG c_getZF(VOID); ! 310: ! 311: VOID c_setAL(UCHAR val); ! 312: VOID c_setCL(UCHAR val); ! 313: VOID c_setDL(UCHAR val); ! 314: VOID c_setBL(UCHAR val); ! 315: VOID c_setAH(UCHAR val); ! 316: VOID c_setCH(UCHAR val); ! 317: VOID c_setDH(UCHAR val); ! 318: VOID c_setBH(UCHAR val); ! 319: ! 320: VOID c_setAX(USHORT val); ! 321: VOID c_setCX(USHORT val); ! 322: VOID c_setDX(USHORT val); ! 323: VOID c_setBX(USHORT val); ! 324: VOID c_setSP(USHORT val); ! 325: VOID c_setBP(USHORT val); ! 326: VOID c_setSI(USHORT val); ! 327: VOID c_setDI(USHORT val); ! 328: VOID c_setIP(USHORT val); ! 329: ! 330: VOID c_setES(USHORT val); ! 331: VOID c_setCS(USHORT val); ! 332: VOID c_setSS(USHORT val); ! 333: VOID c_setDS(USHORT val); ! 334: ! 335: VOID c_setMSW(USHORT val); ! 336: ! 337: VOID c_setAF(ULONG val); ! 338: VOID c_setCF(ULONG val); ! 339: VOID c_setDF(ULONG val); ! 340: VOID c_setIF(ULONG val); ! 341: VOID c_setOF(ULONG val); ! 342: VOID c_setPF(ULONG val); ! 343: VOID c_setSF(ULONG val); ! 344: VOID c_setZF(ULONG val); ! 345: ! 346: #endif ! 347: ! 348: ! 349: /* end of VDDSVC.H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.