- Update NDK with proper (when possible) RTL structure names that were previously...
[reactos.git] / reactos / include / ndk / kefuncs.h
1 /*
2 * PROJECT: ReactOS Native Headers
3 * FILE: include/ndk/kefuncs.h
4 * PURPOSE: Prototypes for Kernel Functions not defined in DDK/IFS
5 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
6 * UPDATE HISTORY:
7 * Created 06/10/04
8 */
9 #ifndef _KEFUNCS_H
10 #define _KEFUNCS_H
11
12 /* DEPENDENCIES **************************************************************/
13 #include "ketypes.h"
14
15 /* PROTOTYPES ****************************************************************/
16
17 BOOLEAN
18 NTAPI
19 KeAddSystemServiceTable(
20 PULONG_PTR Base,
21 PULONG Count OPTIONAL,
22 ULONG Limit,
23 PUCHAR Number,
24 ULONG Index
25 );
26
27 VOID
28 NTAPI
29 KeInitializeApc(
30 IN PKAPC Apc,
31 IN PKTHREAD Thread,
32 IN KAPC_ENVIRONMENT TargetEnvironment,
33 IN PKKERNEL_ROUTINE KernelRoutine,
34 IN PKRUNDOWN_ROUTINE RundownRoutine OPTIONAL,
35 IN PKNORMAL_ROUTINE NormalRoutine,
36 IN KPROCESSOR_MODE Mode,
37 IN PVOID Context
38 );
39
40 VOID
41 NTAPI
42 KeEnterKernelDebugger(VOID);
43
44 VOID
45 FASTCALL
46 KiAcquireSpinLock(
47 PKSPIN_LOCK SpinLock
48 );
49
50 VOID
51 FASTCALL
52 KiReleaseSpinLock(
53 PKSPIN_LOCK SpinLock
54 );
55
56 VOID
57 NTAPI
58 KiDeliverApc(
59 IN KPROCESSOR_MODE PreviousMode,
60 IN PVOID Reserved,
61 IN PKTRAP_FRAME TrapFrame
62 );
63
64 VOID
65 NTAPI
66 KiDispatchInterrupt(VOID);
67
68 VOID
69 NTAPI
70 KeTerminateThread(
71 IN KPRIORITY Increment
72 );
73
74 BOOLEAN
75 NTAPI
76 KeIsAttachedProcess(VOID);
77
78 BOOLEAN
79 NTAPI
80 KeIsExecutingDpc(
81 VOID
82 );
83
84 VOID
85 NTAPI
86 KeSetEventBoostPriority(
87 IN PKEVENT Event,
88 IN PKTHREAD *Thread OPTIONAL
89 );
90
91 PCONFIGURATION_COMPONENT_DATA
92 NTAPI
93 KeFindConfigurationNextEntry(
94 IN PCONFIGURATION_COMPONENT_DATA Child,
95 IN CONFIGURATION_CLASS Class,
96 IN CONFIGURATION_TYPE Type,
97 IN PULONG ComponentKey OPTIONAL,
98 IN PCONFIGURATION_COMPONENT_DATA *NextLink
99 );
100
101 PCONFIGURATION_COMPONENT_DATA
102 NTAPI
103 KeFindConfigurationEntry(
104 IN PCONFIGURATION_COMPONENT_DATA Child,
105 IN CONFIGURATION_CLASS Class,
106 IN CONFIGURATION_TYPE Type,
107 IN PULONG ComponentKey OPTIONAL
108 );
109
110 VOID
111 NTAPI
112 KeFlushEntireTb(
113 IN BOOLEAN Unknown,
114 IN BOOLEAN CurrentCpuOnly
115 );
116
117 VOID
118 NTAPI
119 KiCoprocessorError(
120 VOID
121 );
122
123 VOID
124 NTAPI
125 KiUnexpectedInterrupt(
126 VOID
127 );
128
129 VOID
130 NTAPI
131 KeSetDmaIoCoherency(
132 IN ULONG Coherency
133 );
134
135 VOID
136 NTAPI
137 KeSetProfileIrql(
138 IN KIRQL ProfileIrql
139 );
140
141 NTSTATUS
142 NTAPI
143 KeSetAffinityThread(
144 PKTHREAD Thread,
145 KAFFINITY Affinity
146 );
147
148 NTSTATUS
149 NTAPI
150 KeUserModeCallback(
151 IN ULONG FunctionID,
152 IN PVOID InputBuffer,
153 IN ULONG InputLength,
154 OUT PVOID *OutputBuffer,
155 OUT PULONG OutputLength
156 );
157
158 VOID
159 NTAPI
160 KeSetTimeIncrement(
161 IN ULONG MaxIncrement,
162 IN ULONG MinIncrement
163 );
164
165 VOID
166 NTAPI
167 KeInitializeInterrupt(
168 PKINTERRUPT InterruptObject,
169 PKSERVICE_ROUTINE ServiceRoutine,
170 PVOID ServiceContext,
171 PKSPIN_LOCK SpinLock,
172 ULONG Vector,
173 KIRQL Irql,
174 KIRQL SynchronizeIrql,
175 KINTERRUPT_MODE InterruptMode,
176 BOOLEAN ShareVector,
177 CHAR ProcessorNumber,
178 BOOLEAN FloatingSave
179 );
180
181 BOOLEAN
182 NTAPI
183 KeConnectInterrupt(
184 PKINTERRUPT InterruptObject
185 );
186
187 BOOLEAN
188 NTAPI
189 KeDisconnectInterrupt(
190 PKINTERRUPT InterruptObject
191 );
192
193 PKPROCESS
194 NTAPI
195 KeGetCurrentProcess(
196 VOID
197 );
198
199 VOID
200 KeSetGdtSelector(
201 ULONG Entry,
202 ULONG Value1,
203 ULONG Value2
204 );
205
206 NTSTATUS
207 NTAPI
208 KeRaiseUserException(
209 IN NTSTATUS ExceptionCode
210 );
211
212 #endif