- Update NDK to remove zwfuncs.h and place the native functions in their respective...
[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 BOOLEAN
34 NTAPI
35 HalQueryDisplayOwnership(
36 VOID
37 );
38
39 VOID
40 NTAPI
41 HalDisplayString(
42 IN PCHAR String
43 );
44
45 BOOLEAN
46 NTAPI
47 HalQueryDisplayOwnership(
48 VOID
49 );
50
51 VOID
52 NTAPI
53 HalReleaseDisplayOwnership(
54 VOID
55 );
56
57 //
58 // Initialization Functions
59 //
60 BOOLEAN
61 NTAPI
62 HalAllProcessorsStarted(
63 VOID
64 );
65
66 VOID
67 NTAPI
68 HalInitializeProcessor(
69 ULONG ProcessorNumber,
70 PVOID ProcessorStack
71 );
72
73 BOOLEAN
74 NTAPI
75 HalInitSystem(
76 ULONG BootPhase,
77 PLOADER_PARAMETER_BLOCK LoaderBlock
78 );
79
80 VOID
81 NTAPI
82 HalReturnToFirmware(
83 FIRMWARE_REENTRY Action
84 );
85
86 BOOLEAN
87 NTAPI
88 HalStartNextProcessor(
89 ULONG Unknown1,
90 ULONG Unknown2
91 );
92
93 //
94 // Interrupt Functions
95 //
96 BOOLEAN
97 NTAPI
98 HalBeginSystemInterrupt(
99 ULONG Vector,
100 KIRQL Irql,
101 PKIRQL OldIrql
102 );
103
104 BOOLEAN
105 NTAPI
106 HalDisableSystemInterrupt(
107 ULONG Vector,
108 KIRQL Irql
109 );
110
111 BOOLEAN
112 NTAPI
113 HalEnableSystemInterrupt(
114 ULONG Vector,
115 KIRQL Irql,
116 KINTERRUPT_MODE InterruptMode
117 );
118
119 VOID
120 NTAPI
121 HalEndSystemInterrupt(
122 KIRQL Irql,
123 ULONG Vector
124 );
125
126 BOOLEAN
127 NTAPI
128 HalGetEnvironmentVariable(
129 PCH Name,
130 PCH Value,
131 USHORT ValueLength
132 );
133
134 VOID
135 NTAPI
136 HalReportResourceUsage(
137 VOID
138 );
139
140 VOID
141 FASTCALL
142 HalRequestSoftwareInterrupt(
143 KIRQL SoftwareInterruptRequested
144 );
145
146 VOID
147 NTAPI
148 HalRequestIpi(
149 ULONG Unknown
150 );
151
152 //
153 // I/O Functions
154 //
155 VOID
156 NTAPI
157 IoAssignDriveLetters(
158 struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
159 PSTRING NtDeviceName,
160 PUCHAR NtSystemPath,
161 PSTRING NtSystemPathString
162 );
163
164 //
165 // Environment Functions
166 //
167 BOOLEAN
168 NTAPI
169 HalSetEnvironmentVariable(
170 IN PCH Name,
171 IN PCH Value
172 );
173
174 #endif
175 #endif