[FLOPPY] Don't wait forever while trying to determine media type.
[reactos.git] / hal / halx86 / generic / portio.c
1 /*
2 * PROJECT: ReactOS HAL
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: hal/halx86/generic/portio.c
5 * PURPOSE: I/O Functions for access to ports
6 * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
7 */
8
9 /* INCLUDES ******************************************************************/
10
11 #include <hal.h>
12 #define NDEBUG
13 #include <debug.h>
14
15 //
16 // HAL Port to Inlined Port
17 //
18 #define H2I(Port) PtrToUshort(Port)
19
20 /* FUNCTIONS *****************************************************************/
21
22 VOID
23 NTAPI
24 READ_PORT_BUFFER_UCHAR(IN PUCHAR Port,
25 OUT PUCHAR Buffer,
26 IN ULONG Count)
27 {
28 __inbytestring(H2I(Port), Buffer, Count);
29 }
30
31 VOID
32 NTAPI
33 READ_PORT_BUFFER_USHORT(IN PUSHORT Port,
34 OUT PUSHORT Buffer,
35 IN ULONG Count)
36 {
37 __inwordstring(H2I(Port), Buffer, Count);
38 }
39
40 VOID
41 NTAPI
42 READ_PORT_BUFFER_ULONG(IN PULONG Port,
43 OUT PULONG Buffer,
44 IN ULONG Count)
45 {
46 __indwordstring(H2I(Port), Buffer, Count);
47 }
48
49 UCHAR
50 NTAPI
51 READ_PORT_UCHAR(IN PUCHAR Port)
52 {
53 return __inbyte(H2I(Port));
54 }
55
56 USHORT
57 NTAPI
58 READ_PORT_USHORT(IN PUSHORT Port)
59 {
60 return __inword(H2I(Port));
61 }
62
63 ULONG
64 NTAPI
65 READ_PORT_ULONG(IN PULONG Port)
66 {
67 return __indword(H2I(Port));
68 }
69
70 VOID
71 NTAPI
72 WRITE_PORT_BUFFER_UCHAR(IN PUCHAR Port,
73 IN PUCHAR Buffer,
74 IN ULONG Count)
75 {
76 __outbytestring(H2I(Port), Buffer, Count);
77 }
78
79 VOID
80 NTAPI
81 WRITE_PORT_BUFFER_USHORT(IN PUSHORT Port,
82 IN PUSHORT Buffer,
83 IN ULONG Count)
84 {
85 __outwordstring(H2I(Port), Buffer, Count);
86 }
87
88 VOID
89 NTAPI
90 WRITE_PORT_BUFFER_ULONG(IN PULONG Port,
91 IN PULONG Buffer,
92 IN ULONG Count)
93 {
94 __outdwordstring(H2I(Port), Buffer, Count);
95 }
96
97 VOID
98 NTAPI
99 WRITE_PORT_UCHAR(IN PUCHAR Port,
100 IN UCHAR Value)
101 {
102 __outbyte(H2I(Port), Value);
103 }
104
105 VOID
106 NTAPI
107 WRITE_PORT_USHORT(IN PUSHORT Port,
108 IN USHORT Value)
109 {
110 __outword(H2I(Port), Value);
111 }
112
113 VOID
114 NTAPI
115 WRITE_PORT_ULONG(IN PULONG Port,
116 IN ULONG Value)
117 {
118 __outdword(H2I(Port), Value);
119 }
120
121 /* EOF */