ReactOS 0.4.15-dev-8236-g99f0937
no_sal2.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS PSDK
3 * LICENSE: MIT (https://spdx.org/licenses/MIT)
4 * PURPOSE: Renders the SAL annotations for documenting APIs harmless.
5 * COPYRIGHT: Microsoft Corporation.
6 * SOURCE: https://github.com/microsoft/ChakraCore/blob/master/pal/inc/rt/no_sal2.h
7 */
8//
9// Copyright (c) Microsoft. All rights reserved.
10// Licensed under the MIT license. See LICENSE file in the project root for full license information.
11//
12
13
14/***
15* no_sal2.h - renders the SAL annotations for documenting APIs harmless.
16*
17
18*
19*Purpose:
20* sal.h provides a set of SAL2 annotations to describe how a function uses its
21* parameters - the assumptions it makes about them, and the guarantees it makes
22* upon finishing. This file redefines all those annotation macros to be harmless.
23* It is designed for use in down-level build environments where the tooling may
24* be unhappy with the standard SAL2 macro definitions.
25*
26* [Public]
27*
28
29*
30****/
31
32#ifndef _NO_SAL_2_H_
33#define _NO_SAL_2_H_
34
35#undef __notnull
36#define __notnull
37#undef _When_
38#define _When_(c,a)
39#undef _At_
40#define _At_(t,a)
41#undef _At_buffer_
42#define _At_buffer_(t,i,c,a)
43#undef _Group_
44#define _Group_(a)
45#undef _Pre_
46#define _Pre_
47#undef _Post_
48#define _Post_
49#undef _Deref_
50#define _Deref_
51#undef _Null_
52#define _Null_
53#undef _Notnull_
54#define _Notnull_
55#undef _Maybenull_
56#define _Maybenull_
57#undef _Const_
58#define _Const_
59#undef _Check_return_
60#define _Check_return_
61#undef _Must_inspect_result_
62#define _Must_inspect_result_
63#undef _Pre_satisfies_
64#define _Pre_satisfies_(e)
65#undef _Post_satisfies_
66#define _Post_satisfies_(e)
67#undef _Writable_elements_
68#define _Writable_elements_(s)
69#undef _Writable_bytes_
70#define _Writable_bytes_(s)
71#undef _Readable_elements_
72#define _Readable_elements_(s)
73#undef _Readable_bytes_
74#define _Readable_bytes_(s)
75#undef _Null_terminated_
76#define _Null_terminated_
77#undef _NullNull_terminated_
78#define _NullNull_terminated_
79#undef _Valid_
80#define _Valid_
81#undef _Notvalid_
82#define _Notvalid_
83#undef _Success_
84#define _Success_(c)
85#undef _Return_type_success_
86#define _Return_type_success_(c)
87#undef _On_failure_
88#define _On_failure_(a)
89#undef _Always_
90#define _Always_(a)
91#undef _Use_decl_annotations_
92#define _Use_decl_annotations_
93#undef _Pre_defensive_
94#define _Pre_defensive_
95#undef _Post_defensive_
96#define _Post_defensive_
97#undef _Pre_unknown_
98#define _Pre_unknown_
99#undef _Acquires_lock_
100#define _Acquires_lock_(e)
101#undef _Releases_lock_
102#define _Releases_lock_(e)
103#undef _Requires_lock_held_
104#define _Requires_lock_held_(e)
105#undef _Requires_lock_not_held_
106#define _Requires_lock_not_held_(e)
107#undef _Requires_no_locks_held_
108#define _Requires_no_locks_held_
109#undef _Guarded_by_
110#define _Guarded_by_(e)
111#undef _Write_guarded_by_
112#define _Write_guarded_by_(e)
113#undef _Interlocked_
114#define _Interlocked_
115#undef _Post_same_lock_
116#define _Post_same_lock_(e1,e2)
117#undef _Benign_race_begin_
118#define _Benign_race_begin_
119#undef _Benign_race_end_
120#define _Benign_race_end_
121#undef _No_competing_thread_
122#define _No_competing_thread_
123#undef _No_competing_thread_begin_
124#define _No_competing_thread_begin_
125#undef _No_competing_thread_end_
126#define _No_competing_thread_end_
127#undef _Acquires_shared_lock_
128#define _Acquires_shared_lock_(e)
129#undef _Releases_shared_lock_
130#define _Releases_shared_lock_(e)
131#undef _Requires_shared_lock_held_
132#define _Requires_shared_lock_held_(e)
133#undef _Acquires_exclusive_lock_
134#define _Acquires_exclusive_lock_(e)
135#undef _Releases_exclusive_lock_
136#define _Releases_exclusive_lock_(e)
137#undef _Requires_exclusive_lock_held_
138#define _Requires_exclusive_lock_held_(e)
139#undef _Has_lock_kind_
140#define _Has_lock_kind_(n)
141#undef _Create_lock_level_
142#define _Create_lock_level_(n)
143#undef _Has_lock_level_
144#define _Has_lock_level_(n)
145#undef _Lock_level_order_
146#define _Lock_level_order_(n1,n2)
147#undef _Analysis_assume_lock_acquired_
148#define _Analysis_assume_lock_acquired_(e)
149#undef _Analysis_assume_lock_released_
150#define _Analysis_assume_lock_released_(e)
151#undef _Analysis_assume_lock_held_
152#define _Analysis_assume_lock_held_(e)
153#undef _Analysis_assume_lock_not_held_
154#define _Analysis_assume_lock_not_held_(e)
155#undef _Analysis_assume_same_lock_
156#define _Analysis_assume_same_lock_(e)
157#undef _In_
158#define _In_
159#undef _Out_
160#define _Out_
161#undef _Inout_
162#define _Inout_
163#undef _In_z_
164#define _In_z_
165#undef _Inout_z_
166#define _Inout_z_
167#undef _In_reads_
168#define _In_reads_(s)
169#undef _In_reads_bytes_
170#define _In_reads_bytes_(s)
171#undef _In_reads_z_
172#define _In_reads_z_(s)
173#undef _In_reads_or_z_
174#define _In_reads_or_z_(s)
175#undef _Out_writes_
176#define _Out_writes_(s)
177#undef _Out_writes_bytes_
178#define _Out_writes_bytes_(s)
179#undef _Out_writes_z_
180#define _Out_writes_z_(s)
181#undef _Inout_updates_
182#define _Inout_updates_(s)
183#undef _Inout_updates_bytes_
184#define _Inout_updates_bytes_(s)
185#undef _Inout_updates_z_
186#define _Inout_updates_z_(s)
187#undef _Out_writes_to_
188#define _Out_writes_to_(s,c)
189#undef _Out_writes_bytes_to_
190#define _Out_writes_bytes_to_(s,c)
191#undef _Out_writes_all_
192#define _Out_writes_all_(s)
193#undef _Out_writes_bytes_all_
194#define _Out_writes_bytes_all_(s)
195#undef _Inout_updates_to_
196#define _Inout_updates_to_(s,c)
197#undef _Inout_updates_bytes_to_
198#define _Inout_updates_bytes_to_(s,c)
199#undef _Inout_updates_all_
200#define _Inout_updates_all_(s)
201#undef _Inout_updates_bytes_all_
202#define _Inout_updates_bytes_all_(s)
203#undef _In_reads_to_ptr_
204#define _In_reads_to_ptr_(p)
205#undef _In_reads_to_ptr_z_
206#define _In_reads_to_ptr_z_(p)
207#undef _Out_writes_to_ptr_
208#define _Out_writes_to_ptr_(p)
209#undef _Out_writes_to_ptr_z_
210#define _Out_writes_to_ptr_z_(p)
211#undef _In_opt_
212#define _In_opt_
213#undef _Out_opt_
214#define _Out_opt_
215#undef _Inout_opt_
216#define _Inout_opt_
217#undef _In_opt_z_
218#define _In_opt_z_
219#undef _Inout_opt_z_
220#define _Inout_opt_z_
221#undef _In_reads_opt_
222#define _In_reads_opt_(s)
223#undef _In_reads_bytes_opt_
224#define _In_reads_bytes_opt_(s)
225#undef _Out_writes_opt_
226#define _Out_writes_opt_(s)
227#undef _Out_writes_bytes_opt_
228#define _Out_writes_bytes_opt_(s)
229#undef _Out_writes_opt_z_
230#define _Out_writes_opt_z_(s)
231#undef _Inout_updates_opt_
232#define _Inout_updates_opt_(s)
233#undef _Inout_updates_bytes_opt_
234#define _Inout_updates_bytes_opt_(s)
235#undef _Inout_updates_opt_z_
236#define _Inout_updates_opt_z_(s)
237#undef _Out_writes_to_opt_
238#define _Out_writes_to_opt_(s,c)
239#undef _Out_writes_bytes_to_opt_
240#define _Out_writes_bytes_to_opt_(s,c)
241#undef _Out_writes_all_opt_
242#define _Out_writes_all_opt_(s)
243#undef _Out_writes_bytes_all_opt_
244#define _Out_writes_bytes_all_opt_(s)
245#undef _Inout_updates_to_opt_
246#define _Inout_updates_to_opt_(s,c)
247#undef _Inout_updates_bytes_to_opt_
248#define _Inout_updates_bytes_to_opt_(s,c)
249#undef _Inout_updates_all_opt_
250#define _Inout_updates_all_opt_(s)
251#undef _Inout_updates_bytes_all_opt_
252#define _Inout_updates_bytes_all_opt_(s)
253#undef _In_reads_to_ptr_opt_
254#define _In_reads_to_ptr_opt_(p)
255#undef _In_reads_to_ptr_opt_z_
256#define _In_reads_to_ptr_opt_z_(p)
257#undef _Out_writes_to_ptr_opt_
258#define _Out_writes_to_ptr_opt_(p)
259#undef _Out_writes_to_ptr_opt_z_
260#define _Out_writes_to_ptr_opt_z_(p)
261#undef _Outptr_
262#define _Outptr_
263#undef _Outptr_opt_
264#define _Outptr_opt_
265#undef _Outptr_result_maybenull_
266#define _Outptr_result_maybenull_
267#undef _Outptr_opt_result_maybenull_
268#define _Outptr_opt_result_maybenull_
269#undef _Outptr_z_
270#define _Outptr_z_
271#undef _Outptr_opt_z_
272#define _Outptr_opt_z_
273#undef _Outptr_result_maybenull_z_
274#define _Outptr_result_maybenull_z_
275#undef _Outptr_opt_result_maybenull_z_
276#define _Outptr_opt_result_maybenull_z_
277#undef _COM_Outptr_
278#define _COM_Outptr_
279#undef _COM_Outptr_opt_
280#define _COM_Outptr_opt_
281#undef _COM_Outptr_result_maybenull_
282#define _COM_Outptr_result_maybenull_
283#undef _COM_Outptr_opt_result_maybenull_
284#define _COM_Outptr_opt_result_maybenull_
285#undef _Outptr_result_buffer_
286#define _Outptr_result_buffer_(s)
287#undef _Outptr_result_bytebuffer_
288#define _Outptr_result_bytebuffer_(s)
289#undef _Outptr_opt_result_buffer_
290#define _Outptr_opt_result_buffer_(s)
291#undef _Outptr_opt_result_bytebuffer_
292#define _Outptr_opt_result_bytebuffer_(s)
293#undef _Outptr_result_buffer_to_
294#define _Outptr_result_buffer_to_(s,c)
295#undef _Outptr_result_bytebuffer_to_
296#define _Outptr_result_bytebuffer_to_(s,c)
297#undef _Outptr_opt_result_buffer_to_
298#define _Outptr_opt_result_buffer_to_(s,c)
299#undef _Outptr_opt_result_bytebuffer_to_
300#define _Outptr_opt_result_bytebuffer_to_(s,c)
301#undef _Ret_
302#define _Ret_
303#undef _Ret_valid_
304#define _Ret_valid_
305#undef _Ret_z_
306#define _Ret_z_
307#undef _Ret_writes_
308#define _Ret_writes_(s)
309#undef _Ret_writes_bytes_
310#define _Ret_writes_bytes_(s)
311#undef _Ret_writes_z_
312#define _Ret_writes_z_(s)
313#undef _Ret_writes_to_
314#define _Ret_writes_to_(s,c)
315#undef _Ret_writes_bytes_to_
316#define _Ret_writes_bytes_to_(s,c)
317#undef _Ret_writes_maybenull_
318#define _Ret_writes_maybenull_(s)
319#undef _Ret_writes_bytes_maybenull_
320#define _Ret_writes_bytes_maybenull_(s)
321#undef _Ret_writes_to_maybenull_
322#define _Ret_writes_to_maybenull_(s,c)
323#undef _Ret_writes_bytes_to_maybenull_
324#define _Ret_writes_bytes_to_maybenull_(s,c)
325#undef _Ret_writes_maybenull_z_
326#define _Ret_writes_maybenull_z_(s)
327#undef _Ret_maybenull_
328#define _Ret_maybenull_
329#undef _Ret_maybenull_z_
330#define _Ret_maybenull_z_
331#undef _Field_size_
332#define _Field_size_(s)
333#undef _Field_size_opt_
334#define _Field_size_opt_(s)
335#undef _Field_size_bytes_
336#define _Field_size_bytes_(s)
337#undef _Field_size_bytes_opt_
338#define _Field_size_bytes_opt_(s)
339#undef _Field_size_part_
340#define _Field_size_part_(s,c)
341#undef _Field_size_part_opt_
342#define _Field_size_part_opt_(s,c)
343#undef _Field_size_bytes_part_
344#define _Field_size_bytes_part_(s,c)
345#undef _Field_size_bytes_part_opt_
346#define _Field_size_bytes_part_opt_(s,c)
347#undef _Field_size_full_
348#define _Field_size_full_(s)
349#undef _Field_size_full_opt_
350#define _Field_size_full_opt_(s)
351#undef _Field_size_bytes_full_
352#define _Field_size_bytes_full_(s)
353#undef _Field_size_bytes_full_opt_
354#define _Field_size_bytes_full_opt_(s)
355#undef _Printf_format_string_
356#define _Printf_format_string_
357#undef _Scanf_format_string_
358#define _Scanf_format_string_
359#undef _Scanf_s_format_string_
360#define _Scanf_s_format_string_
361#undef _Printf_format_string_params_
362#define _Printf_format_string_params_(x)
363#undef _Scanf_format_string_params_
364#define _Scanf_format_string_params_(x)
365#undef _Scanf_s_format_string_params_
366#define _Scanf_s_format_string_params_(x)
367#undef _In_range_
368#define _In_range_(l,h)
369#undef _Out_range_
370#define _Out_range_(l,h)
371#undef _Ret_range_
372#define _Ret_range_(l,h)
373#undef _Deref_in_range_
374#define _Deref_in_range_(l,h)
375#undef _Deref_out_range_
376#define _Deref_out_range_(l,h)
377#undef _Deref_inout_range_
378#define _Deref_inout_range_(l,h)
379#undef _Field_range_
380#define _Field_range_(l,h)
381#undef _Pre_equal_to_
382#define _Pre_equal_to_(e)
383#undef _Post_equal_to_
384#define _Post_equal_to_(e)
385#undef _Struct_size_bytes_
386#define _Struct_size_bytes_(s)
387#undef _Analysis_assume_
388#define _Analysis_assume_
389#undef _Analysis_mode_
390#define _Analysis_mode_(m)
391#undef _Analysis_noreturn_
392#define _Analysis_noreturn_
393#undef _Raises_SEH_exception_
394#define _Raises_SEH_exception_
395#undef _Maybe_raises_SEH_exception_
396#define _Maybe_raises_SEH_exception_
397#undef _Function_class_
398#define _Function_class_(n)
399#undef _Literal_
400#define _Literal_
401#undef _Notliteral_
402#define _Notliteral_
403#undef _Enum_is_bitflag_
404#define _Enum_is_bitflag_
405#undef _Strict_type_match_
406#define _Strict_type_match_
407#undef _Points_to_data_
408#define _Points_to_data_
409#undef _Interlocked_operand_
410#define _Interlocked_operand_
411#undef _IRQL_raises_
412#define _IRQL_raises_(i)
413#undef _IRQL_requires_
414#define _IRQL_requires_(i)
415#undef _IRQL_requires_max_
416#define _IRQL_requires_max_(i)
417#undef _IRQL_requires_min_
418#define _IRQL_requires_min_(i)
419#undef _IRQL_saves_
420#define _IRQL_saves_
421#undef _IRQL_saves_global_
422#define _IRQL_saves_global_(k,s)
423#undef _IRQL_restores_
424#define _IRQL_restores_
425#undef _IRQL_restores_global_
426#define _IRQL_restores_global_(k,s)
427#undef _IRQL_always_function_min_
428#define _IRQL_always_function_min_(i)
429#undef _IRQL_always_function_max_
430#define _IRQL_always_function_max_(i)
431#undef _IRQL_requires_same_
432#define _IRQL_requires_same_
433#undef _IRQL_uses_cancel_
434#define _IRQL_uses_cancel_
435#undef _IRQL_is_cancel_
436#define _IRQL_is_cancel_
437#undef _Kernel_float_saved_
438#define _Kernel_float_saved_
439#undef _Kernel_float_restored_
440#define _Kernel_float_restored_
441#undef _Kernel_float_used_
442#define _Kernel_float_used_
443#undef _Kernel_acquires_resource_
444#define _Kernel_acquires_resource_(k)
445#undef _Kernel_releases_resource_
446#define _Kernel_releases_resource_(k)
447#undef _Kernel_requires_resource_held_
448#define _Kernel_requires_resource_held_(k)
449#undef _Kernel_requires_resource_not_held_
450#define _Kernel_requires_resource_not_held_(k)
451#undef _Kernel_clear_do_init_
452#define _Kernel_clear_do_init_(yn)
453#undef _Kernel_IoGetDmaAdapter_
454#define _Kernel_IoGetDmaAdapter_
455#undef _Outref_
456#define _Outref_
457#undef _Outref_result_maybenull_
458#define _Outref_result_maybenull_
459#undef _Outref_result_buffer_
460#define _Outref_result_buffer_(s)
461#undef _Outref_result_bytebuffer_
462#define _Outref_result_bytebuffer_(s)
463#undef _Outref_result_buffer_to_
464#define _Outref_result_buffer_to_(s,c)
465#undef _Outref_result_bytebuffer_to_
466#define _Outref_result_bytebuffer_to_(s,c)
467#undef _Outref_result_buffer_all_
468#define _Outref_result_buffer_all_(s)
469#undef _Outref_result_bytebuffer_all_
470#define _Outref_result_bytebuffer_all_(s)
471#undef _Outref_result_buffer_maybenull_
472#define _Outref_result_buffer_maybenull_(s)
473#undef _Outref_result_bytebuffer_maybenull_
474#define _Outref_result_bytebuffer_maybenull_(s)
475#undef _Outref_result_buffer_to_maybenull_
476#define _Outref_result_buffer_to_maybenull_(s,c)
477#undef _Outref_result_bytebuffer_to_maybenull_
478#define _Outref_result_bytebuffer_to_maybenull_(s,c)
479#undef _Outref_result_buffer_all_maybenull_
480#define _Outref_result_buffer_all_maybenull_(s)
481#undef _Outref_result_bytebuffer_all_maybenull_
482#define _Outref_result_bytebuffer_all_maybenull_(s)
483#undef _In_defensive_
484#define _In_defensive_(a)
485#undef _Out_defensive_
486#define _Out_defensive_(a)
487#undef _Inout_defensive_
488#define _Inout_defensive_(a)
489#undef _Outptr_result_nullonfailure_
490#define _Outptr_result_nullonfailure_
491#undef _Outptr_opt_result_nullonfailure_
492#define _Outptr_opt_result_nullonfailure_
493#undef _Outref_result_nullonfailure_
494#define _Outref_result_nullonfailure_
495#undef _Result_nullonfailure_
496#define _Result_nullonfailure_
497#undef _Result_zeroonfailure_
498#define _Result_zeroonfailure_
499#undef _Acquires_nonreentrant_lock_
500#define _Acquires_nonreentrant_lock_(e)
501#undef _Releases_nonreentrant_lock_
502#define _Releases_nonreentrant_lock_(e)
503#undef _Reserved_
504#define _Reserved_ _Pre_equal_to_(0) _Pre_ _Null_
505#undef _Pre_z_
506#define _Pre_z_ _Pre_ _Null_terminated_
507#undef _Post_z_
508#define _Post_z_ _Post_ _Null_terminated_
509#undef _Prepost_z_
510#define _Prepost_z_ _Pre_z_ _Post_z_
511#undef _Pre_null_
512#define _Pre_null_ _Pre_ _Null_
513#undef _Pre_maybenull_
514#define _Pre_maybenull_ _Pre_ _Maybenull_
515#undef _Pre_notnull_
516#define _Pre_notnull_ _Pre_ _Notnull_
517#undef _Pre_valid_
518#define _Pre_valid_ _Pre_notnull_ _Pre_ _Valid_
519#undef _Pre_opt_valid_
520#define _Pre_opt_valid_ _Pre_maybenull_ _Pre_ _Valid_
521#undef _Post_valid_
522#define _Post_valid_ _Post_ _Valid_
523#undef _Post_invalid_
524#define _Post_invalid_ _Post_ _Deref_ _Notvalid_
525#undef _Post_ptr_invalid_
526#define _Post_ptr_invalid_ _Post_ _Notvalid_
527#undef _Pre_readable_size_
528#define _Pre_readable_size_(s) _Pre_ _Readable_elements_(s) _Pre_ _Valid_
529#undef _Pre_writable_size_
530#define _Pre_writable_size_(s) _Pre_ _Writable_elements_(s)
531#undef _Pre_readable_byte_size_
532#define _Pre_readable_byte_size_(s) _Pre_ _Readable_bytes_(s) _Pre_ _Valid_
533#undef _Pre_writable_byte_size_
534#define _Pre_writable_byte_size_(s) _Pre_ _Writable_bytes_(s)
535#undef _Post_readable_size_
536#define _Post_readable_size_(s) _Post_ _Readable_elements_(s) _Post_ _Valid_
537#undef _Post_writable_size_
538#define _Post_writable_size_(s) _Post_ _Writable_elements_(s)
539#undef _Post_readable_byte_size_
540#define _Post_readable_byte_size_(s) _Post_ _Readable_bytes_(s) _Post_ _Valid_
541#undef _Post_writable_byte_size_
542#define _Post_writable_byte_size_(s) _Post_ _Writable_bytes_(s)
543
544#endif /* _NO_SAL_2_H_ */