Annotation of ntddk/inc/vddsvc.h, revision 1.1.1.1

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 */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.