ReactOS 0.4.15-dev-8058-ga7cbb60
specstrings_undef.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS PSDK
3 * LICENSE: MIT (https://spdx.org/licenses/MIT)
4 * PURPOSE: Undefines SAL definitions
5 * COPYRIGHT: Copyright 2020 Timo Kreuzer <timo.kreuzer@reactos.org>
6 */
7
8#pragma once
9
10#undef __ecount
11#undef __bcount
12#undef __xcount
13#undef __in
14#undef __in_ecount
15#undef __in_bcount
16#undef __in_xcount
17#undef __in_z
18#undef __in_ecount_z
19#undef __in_bcount_z
20#undef __out
21#undef __out_ecount
22#undef __out_bcount
23#undef __out_xcount
24#undef __out_ecount_part
25#undef __out_bcount_part
26#undef __out_xcount_part
27#undef __out_ecount_full
28#undef __out_bcount_full
29#undef __out_xcount_full
30#undef __out_z
31#undef __out_ecount_z
32#undef __out_bcount_z
33#undef __inout
34#undef __inout_ecount
35#undef __inout_bcount
36#undef __inout_xcount
37#undef __inout_ecount_part
38#undef __inout_bcount_part
39#undef __inout_xcount_part
40#undef __inout_ecount_full
41#undef __inout_bcount_full
42#undef __inout_xcount_full
43#undef __inout_z
44#undef __inout_ecount_z
45#undef __inout_bcount_z
46#undef __ecount_opt
47#undef __bcount_opt
48#undef __xcount_opt
49#undef __in_opt
50#undef __in_ecount_opt
51#undef __in_bcount_opt
52#undef __in_z_opt
53#undef __in_ecount_z_opt
54#undef __in_bcount_z_opt
55#undef __in_xcount_opt
56#undef __out_opt
57#undef __out_ecount_opt
58#undef __out_bcount_opt
59#undef __out_xcount_opt
60#undef __out_ecount_part_opt
61#undef __out_bcount_part_opt
62#undef __out_xcount_part_opt
63#undef __out_ecount_full_opt
64#undef __out_bcount_full_opt
65#undef __out_xcount_full_opt
66#undef __out_ecount_z_opt
67#undef __out_bcount_z_opt
68#undef __inout_opt
69#undef __inout_ecount_opt
70#undef __inout_bcount_opt
71#undef __inout_xcount_opt
72#undef __inout_ecount_part_opt
73#undef __inout_bcount_part_opt
74#undef __inout_xcount_part_opt
75#undef __inout_ecount_full_opt
76#undef __inout_bcount_full_opt
77#undef __inout_xcount_full_opt
78#undef __inout_z_opt
79#undef __inout_ecount_z_opt
80#undef __inout_ecount_z_opt
81#undef __inout_bcount_z_opt
82#undef __deref_ecount
83#undef __deref_bcount
84#undef __deref_xcount
85#undef __deref_in
86#undef __deref_in_ecount
87#undef __deref_in_bcount
88#undef __deref_in_xcount
89#undef __deref_out
90#undef __deref_out_ecount
91#undef __deref_out_bcount
92#undef __deref_out_xcount
93#undef __deref_out_ecount_part
94#undef __deref_out_bcount_part
95#undef __deref_out_xcount_part
96#undef __deref_out_ecount_full
97#undef __deref_out_bcount_full
98#undef __deref_out_xcount_full
99#undef __deref_out_z
100#undef __deref_out_ecount_z
101#undef __deref_out_bcount_z
102#undef __deref_inout
103#undef __deref_inout_ecount
104#undef __deref_inout_bcount
105#undef __deref_inout_xcount
106#undef __deref_inout_ecount_part
107#undef __deref_inout_bcount_part
108#undef __deref_inout_xcount_part
109#undef __deref_inout_ecount_full
110#undef __deref_inout_bcount_full
111#undef __deref_inout_xcount_full
112#undef __deref_inout_z
113#undef __deref_inout_ecount_z
114#undef __deref_inout_bcount_z
115#undef __deref_ecount_opt
116#undef __deref_bcount_opt
117#undef __deref_xcount_opt
118#undef __deref_in_opt
119#undef __deref_in_opt_out
120#undef __deref_in_ecount_opt
121#undef __deref_in_bcount_opt
122#undef __deref_in_xcount_opt
123#undef __deref_out_opt
124#undef __deref_out_ecount_opt
125#undef __deref_out_bcount_opt
126#undef __deref_out_xcount_opt
127#undef __deref_out_ecount_part_opt
128#undef __deref_out_bcount_part_opt
129#undef __deref_out_xcount_part_opt
130#undef __deref_out_ecount_full_opt
131#undef __deref_out_bcount_full_opt
132#undef __deref_out_xcount_full_opt
133#undef __deref_out_z_opt
134#undef __deref_out_ecount_z_opt
135#undef __deref_out_bcount_z_opt
136#undef __deref_inout_opt
137#undef __deref_inout_ecount_opt
138#undef __deref_inout_bcount_opt
139#undef __deref_inout_xcount_opt
140#undef __deref_inout_ecount_part_opt
141#undef __deref_inout_bcount_part_opt
142#undef __deref_inout_xcount_part_opt
143#undef __deref_inout_ecount_full_opt
144#undef __deref_inout_bcount_full_opt
145#undef __deref_inout_xcount_full_opt
146#undef __deref_inout_z_opt
147#undef __deref_inout_ecount_z_opt
148#undef __deref_inout_bcount_z_opt
149#undef __deref_opt_ecount
150#undef __deref_opt_bcount
151#undef __deref_opt_xcount
152#undef __deref_opt_in
153#undef __deref_opt_in_ecount
154#undef __deref_opt_in_bcount
155#undef __deref_opt_in_xcount
156#undef __deref_opt_out
157#undef __deref_opt_out_ecount
158#undef __deref_opt_out_bcount
159#undef __deref_opt_out_xcount
160#undef __deref_opt_out_ecount_part
161#undef __deref_opt_out_bcount_part
162#undef __deref_opt_out_xcount_part
163#undef __deref_opt_out_ecount_full
164#undef __deref_opt_out_bcount_full
165#undef __deref_opt_out_xcount_full
166#undef __deref_opt_inout
167#undef __deref_opt_inout_ecount
168#undef __deref_opt_inout_bcount
169#undef __deref_opt_inout_xcount
170#undef __deref_opt_inout_ecount_part
171#undef __deref_opt_inout_bcount_part
172#undef __deref_opt_inout_xcount_part
173#undef __deref_opt_inout_ecount_full
174#undef __deref_opt_inout_bcount_full
175#undef __deref_opt_inout_xcount_full
176#undef __deref_opt_inout_z
177#undef __deref_opt_inout_ecount_z
178#undef __deref_opt_inout_bcount_z
179#undef __deref_opt_ecount_opt
180#undef __deref_opt_bcount_opt
181#undef __deref_opt_xcount_opt
182#undef __deref_opt_in_opt
183#undef __deref_opt_in_ecount_opt
184#undef __deref_opt_in_bcount_opt
185#undef __deref_opt_in_xcount_opt
186#undef __deref_opt_out_opt
187#undef __deref_opt_out_ecount_opt
188#undef __deref_opt_out_bcount_opt
189#undef __deref_opt_out_xcount_opt
190#undef __deref_opt_out_ecount_part_opt
191#undef __deref_opt_out_bcount_part_opt
192#undef __deref_opt_out_xcount_part_opt
193#undef __deref_opt_out_ecount_full_opt
194#undef __deref_opt_out_bcount_full_opt
195#undef __deref_opt_out_xcount_full_opt
196#undef __deref_opt_out_z_opt
197#undef __deref_opt_out_ecount_z_opt
198#undef __deref_opt_out_bcount_z_opt
199#undef __deref_opt_inout_opt
200#undef __deref_opt_inout_ecount_opt
201#undef __deref_opt_inout_bcount_opt
202#undef __deref_opt_inout_xcount_opt
203#undef __deref_opt_inout_ecount_part_opt
204#undef __deref_opt_inout_bcount_part_opt
205#undef __deref_opt_inout_xcount_part_opt
206#undef __deref_opt_inout_ecount_full_opt
207#undef __deref_opt_inout_bcount_full_opt
208#undef __deref_opt_inout_xcount_full_opt
209#undef __deref_opt_inout_z_opt
210#undef __deref_opt_inout_ecount_z_opt
211#undef __deref_opt_inout_bcount_z_opt
212#undef __deref_in_ecount_iterator
213#undef __deref_out_ecount_iterator
214#undef __deref_inout_ecount_iterator
215#undef __deref_realloc_bcount
216
217/************************************************************************
218* SAL 2 _Ouptr_ family of annotations
219************************************************************************/
220
221#undef _Outptr_
222#undef _Outptr_result_maybenull_
223#undef _Outptr_opt_
224#undef _Outptr_opt_result_maybenull_
225#undef _Outptr_result_z_
226#undef _Outptr_opt_result_z_
227#undef _Outptr_result_maybenull_z_
228#undef _Outptr_opt_result_maybenull_z_
229#undef _Outptr_result_nullonfailure_
230#undef _Outptr_opt_result_nullonfailure_
231#undef _COM_Outptr_
232#undef _COM_Outptr_result_maybenull_
233#undef _COM_Outptr_opt_
234#undef _COM_Outptr_opt_result_maybenull_
235#undef _Outptr_result_buffer_
236#undef _Outptr_opt_result_buffer_
237#undef _Outptr_result_buffer_to_
238#undef _Outptr_opt_result_buffer_to_
239#undef _Outptr_result_buffer_all_
240#undef _Outptr_opt_result_buffer_all_
241#undef _Outptr_result_buffer_maybenull_
242#undef _Outptr_opt_result_buffer_maybenull_
243#undef _Outptr_result_buffer_to_maybenull_
244#undef _Outptr_opt_result_buffer_to_maybenull_
245#undef _Outptr_result_buffer_all_maybenull_
246#undef _Outptr_opt_result_buffer_all_maybenull_
247#undef _Outptr_result_bytebuffer_
248#undef _Outptr_opt_result_bytebuffer_
249#undef _Outptr_result_bytebuffer_to_
250#undef _Outptr_opt_result_bytebuffer_to_
251#undef _Outptr_result_bytebuffer_all_
252#undef _Outptr_opt_result_bytebuffer_all_
253#undef _Outptr_result_bytebuffer_maybenull_
254#undef _Outptr_opt_result_bytebuffer_maybenull_
255#undef _Outptr_result_bytebuffer_to_maybenull_
256#undef _Outptr_opt_result_bytebuffer_to_maybenull_
257#undef _Outptr_result_bytebuffer_all_maybenull_
258#undef _Outptr_opt_result_bytebuffer_all_maybenull_
259
260/************************************************************************
261* Orcas SAL
262************************************************************************/
263#undef _Deref_out_
264#undef _Deref_out_opt_
265#undef _Deref_opt_out_
266#undef _Deref_opt_out_opt_
267#undef _In_count_
268#undef _In_opt_count_
269#undef _In_bytecount_
270#undef _In_opt_bytecount_
271#undef _Out_cap_
272#undef _Out_opt_cap_
273#undef _Out_bytecap_
274#undef _Out_opt_bytecap_
275#undef _Deref_post_count_
276#undef _Deref_post_opt_count_
277#undef _Deref_post_bytecount_
278#undef _Deref_post_opt_bytecount_
279#undef _Deref_post_cap_
280#undef _Deref_post_opt_cap_
281#undef _Deref_post_bytecap_
282#undef _Deref_post_opt_bytecap_
283
284/************************************************************************
285* Advanced Annotations
286************************************************************************/
287#undef _At_
288#undef _When_
289#undef __success
290#undef __out_awcount
291#undef __in_awcount
292#undef __nullterminated
293#undef __nullnullterminated
294#undef __reserved
295#undef __checkReturn
296#undef __typefix
297#undef __override
298#undef __callback
299#undef __format_string
300#undef __blocksOn
301#undef __fallthrough
302#undef __range
303#undef __in_range
304#undef __out_range
305#undef __deref_in_range
306#undef __deref_out_range
307#undef __deref_inout_range
308#undef __field_range
309#undef __range_max
310#undef __range_min
311#undef __bound
312#undef __in_bound
313#undef __out_bound
314#undef __deref_out_bound
315#undef __assume_bound
316#undef __analysis_assume_nullterminated
317#undef __allocator
318#undef __deallocate
319#undef __deallocate_opt
320#undef __post_invalid
321#undef __post_nullnullterminated
322/***************************************************************************
323* Expert Macros
324***************************************************************************/
325#undef __null
326#undef __notnull
327#undef __maybenull
328#undef __exceptthat
329/***************************************************************************
330* Macros to classify fields of structures.
331****************************************************************************/
332#undef __field_ecount
333#undef __field_bcount
334#undef __field_xcount
335#undef __field_ecount_opt
336#undef __field_bcount_opt
337#undef __field_xcount_opt
338#undef __field_ecount_part
339#undef __field_bcount_part
340#undef __field_xcount_part
341#undef __field_ecount_part_opt
342#undef __field_bcount_part_opt
343#undef __field_xcount_part_opt
344#undef __field_ecount_full
345#undef __field_bcount_full
346#undef __field_xcount_full
347#undef __field_ecount_full_opt
348#undef __field_bcount_full_opt
349#undef __field_xcount_full_opt
350#undef __field_nullterminated
351#undef __struct_bcount
352#undef __struct_xcount
353
354/***************************************************************************
355* Macros to classify the entrypoints and indicate their category.
356***************************************************************************/
357#undef __control_entrypoint
358#undef __rpc_entry
359#undef __kernel_entry
360#undef __gdi_entry
361
362/***************************************************************************
363* Macros to track untrusted data and their validation.
364***************************************************************************/
365#undef __in_data_source
366#undef __out_data_source
367#undef __field_data_source
368#undef __this_out_data_source
369
370/**************************************************************************
371* Macros to tag file parsing code.
372**************************************************************************/
373#undef __out_validated
374#undef __this_out_validated
375#undef __file_parser
376#undef __file_parser_class
377#undef __file_parser_library
378
379/***************************************************************************
380* Macros to track the code content in the file.
381***************************************************************************/
382#undef __source_code_content
383
384/***************************************************************************
385* Macros to track the code content in the class.
386***************************************************************************/
387#undef __class_code_content
388
389/*************************************************************************
390* Macros to tag encoded function pointers
391**************************************************************************/
392#undef __encoded_pointer
393#undef __encoded_array
394#undef __field_encoded_pointer
395#undef __field_encoded_array
396
397#undef __transfer
398#undef __assume_validated
399
400/*************************************************************************
401* __analysis_assume
402*************************************************************************/
403#undef __analysis_assume
404#undef __analysis_assert
405
406/*************************************************************************
407* __analysis_hint
408*************************************************************************/
409#undef __analysis_hint
410
411/*************************************************************************
412* Macros to encode abstract properties of values. Used by SALadt.h
413*************************************************************************/
414#undef __type_has_adt_prop
415#undef __out_has_adt_prop
416#undef __out_not_has_adt_prop
417#undef __out_transfer_adt_prop
418#undef __out_has_type_adt_props
419
420/*************************************************************************
421* Macros used by Prefast for Drivers
422*************************************************************************/
423#undef __possibly_notnullterminated
424
425/*************************************************************************
426* Advanced macros
427*************************************************************************/
428#undef __volatile
429#undef __deref_volatile
430#undef __nonvolatile
431#undef __deref_nonvolatile
432
433/*************************************************************************
434* Macros deprecated with strict level greater then 1.
435**************************************************************************/
436#undef __in_nz
437#undef __in_ecount_nz
438#undef __in_bcount_nz
439#undef __out_nz
440#undef __out_nz_opt
441#undef __out_ecount_nz
442#undef __out_bcount_nz
443#undef __inout_nz
444#undef __inout_ecount_nz
445#undef __inout_bcount_nz
446#undef __in_nz_opt
447#undef __in_ecount_nz_opt
448#undef __in_bcount_nz_opt
449#undef __out_ecount_nz_opt
450#undef __out_bcount_nz_opt
451#undef __inout_nz_opt
452#undef __inout_ecount_nz_opt
453#undef __inout_bcount_nz_opt
454#undef __deref_out_nz
455#undef __deref_out_ecount_nz
456#undef __deref_out_bcount_nz
457#undef __deref_inout_nz
458#undef __deref_inout_ecount_nz
459#undef __deref_inout_bcount_nz
460#undef __deref_out_nz_opt
461#undef __deref_out_ecount_nz_opt
462#undef __deref_out_bcount_nz_opt
463#undef __deref_inout_nz_opt
464#undef __deref_inout_ecount_nz_opt
465#undef __deref_inout_bcount_nz_opt
466#undef __deref_opt_inout_nz
467#undef __deref_opt_inout_ecount_nz
468#undef __deref_opt_inout_bcount_nz
469#undef __deref_opt_out_nz_opt
470#undef __deref_opt_out_ecount_nz_opt
471#undef __deref_opt_out_bcount_nz_opt
472#undef __deref_opt_inout_nz_opt
473#undef __deref_opt_inout_ecount_nz_opt
474#undef __deref_opt_inout_bcount_nz_opt
475#undef __deref
476#undef __pre
477#undef __post
478#undef __readableTo
479#undef __writableTo
480#undef __maybevalid
481#undef __inexpressible_readableTo
482#undef __data_entrypoint
483#undef __readonly
484#undef __byte_writableTo
485#undef __byte_readableTo
486#undef __elem_readableTo
487#undef __elem_writableTo
488#undef __valid
489#undef __notvalid
490#undef __refparam
491#undef __precond