ReactOS  0.4.14-dev-599-g2d4d3f5
io.h
Go to the documentation of this file.
1 /*
2  * COPYRIGHT: GPL - See COPYING in the top level directory
3  * PROJECT: ReactOS Virtual DOS Machine
4  * FILE: subsystems/mvdm/ntvdm/io.h
5  * PURPOSE: I/O Port Handlers
6  * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
7  * Hermes Belusca-Maito (hermes.belusca@sfr.fr)
8  */
9 
10 #ifndef _IO_H_
11 #define _IO_H_
12 
13 /* DEFINES ********************************************************************/
14 
15 #define EMULATOR_MAX_IOPORTS_NUM 0x10000
16 
17 /* FUNCTIONS ******************************************************************/
18 
22 
26 
30 
34 
35 
36 UCHAR
38 VOID
40  PUCHAR Buffer,
41  ULONG Count);
42 
43 VOID
45  UCHAR Buffer);
46 VOID
48  PUCHAR Buffer,
49  ULONG Count);
50 
51 USHORT
53 VOID
56  ULONG Count);
57 
58 VOID
60  USHORT Buffer);
61 VOID
64  ULONG Count);
65 
66 ULONG
68 VOID
70  PULONG Buffer,
71  ULONG Count);
72 
73 VOID
75  ULONG Buffer);
76 VOID
78  PULONG Buffer,
79  ULONG Count);
80 
81 
83  EMULATOR_INB_PROC InHandler,
84  EMULATOR_OUTB_PROC OutHandler);
85 
87 
89 (
90  PFAST486_STATE State,
91  USHORT Port,
92  PVOID Buffer,
93  ULONG DataCount,
95 );
96 
98 (
99  PFAST486_STATE State,
100  USHORT Port,
101  PVOID Buffer,
102  ULONG DataCount,
104 );
105 
106 #endif /* _IO_H_ */
VOID(WINAPI * EMULATOR_OUTSD_PROC)(USHORT Port, PULONG Buffer, ULONG Count)
Definition: io.h:33
CPPORT Port[4]
Definition: headless.c:34
VOID FASTCALL EmulatorReadIo(PFAST486_STATE State, USHORT Port, PVOID Buffer, ULONG DataCount, UCHAR DataSize)
Definition: io.c:349
VOID IOReadStrD(USHORT Port, PULONG Buffer, ULONG Count)
Definition: io.c:271
VOID FASTCALL EmulatorWriteIo(PFAST486_STATE State, USHORT Port, PVOID Buffer, ULONG DataCount, UCHAR DataSize)
Definition: io.c:424
VOID(WINAPI * EMULATOR_OUTW_PROC)(USHORT Port, USHORT Data)
Definition: io.h:28
VOID UnregisterIoPort(USHORT Port)
Definition: io.c:338
VOID(WINAPI * EMULATOR_INSD_PROC)(USHORT Port, PULONG Buffer, ULONG Count)
Definition: io.h:25
unsigned char * PUCHAR
Definition: retypes.h:3
UCHAR IOReadB(USHORT Port)
Definition: io.c:64
_Inout_ __drv_aliasesMem PSLIST_ENTRY _Inout_ PSLIST_ENTRY _In_ ULONG Count
Definition: exfuncs.h:1015
VOID IOWriteD(USHORT Port, ULONG Buffer)
Definition: io.c:287
VOID IOWriteW(USHORT Port, USHORT Buffer)
Definition: io.c:206
USHORT(WINAPI * EMULATOR_INW_PROC)(USHORT Port)
Definition: io.h:20
#define FASTCALL
Definition: nt_native.h:50
VOID IOReadStrW(USHORT Port, PUSHORT Buffer, ULONG Count)
Definition: io.c:183
UCHAR(WINAPI * EMULATOR_INB_PROC)(USHORT Port)
Definition: io.h:19
VOID IOWriteStrW(USHORT Port, PUSHORT Buffer, ULONG Count)
Definition: io.c:229
_In_ LPGUID _In_ PVOID Data
Definition: classpnp.h:778
Definition: bufpool.h:45
VOID RegisterIoPort(USHORT Port, EMULATOR_INB_PROC InHandler, EMULATOR_OUTB_PROC OutHandler)
Definition: io.c:320
VOID IOWriteStrB(USHORT Port, PUCHAR Buffer, ULONG Count)
Definition: io.c:133
VOID(WINAPI * EMULATOR_OUTD_PROC)(USHORT Port, ULONG Data)
Definition: io.h:29
#define WINAPI
Definition: msvc.h:6
VOID IOWriteStrD(USHORT Port, PULONG Buffer, ULONG Count)
Definition: io.c:304
unsigned char UCHAR
Definition: xmlstorage.h:181
#define VOID
Definition: acefi.h:82
ULONG(WINAPI * EMULATOR_IND_PROC)(USHORT Port)
Definition: io.h:21
VOID IOWriteB(USHORT Port, UCHAR Buffer)
Definition: io.c:111
unsigned short USHORT
Definition: pedump.c:61
VOID(WINAPI * EMULATOR_INSB_PROC)(USHORT Port, PUCHAR Buffer, ULONG Count)
Definition: io.h:23
unsigned int * PULONG
Definition: retypes.h:1
VOID(WINAPI * EMULATOR_INSW_PROC)(USHORT Port, PUSHORT Buffer, ULONG Count)
Definition: io.h:24
VOID(WINAPI * EMULATOR_OUTB_PROC)(USHORT Port, UCHAR Data)
Definition: io.h:27
unsigned int ULONG
Definition: retypes.h:1
VOID(WINAPI * EMULATOR_OUTSB_PROC)(USHORT Port, PUCHAR Buffer, ULONG Count)
Definition: io.h:31
IN BOOLEAN OUT PSTR Buffer
Definition: progress.h:34
ULONG IOReadD(USHORT Port)
Definition: io.c:252
VOID IOReadStrB(USHORT Port, PUCHAR Buffer, ULONG Count)
Definition: io.c:88
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
Definition: ndis.h:4751
unsigned short * PUSHORT
Definition: retypes.h:2
VOID(WINAPI * EMULATOR_OUTSW_PROC)(USHORT Port, PUSHORT Buffer, ULONG Count)
Definition: io.h:32
USHORT IOReadW(USHORT Port)
Definition: io.c:156