ReactOS 0.4.16-dev-311-g9382aa2
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
38VOID
41 ULONG Count);
42
43VOID
46VOID
49 ULONG Count);
50
53VOID
56 ULONG Count);
57
58VOID
61VOID
64 ULONG Count);
65
68VOID
71 ULONG Count);
72
73VOID
76VOID
79 ULONG Count);
80
81
83 EMULATOR_INB_PROC InHandler,
84 EMULATOR_OUTB_PROC OutHandler);
85
87
89(
90 PFAST486_STATE State,
93 ULONG DataCount,
95);
96
98(
99 PFAST486_STATE State,
100 USHORT Port,
102 ULONG DataCount,
104);
105
106#endif /* _IO_H_ */
#define VOID
Definition: acefi.h:82
Definition: bufpool.h:45
CPPORT Port[4]
Definition: headless.c:35
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
Definition: ndis.h:4755
int Count
Definition: noreturn.cpp:7
#define FASTCALL
Definition: nt_native.h:50
unsigned short USHORT
Definition: pedump.c:61
USHORT(WINAPI * EMULATOR_INW_PROC)(USHORT Port)
Definition: io.h:20
VOID FASTCALL EmulatorReadIo(PFAST486_STATE State, USHORT Port, PVOID Buffer, ULONG DataCount, UCHAR DataSize)
Definition: io.c:349
VOID(WINAPI * EMULATOR_OUTB_PROC)(USHORT Port, UCHAR Data)
Definition: io.h:27
VOID(WINAPI * EMULATOR_OUTSD_PROC)(USHORT Port, PULONG Buffer, ULONG Count)
Definition: io.h:33
VOID(WINAPI * EMULATOR_INSW_PROC)(USHORT Port, PUSHORT Buffer, ULONG Count)
Definition: io.h:24
ULONG IOReadD(USHORT Port)
Definition: io.c:252
VOID IOWriteB(USHORT Port, UCHAR Buffer)
Definition: io.c:111
VOID IOWriteW(USHORT Port, USHORT Buffer)
Definition: io.c:206
VOID(WINAPI * EMULATOR_OUTD_PROC)(USHORT Port, ULONG Data)
Definition: io.h:29
VOID IOReadStrB(USHORT Port, PUCHAR Buffer, ULONG Count)
Definition: io.c:88
VOID(WINAPI * EMULATOR_OUTSB_PROC)(USHORT Port, PUCHAR Buffer, ULONG Count)
Definition: io.h:31
USHORT IOReadW(USHORT Port)
Definition: io.c:156
VOID IOWriteD(USHORT Port, ULONG Buffer)
Definition: io.c:287
VOID IOReadStrW(USHORT Port, PUSHORT Buffer, ULONG Count)
Definition: io.c:183
VOID IOWriteStrW(USHORT Port, PUSHORT Buffer, ULONG Count)
Definition: io.c:229
ULONG(WINAPI * EMULATOR_IND_PROC)(USHORT Port)
Definition: io.h:21
VOID(WINAPI * EMULATOR_OUTSW_PROC)(USHORT Port, PUSHORT Buffer, ULONG Count)
Definition: io.h:32
VOID(WINAPI * EMULATOR_INSD_PROC)(USHORT Port, PULONG Buffer, ULONG Count)
Definition: io.h:25
VOID(WINAPI * EMULATOR_OUTW_PROC)(USHORT Port, USHORT Data)
Definition: io.h:28
VOID IOReadStrD(USHORT Port, PULONG Buffer, ULONG Count)
Definition: io.c:271
VOID UnregisterIoPort(USHORT Port)
Definition: io.c:338
UCHAR IOReadB(USHORT Port)
Definition: io.c:64
VOID FASTCALL EmulatorWriteIo(PFAST486_STATE State, USHORT Port, PVOID Buffer, ULONG DataCount, UCHAR DataSize)
Definition: io.c:424
VOID IOWriteStrD(USHORT Port, PULONG Buffer, ULONG Count)
Definition: io.c:304
VOID(WINAPI * EMULATOR_INSB_PROC)(USHORT Port, PUCHAR Buffer, ULONG Count)
Definition: io.h:23
UCHAR(WINAPI * EMULATOR_INB_PROC)(USHORT Port)
Definition: io.h:19
VOID IOWriteStrB(USHORT Port, PUCHAR Buffer, ULONG Count)
Definition: io.c:133
VOID RegisterIoPort(USHORT Port, EMULATOR_INB_PROC InHandler, EMULATOR_OUTB_PROC OutHandler)
Definition: io.c:320
uint32_t * PULONG
Definition: typedefs.h:59
uint16_t * PUSHORT
Definition: typedefs.h:56
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
#define WINAPI
Definition: msvc.h:6
unsigned char UCHAR
Definition: xmlstorage.h:181