[INCLUDE]
[reactos.git] / reactos / include / psdk / driverspecs.h
1 /*
2 * PROJECT: ReactOS DDK
3 * COPYRIGHT: This file is in the Public Domain.
4 * FILE: driverspecs.h
5 * ABSTRACT: This header stubs out Driver Verifier annotations to
6 * allow drivers using them to compile with our header set.
7 */
8
9 #pragma once
10 #define DRIVERSPECS_H
11
12 #ifndef SPECSTRINGS_H
13 #include <specstrings.h>
14 #endif
15
16 #include <concurrencysal.h>
17
18 #ifdef _PREFAST_
19
20 // Stubs
21 #define ___drv_unit_internal_kernel_driver
22 #define ___drv_unit_kernel_code
23 #define ___drv_unit_kernel_driver
24 #define ___drv_unit_user_code
25 #define ___drv_unit_user_driver
26 #define __drv_acquiresCancelSpinLock
27 #define __drv_acquiresCriticalRegion
28 #define __drv_acquiresExclusiveResource(kind)
29 #define __drv_acquiresExclusiveResourceGlobal(kind,param)
30 #define __drv_acquiresPriorityRegion
31 #define __drv_acquiresResource(kind)
32 #define __drv_acquiresResourceGlobal(kind,param)
33 #define __drv_aliasesMem _Post_ _SA_annotes0(SAL_IsAliased)
34 #define __drv_allocatesMem(kind) _Post_ _SA_annotes1(SAL_NeedsRelease,__yes)
35 #define __drv_arg(expr,annotes)
36 #define __drv_at(expr,annotes)
37 #define __drv_callbackType(kind)
38 #define __drv_clearDoInit
39 #define __drv_completionType(kindlist)
40 #define __drv_constant
41 #define __drv_defined(x)
42 #define __drv_deref(annotes)
43 #define __drv_dispatchType_other
44 #define __drv_dispatchType(x)
45 #define __drv_floatRestored
46 #define __drv_floatSaved
47 #define __drv_floatUsed
48 #define __drv_formatString(kind)
49 #define __drv_freesMem(kind) _Post_ _SA_annotes1(SAL_NeedsRelease,__no)
50 #define __drv_fun(annotes)
51 #define __drv_functionClass
52 #define __drv_holdsCancelSpinLock()
53 #define __drv_holdsCriticalRegion()
54 #define __drv_holdsPriorityRegion()
55 #define __drv_in_deref(annotes)
56 #define __drv_in(annotes)
57 #define __drv_innerAcquiresGlobal(kind,param)
58 #define __drv_innerMustHoldGlobal(kind,param)
59 #define __drv_innerNeverHoldGlobal(kind,param)
60 #define __drv_innerReleasesGlobal(kind,param)
61 #define __drv_interlocked
62 #define __drv_IoGetDmaAdapter
63 #define __drv_isCancelIRQL
64 #define __drv_isObjectPointer
65 #define __drv_KMDF
66 #define __drv_maxFunctionIRQL
67 #define __drv_maxIRQL
68 #define __drv_minFunctionIRQL
69 #define __drv_minIRQL
70 #define __drv_Mode_impl(x)
71 #define __drv_mustHold(kind)
72 #define __drv_mustHoldCancelSpinLock
73 #define __drv_mustHoldCriticalRegion
74 #define __drv_mustHoldGlobal(kind,param)
75 #define __drv_mustHoldPriorityRegion
76 #define __drv_NDIS
77 #define __drv_neverHold(kind)
78 #define __drv_neverHoldCancelSpinLock
79 #define __drv_neverHoldCriticalRegion
80 #define __drv_neverHoldGlobal(kind,param)
81 #define __drv_neverHoldPriorityRegion
82 #define __drv_nonConstant
83 #define __drv_notInTry
84 #define __drv_notPointer
85 #define __drv_out_deref(annotes)
86 #define __drv_out(annotes)
87 #define __drv_preferredFunction(func,why)
88 #define __drv_raisesIRQL
89 #define __drv_releasesCancelSpinLock
90 #define __drv_releasesCriticalRegion
91 #define __drv_releasesExclusiveResource(kind)
92 #define __drv_releasesExclusiveResourceGlobal(kind,param)
93 #define __drv_releasesPriorityRegion
94 #define __drv_releasesResource(kind)
95 #define __drv_releasesResourceGlobal(kind,param)
96 #define __drv_reportError(why)
97 #define __drv_requiresIRQL
98 #define __drv_restoresIRQL
99 #define __drv_restoresIRQLGlobal
100 #define __drv_ret(annotes)
101 #define __drv_sameIRQL
102 #define __drv_savesIRQL
103 #define __drv_savesIRQLGlobal
104 #define __drv_setsIRQL(irql)
105 #define __drv_strictType(typename,mode)
106 #define __drv_strictTypeMatch(mode)
107 #define __drv_unit(p)
108 #define __drv_useCancelIRQL
109 #define __drv_valueIs(arglist)
110 #define __drv_WDM
111 #define __drv_when(cond,annotes)
112 #define __internal_kernel_driver
113 #define __kernel_code
114 #define __kernel_driver
115 #define __prefast_operator_new_null
116 #define __prefast_operator_new_throws
117 #define __user_code
118 #define __user_driver
119 #define _Dispatch_type_
120 #define _IRQL_always_function_max_(irql)
121 #define _IRQL_always_function_min_(irql)
122 #define _IRQL_is_cancel_
123 #define _IRQL_raises_(irql)
124 #define _IRQL_requires_(irql)
125 #define _IRQL_requires_max_(irql) _Pre_ _SA_annotes1(SAL_maxIRQL,irql)
126 #define _IRQL_requires_min_(irql)
127 #define _IRQL_requires_same_
128 #define _IRQL_restores_
129 #define _IRQL_restores_global_(kind,param)
130 #define _IRQL_saves_
131 #define _IRQL_saves_global_(kind,param)
132 #define _IRQL_uses_cancel_
133 #define _Kernel_clear_do_init_(yesNo)
134 #define _Kernel_float_restored_
135 #define _Kernel_float_saved_
136 #define _Kernel_float_used_
137 #define _Kernel_IoGetDmaAdapter_
138 #define _Kernel_releases_resource_(kind)
139 #define _Kernel_requires_resource_held_(kind)
140 #define _Kernel_requires_resource_not_held_(kind) _Pre_ _SA_annotes1(SAL_neverHold, #kind)
141 #define _Kernel_acquires_resource_(kind) _Post_ _SA_annotes1(SAL_acquire, #kind)
142
143 __ANNOTATION(SAL_maxIRQL(__int64);)
144 __ANNOTATION(SAL_IsAliased(void);)
145 __ANNOTATION(SAL_NeedsRelease(enum __SAL_YesNo);)
146 __ANNOTATION(SAL_neverHold(__In_impl_ char *);)
147 __ANNOTATION(SAL_acquire(__In_impl_ char *);)
148
149 #else
150
151 /* Dummys */
152 #define ___drv_unit_internal_kernel_driver
153 #define ___drv_unit_kernel_code
154 #define ___drv_unit_kernel_driver
155 #define ___drv_unit_user_code
156 #define ___drv_unit_user_driver
157 #define __drv_acquiresCancelSpinLock
158 #define __drv_acquiresCriticalRegion
159 #define __drv_acquiresExclusiveResource(kind)
160 #define __drv_acquiresExclusiveResourceGlobal(kind,param)
161 #define __drv_acquiresPriorityRegion
162 #define __drv_acquiresResource(kind)
163 #define __drv_acquiresResourceGlobal(kind,param)
164 #define __drv_aliasesMem
165 #define __drv_allocatesMem(kind)
166 #define __drv_arg(expr,annotes)
167 #define __drv_at(expr,annotes)
168 #define __drv_callbackType(kind)
169 #define __drv_clearDoInit
170 #define __drv_completionType(kindlist)
171 #define __drv_constant
172 #define __drv_defined(x)
173 #define __drv_deref(annotes)
174 #define __drv_dispatchType_other
175 #define __drv_dispatchType(x)
176 #define __drv_floatRestored
177 #define __drv_floatSaved
178 #define __drv_floatUsed
179 #define __drv_formatString(kind)
180 #define __drv_freesMem(kind)
181 #define __drv_fun(annotes)
182 #define __drv_functionClass
183 #define __drv_holdsCancelSpinLock()
184 #define __drv_holdsCriticalRegion()
185 #define __drv_holdsPriorityRegion()
186 #define __drv_in_deref(annotes)
187 #define __drv_in(annotes)
188 #define __drv_innerAcquiresGlobal(kind,param)
189 #define __drv_innerMustHoldGlobal(kind,param)
190 #define __drv_innerNeverHoldGlobal(kind,param)
191 #define __drv_innerReleasesGlobal(kind,param)
192 #define __drv_interlocked
193 #define __drv_IoGetDmaAdapter
194 #define __drv_isCancelIRQL
195 #define __drv_isObjectPointer
196 #define __drv_KMDF
197 #define __drv_maxFunctionIRQL
198 #define __drv_maxIRQL
199 #define __drv_minFunctionIRQL
200 #define __drv_minIRQL
201 #define __drv_Mode_impl(x)
202 #define __drv_mustHold(kind)
203 #define __drv_mustHoldCancelSpinLock
204 #define __drv_mustHoldCriticalRegion
205 #define __drv_mustHoldGlobal(kind,param)
206 #define __drv_mustHoldPriorityRegion
207 #define __drv_NDIS
208 #define __drv_neverHold(kind)
209 #define __drv_neverHoldCancelSpinLock
210 #define __drv_neverHoldCriticalRegion
211 #define __drv_neverHoldGlobal(kind,param)
212 #define __drv_neverHoldPriorityRegion
213 #define __drv_nonConstant
214 #define __drv_notInTry
215 #define __drv_notPointer
216 #define __drv_out_deref(annotes)
217 #define __drv_out(annotes)
218 #define __drv_preferredFunction(func,why)
219 #define __drv_raisesIRQL
220 #define __drv_releasesCancelSpinLock
221 #define __drv_releasesCriticalRegion
222 #define __drv_releasesExclusiveResource(kind)
223 #define __drv_releasesExclusiveResourceGlobal(kind,param)
224 #define __drv_releasesPriorityRegion
225 #define __drv_releasesResource(kind)
226 #define __drv_releasesResourceGlobal(kind,param)
227 #define __drv_reportError(why)
228 #define __drv_requiresIRQL
229 #define __drv_restoresIRQL
230 #define __drv_restoresIRQLGlobal
231 #define __drv_ret(annotes)
232 #define __drv_sameIRQL
233 #define __drv_savesIRQL
234 #define __drv_savesIRQLGlobal
235 #define __drv_setsIRQL(irql)
236 #define __drv_strictType(typename,mode)
237 #define __drv_strictTypeMatch(mode)
238 #define __drv_unit(p)
239 #define __drv_useCancelIRQL
240 #define __drv_valueIs(arglist)
241 #define __drv_WDM
242 #define __drv_when(cond,annotes)
243 #define __internal_kernel_driver
244 #define __kernel_code
245 #define __kernel_driver
246 #define __prefast_operator_new_null
247 #define __prefast_operator_new_throws
248 #define __user_code
249 #define __user_driver
250 #define _Dispatch_type_
251 #define _IRQL_always_function_max_(irql)
252 #define _IRQL_always_function_min_(irql)
253 #define _IRQL_is_cancel_
254 #define _IRQL_raises_(irql)
255 #define _IRQL_requires_(irql)
256 #define _IRQL_requires_max_(irql)
257 #define _IRQL_requires_min_(irql)
258 #define _IRQL_requires_same_
259 #define _IRQL_restores_
260 #define _IRQL_restores_global_(kind,param)
261 #define _IRQL_saves_
262 #define _IRQL_saves_global_(kind,param)
263 #define _IRQL_uses_cancel_
264 #define _Kernel_clear_do_init_(yesNo)
265 #define _Kernel_float_restored_
266 #define _Kernel_float_saved_
267 #define _Kernel_float_used_
268 #define _Kernel_IoGetDmaAdapter_
269 #define _Kernel_releases_resource_(kind)
270 #define _Kernel_requires_resource_held_(kind)
271 #define _Kernel_requires_resource_not_held_(kind)
272 #define _Kernel_acquires_resource_(kind)
273
274 #endif
275