4ad28dfd647c57f5ea09feb929e8035327391df1
[reactos.git] / reactos / include / ndk / halfuncs.h
1 /*++ NDK Version: 0095
2
3 Copyright (c) Alex Ionescu. All rights reserved.
4
5 Header Name:
6
7 halfuncs.h
8
9 Abstract:
10
11 Function definitions for the HAL.
12
13 Author:
14
15 Alex Ionescu (alex.ionescu@reactos.com) 06-Oct-2004
16
17 --*/
18
19 #ifndef _HALFUNCS_H
20 #define _HALFUNCS_H
21
22 //
23 // Dependencies
24 //
25 #include <umtypes.h>
26 #include <haltypes.h>
27
28 #ifndef NTOS_MODE_USER
29
30 //
31 // Display Functions
32 //
33 NTHALAPI
34 BOOLEAN
35 NTAPI
36 HalQueryDisplayOwnership(
37 VOID
38 );
39
40 NTHALAPI
41 VOID
42 NTAPI
43 HalDisplayString(
44 IN PCHAR String
45 );
46
47 NTHALAPI
48 BOOLEAN
49 NTAPI
50 HalQueryDisplayOwnership(
51 VOID
52 );
53
54 NTHALAPI
55 VOID
56 NTAPI
57 HalReleaseDisplayOwnership(
58 VOID
59 );
60
61 //
62 // Initialization Functions
63 //
64 NTHALAPI
65 BOOLEAN
66 NTAPI
67 HalAllProcessorsStarted(
68 VOID
69 );
70
71 NTHALAPI
72 VOID
73 NTAPI
74 HalInitializeProcessor(
75 ULONG ProcessorNumber,
76 PVOID ProcessorStack
77 );
78
79 NTHALAPI
80 BOOLEAN
81 NTAPI
82 HalInitSystem(
83 ULONG BootPhase,
84 PLOADER_PARAMETER_BLOCK LoaderBlock
85 );
86
87 NTHALAPI
88 VOID
89 NTAPI
90 HalReturnToFirmware(
91 FIRMWARE_REENTRY Action
92 );
93
94 NTHALAPI
95 BOOLEAN
96 NTAPI
97 HalStartNextProcessor(
98 ULONG Unknown1,
99 ULONG Unknown2
100 );
101
102 //
103 // Interrupt Functions
104 //
105 NTHALAPI
106 BOOLEAN
107 NTAPI
108 HalBeginSystemInterrupt(
109 ULONG Vector,
110 KIRQL Irql,
111 PKIRQL OldIrql
112 );
113
114 NTHALAPI
115 BOOLEAN
116 NTAPI
117 HalDisableSystemInterrupt(
118 ULONG Vector,
119 KIRQL Irql
120 );
121
122 NTHALAPI
123 BOOLEAN
124 NTAPI
125 HalEnableSystemInterrupt(
126 ULONG Vector,
127 KIRQL Irql,
128 KINTERRUPT_MODE InterruptMode
129 );
130
131 NTHALAPI
132 VOID
133 NTAPI
134 HalEndSystemInterrupt(
135 KIRQL Irql,
136 ULONG Vector
137 );
138
139 NTHALAPI
140 BOOLEAN
141 NTAPI
142 HalGetEnvironmentVariable(
143 PCH Name,
144 PCH Value,
145 USHORT ValueLength
146 );
147
148 NTHALAPI
149 VOID
150 NTAPI
151 HalReportResourceUsage(
152 VOID
153 );
154
155 NTHALAPI
156 VOID
157 FASTCALL
158 HalRequestSoftwareInterrupt(
159 KIRQL SoftwareInterruptRequested
160 );
161
162 NTHALAPI
163 VOID
164 NTAPI
165 HalRequestIpi(
166 ULONG Unknown
167 );
168
169 //
170 // I/O Functions
171 //
172 NTHALAPI
173 VOID
174 NTAPI
175 IoAssignDriveLetters(
176 struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
177 PSTRING NtDeviceName,
178 PUCHAR NtSystemPath,
179 PSTRING NtSystemPathString
180 );
181
182 //
183 // Environment Functions
184 //
185 NTHALAPI
186 BOOLEAN
187 NTAPI
188 HalSetEnvironmentVariable(
189 IN PCH Name,
190 IN PCH Value
191 );
192
193 #endif
194 #endif