- Add some more misc. public definitions and fix exfuncs.h so that it can be included...
[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 PLOADER_PARAMETER_BLOCK LoaderBlock
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 NTHALAPI
170 VOID
171 NTAPI
172 HalHandleNMI(
173 ULONG Unknown
174 );
175
176 //
177 // I/O Functions
178 //
179 NTHALAPI
180 VOID
181 NTAPI
182 IoAssignDriveLetters(
183 struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
184 PSTRING NtDeviceName,
185 PUCHAR NtSystemPath,
186 PSTRING NtSystemPathString
187 );
188
189 //
190 // Environment Functions
191 //
192 NTHALAPI
193 BOOLEAN
194 NTAPI
195 HalSetEnvironmentVariable(
196 IN PCH Name,
197 IN PCH Value
198 );
199
200 #endif
201 #endif