4 * Windows NT Device Driver Kit
6 * This file is part of the ReactOS DDK package.
9 * Hermes Belusca-Maito (hermes.belusca@sfr.fr)
11 * THIS SOFTWARE IS NOT COPYRIGHTED
13 * This source code is offered for use in the public domain. You may
14 * use, modify or distribute it freely.
16 * This code is distributed in the hope that it will be useful but
17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18 * DISCLAIMED. This includes but is not limited to warranties of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
41 VDDTerminateVDM(VOID
);
48 typedef VOID (*PFNVDD_INB
) (WORD iport
, PBYTE data
);
49 typedef VOID (*PFNVDD_INW
) (WORD iport
, PWORD data
);
50 typedef VOID (*PFNVDD_INSB
) (WORD iport
, PBYTE data
, WORD count
);
51 typedef VOID (*PFNVDD_INSW
) (WORD iport
, PWORD data
, WORD count
);
52 typedef VOID (*PFNVDD_OUTB
) (WORD iport
, BYTE data
);
53 typedef VOID (*PFNVDD_OUTW
) (WORD iport
, WORD data
);
54 typedef VOID (*PFNVDD_OUTSB
) (WORD iport
, PBYTE data
, WORD count
);
55 typedef VOID (*PFNVDD_OUTSW
) (WORD iport
, PWORD data
, WORD count
);
57 typedef struct _VDD_IO_HANDLERS
59 PFNVDD_INB inb_handler
;
60 PFNVDD_INW inw_handler
;
61 PFNVDD_INSB insb_handler
;
62 PFNVDD_INSW insw_handler
;
63 PFNVDD_OUTB outb_handler
;
64 PFNVDD_OUTW outw_handler
;
65 PFNVDD_OUTSB outsb_handler
;
66 PFNVDD_OUTSW outsw_handler
;
67 } VDD_IO_HANDLERS
, *PVDD_IO_HANDLERS
;
69 typedef struct _VDD_IO_PORTRANGE
73 } VDD_IO_PORTRANGE
, *PVDD_IO_PORTRANGE
;
81 PVDD_IO_PORTRANGE pPortRange
,
82 PVDD_IO_HANDLERS IOhandler
91 PVDD_IO_PORTRANGE pPortRange
106 #define MSW_PE 0x0001
109 #define getMODE() ((getMSW() & MSW_PE) ? VDM_PM : VDM_V86)
116 IN BOOLEAN ProtectedMode
125 IN BOOLEAN ProtectedMode