[PSDK/DDK/XDK]
[reactos.git] / reactos / include / psdk / sal.h
1 /*
2 * sal.h
3 *
4 * Standard Annotation Language (SAL) definitions
5 *
6 * This file is part of the ReactOS PSDK package.
7 *
8 * Contributors:
9 * Timo Kreuzer (timo.kreuzer@reactos.org)
10 *
11 * THIS SOFTWARE IS NOT COPYRIGHTED
12 *
13 * This source code is offered for use in the public domain. You may
14 * use, modify or distribute it freely.
15 *
16 * This code is distributed in the hope that it will be useful but
17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18 * DISCLAIMED. This includes but is not limited to warranties of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20 *
21 */
22
23 #pragma once
24 #define __ATTR_SAL
25
26 /* HACK: gcc's C++ headers conflict with oldstyle macros */
27 #if !defined(__cplusplus) || !defined(__GNUC__)
28 #include <sal_old.h>
29 #endif
30
31 #ifdef _PREFAST_
32
33 #ifndef _USE_DECLSPECS_FOR_SAL
34 #define _USE_DECLSPECS_FOR_SAL 1
35 #endif
36
37 #if !defined(_USE_ATTRIBUTES_FOR_SAL) || _USE_DECLSPECS_FOR_SAL
38 #define _USE_ATTRIBUTES_FOR_SAL 0
39 #endif
40
41 #if !_USE_DECLSPECS_FOR_SAL && !_USE_ATTRIBUTES_FOR_SAL
42 #if _MSC_VER >= 1400
43 #undef _USE_ATTRIBUTES_FOR_SAL
44 #define _USE_ATTRIBUTES_FOR_SAL 1
45 #else
46 #undef _USE_DECLSPECS_FOR_SAL
47 #define _USE_DECLSPECS_FOR_SAL 1
48 #endif /* _MSC_VER >= 1400 */
49 #endif /* !_USE_DECLSPECS_FOR_SAL && !_USE_ATTRIBUTES_FOR_SAL */
50
51 #else /* _PREFAST_ */
52
53 #undef _USE_DECLSPECS_FOR_SAL
54 #define _USE_DECLSPECS_FOR_SAL 0
55 #undef _USE_ATTRIBUTES_FOR_SAL
56 #define _USE_ATTRIBUTES_FOR_SAL 0
57
58 #endif /* _PREFAST_ */
59
60 #if defined(MIDL_PASS) || defined(__midl) || defined(RC_INVOKED)
61 #undef _USE_DECLSPECS_FOR_SAL
62 #define _USE_DECLSPECS_FOR_SAL 0
63 #undef _USE_ATTRIBUTES_FOR_SAL
64 #define _USE_ATTRIBUTES_FOR_SAL 0
65 #endif
66
67 #if !defined(_MSC_EXTENSIONS)
68 #undef _USE_ATTRIBUTES_FOR_SAL
69 #define _USE_ATTRIBUTES_FOR_SAL 0
70 #endif
71
72
73 #if _USE_ATTRIBUTES_FOR_SAL || _USE_DECLSPECS_FOR_SAL
74
75 #error unimplemented
76
77 #if _USE_ATTRIBUTES_FOR_SAL
78
79 #else /* #if _USE_DECLSPECS_FOR_SAL */
80
81 #endif
82
83
84 #else /* _USE_ATTRIBUTES_FOR_SAL || _USE_DECLSPECS_FOR_SAL */
85
86 #define __inner_exceptthat
87 #define __inner_typefix(ctype)
88 #define _Always_(annos)
89 #define _At_(target, annos)
90 #define _At_buffer_(target, iter, bound, annos)
91 #define _Check_return_
92 #define _COM_Outptr_
93 #define _COM_Outptr_opt_
94 #define _COM_Outptr_opt_result_maybenull_
95 #define _COM_Outptr_result_maybenull_
96 #define _Const_
97 #define _Deref_in_bound_
98 #define _Deref_in_range_(lb,ub)
99 #define _Deref_inout_bound_
100 #define _Deref_inout_z_
101 #define _Deref_inout_z_bytecap_c_(size)
102 #define _Deref_inout_z_cap_c_(size)
103 #define _Deref_opt_out_
104 #define _Deref_opt_out_opt_
105 #define _Deref_opt_out_opt_z_
106 #define _Deref_opt_out_z_
107 #define _Deref_out_
108 #define _Deref_out_bound_
109 #define _Deref_out_opt_
110 #define _Deref_out_opt_z_
111 #define _Deref_out_range_(lb,ub)
112 #define _Deref_out_z_
113 #define _Deref_out_z_bytecap_c_(size)
114 #define _Deref_out_z_cap_c_(size)
115 #define _Deref_post_bytecap_(size)
116 #define _Deref_post_bytecap_c_(size)
117 #define _Deref_post_bytecap_x_(size)
118 #define _Deref_post_bytecount_(size)
119 #define _Deref_post_bytecount_c_(size)
120 #define _Deref_post_bytecount_x_(size)
121 #define _Deref_post_cap_(size)
122 #define _Deref_post_cap_c_(size)
123 #define _Deref_post_cap_x_(size)
124 #define _Deref_post_count_(size)
125 #define _Deref_post_count_c_(size)
126 #define _Deref_post_count_x_(size)
127 #define _Deref_post_maybenull_
128 #define _Deref_post_notnull_
129 #define _Deref_post_null_
130 #define _Deref_post_opt_bytecap_(size)
131 #define _Deref_post_opt_bytecap_c_(size)
132 #define _Deref_post_opt_bytecap_x_(size)
133 #define _Deref_post_opt_bytecount_(size)
134 #define _Deref_post_opt_bytecount_c_(size)
135 #define _Deref_post_opt_bytecount_x_(size)
136 #define _Deref_post_opt_cap_(size)
137 #define _Deref_post_opt_cap_c_(size)
138 #define _Deref_post_opt_cap_x_(size)
139 #define _Deref_post_opt_count_(size)
140 #define _Deref_post_opt_count_c_(size)
141 #define _Deref_post_opt_count_x_(size)
142 #define _Deref_post_opt_valid_
143 #define _Deref_post_opt_valid_bytecap_(size)
144 #define _Deref_post_opt_valid_bytecap_c_(size)
145 #define _Deref_post_opt_valid_bytecap_x_(size)
146 #define _Deref_post_opt_valid_cap_(size)
147 #define _Deref_post_opt_valid_cap_c_(size)
148 #define _Deref_post_opt_valid_cap_x_(size)
149 #define _Deref_post_opt_z_
150 #define _Deref_post_opt_z_bytecap_(size)
151 #define _Deref_post_opt_z_bytecap_c_(size)
152 #define _Deref_post_opt_z_bytecap_x_(size)
153 #define _Deref_post_opt_z_cap_(size)
154 #define _Deref_post_opt_z_cap_c_(size)
155 #define _Deref_post_opt_z_cap_x_(size)
156 #define _Deref_post_valid_
157 #define _Deref_post_valid_bytecap_(size)
158 #define _Deref_post_valid_bytecap_c_(size)
159 #define _Deref_post_valid_bytecap_x_(size)
160 #define _Deref_post_valid_cap_(size)
161 #define _Deref_post_valid_cap_c_(size)
162 #define _Deref_post_valid_cap_x_(size)
163 #define _Deref_post_z_
164 #define _Deref_post_z_bytecap_(size)
165 #define _Deref_post_z_bytecap_c_(size)
166 #define _Deref_post_z_bytecap_x_(size)
167 #define _Deref_post_z_cap_(size)
168 #define _Deref_post_z_cap_c_(size)
169 #define _Deref_post_z_cap_x_(size)
170 #define _Deref_pre_bytecap_(size)
171 #define _Deref_pre_bytecap_c_(size)
172 #define _Deref_pre_bytecap_x_(size)
173 #define _Deref_pre_bytecount_(size)
174 #define _Deref_pre_bytecount_c_(size)
175 #define _Deref_pre_bytecount_x_(size)
176 #define _Deref_pre_cap_(size)
177 #define _Deref_pre_cap_c_(size)
178 #define _Deref_pre_cap_x_(size)
179 #define _Deref_pre_count_(size)
180 #define _Deref_pre_count_c_(size)
181 #define _Deref_pre_count_x_(size)
182 #define _Deref_pre_invalid_
183 #define _Deref_pre_maybenull_
184 #define _Deref_pre_notnull_
185 #define _Deref_pre_null_
186 #define _Deref_pre_opt_bytecap_(size)
187 #define _Deref_pre_opt_bytecap_c_(size)
188 #define _Deref_pre_opt_bytecap_x_(size)
189 #define _Deref_pre_opt_bytecount_(size)
190 #define _Deref_pre_opt_bytecount_c_(size)
191 #define _Deref_pre_opt_bytecount_x_(size)
192 #define _Deref_pre_opt_cap_(size)
193 #define _Deref_pre_opt_cap_c_(size)
194 #define _Deref_pre_opt_cap_x_(size)
195 #define _Deref_pre_opt_count_(size)
196 #define _Deref_pre_opt_count_c_(size)
197 #define _Deref_pre_opt_count_x_(size)
198 #define _Deref_pre_opt_valid_
199 #define _Deref_pre_opt_valid_bytecap_(size)
200 #define _Deref_pre_opt_valid_bytecap_c_(size)
201 #define _Deref_pre_opt_valid_bytecap_x_(size)
202 #define _Deref_pre_opt_valid_cap_(size)
203 #define _Deref_pre_opt_valid_cap_c_(size)
204 #define _Deref_pre_opt_valid_cap_x_(size)
205 #define _Deref_pre_opt_z_
206 #define _Deref_pre_opt_z_bytecap_(size)
207 #define _Deref_pre_opt_z_bytecap_c_(size)
208 #define _Deref_pre_opt_z_bytecap_x_(size)
209 #define _Deref_pre_opt_z_cap_(size)
210 #define _Deref_pre_opt_z_cap_c_(size)
211 #define _Deref_pre_opt_z_cap_x_(size)
212 #define _Deref_pre_readonly_
213 #define _Deref_pre_valid_
214 #define _Deref_pre_valid_bytecap_(size)
215 #define _Deref_pre_valid_bytecap_c_(size)
216 #define _Deref_pre_valid_bytecap_x_(size)
217 #define _Deref_pre_valid_cap_(size)
218 #define _Deref_pre_valid_cap_c_(size)
219 #define _Deref_pre_valid_cap_x_(size)
220 #define _Deref_pre_writeonly_
221 #define _Deref_pre_z_
222 #define _Deref_pre_z_bytecap_(size)
223 #define _Deref_pre_z_bytecap_c_(size)
224 #define _Deref_pre_z_bytecap_x_(size)
225 #define _Deref_pre_z_cap_(size)
226 #define _Deref_pre_z_cap_c_(size)
227 #define _Deref_pre_z_cap_x_(size)
228 #define _Deref_prepost_bytecap_(size)
229 #define _Deref_prepost_bytecap_x_(size)
230 #define _Deref_prepost_bytecount_(size)
231 #define _Deref_prepost_bytecount_x_(size)
232 #define _Deref_prepost_cap_(size)
233 #define _Deref_prepost_cap_x_(size)
234 #define _Deref_prepost_count_(size)
235 #define _Deref_prepost_count_x_(size)
236 #define _Deref_prepost_opt_bytecap_(size)
237 #define _Deref_prepost_opt_bytecap_x_(size)
238 #define _Deref_prepost_opt_bytecount_(size)
239 #define _Deref_prepost_opt_bytecount_x_(size)
240 #define _Deref_prepost_opt_cap_(size)
241 #define _Deref_prepost_opt_cap_x_(size)
242 #define _Deref_prepost_opt_count_(size)
243 #define _Deref_prepost_opt_count_x_(size)
244 #define _Deref_prepost_opt_valid_
245 #define _Deref_prepost_opt_valid_bytecap_(size)
246 #define _Deref_prepost_opt_valid_bytecap_x_(size)
247 #define _Deref_prepost_opt_valid_cap_(size)
248 #define _Deref_prepost_opt_valid_cap_x_(size)
249 #define _Deref_prepost_opt_z_
250 #define _Deref_prepost_opt_z_bytecap_(size)
251 #define _Deref_prepost_opt_z_cap_(size)
252 #define _Deref_prepost_valid_
253 #define _Deref_prepost_valid_bytecap_(size)
254 #define _Deref_prepost_valid_bytecap_x_(size)
255 #define _Deref_prepost_valid_cap_(size)
256 #define _Deref_prepost_valid_cap_x_(size)
257 #define _Deref_prepost_z_
258 #define _Deref_prepost_z_bytecap_(size)
259 #define _Deref_prepost_z_cap_(size)
260 #define _Deref_ret_bound_
261 #define _Deref_ret_opt_z_
262 #define _Deref_ret_range_(lb,ub)
263 #define _Deref_ret_z_
264 #define _Deref2_pre_readonly_
265 #define _Field_range_(min,max)
266 #define _Field_size_(size)
267 #define _Field_size_bytes_(size)
268 #define _Field_size_bytes_full_(size)
269 #define _Field_size_bytes_full_opt_(size)
270 #define _Field_size_bytes_opt_(size)
271 #define _Field_size_bytes_part_(size, count)
272 #define _Field_size_bytes_part_opt_(size, count)
273 #define _Field_size_full_(size)
274 #define _Field_size_full_opt_(size)
275 #define _Field_size_opt_(size)
276 #define _Field_size_part_(size, count)
277 #define _Field_size_part_opt_(size, count)
278 #define _Field_z_
279 #define _Group_(annos)
280 #define _In_
281 #define _In_bound_
282 #define _In_bytecount_(size)
283 #define _In_bytecount_c_(size)
284 #define _In_bytecount_x_(size)
285 #define _In_count_(size)
286 #define _In_count_c_(size)
287 #define _In_count_x_(size)
288 #define _In_defensive_(annotes)
289 #define _In_opt_
290 #define _In_opt_bytecount_(size)
291 #define _In_opt_bytecount_c_(size)
292 #define _In_opt_bytecount_x_(size)
293 #define _In_opt_count_(size)
294 #define _In_opt_count_c_(size)
295 #define _In_opt_count_x_(size)
296 #define _In_opt_ptrdiff_count_(size)
297 #define _In_opt_z_
298 #define _In_opt_z_bytecount_(size)
299 #define _In_opt_z_bytecount_c_(size)
300 #define _In_opt_z_count_(size)
301 #define _In_opt_z_count_c_(size)
302 #define _In_ptrdiff_count_(size)
303 #define _In_range_(lb,ub)
304 #define _In_reads_(size)
305 #define _In_reads_bytes_(size)
306 #define _In_reads_bytes_opt_(size)
307 #define _In_reads_opt_(size)
308 #define _In_reads_opt_z_(size)
309 #define _In_reads_or_z_(size)
310 #define _In_reads_to_ptr_(ptr)
311 #define _In_reads_to_ptr_opt_(ptr)
312 #define _In_reads_to_ptr_opt_z_(ptr)
313 #define _In_reads_to_ptr_z_(ptr)
314 #define _In_reads_z_(size)
315 #define _In_z_
316 #define _In_z_bytecount_(size)
317 #define _In_z_bytecount_c_(size)
318 #define _In_z_count_(size)
319 #define _In_z_count_c_(size)
320 #define _Inout_
321 #define _Inout_bytecap_(size)
322 #define _Inout_bytecap_c_(size)
323 #define _Inout_bytecap_x_(size)
324 #define _Inout_bytecount_(size)
325 #define _Inout_bytecount_c_(size)
326 #define _Inout_bytecount_x_(size)
327 #define _Inout_cap_(size)
328 #define _Inout_cap_c_(size)
329 #define _Inout_cap_x_(size)
330 #define _Inout_count_(size)
331 #define _Inout_count_c_(size)
332 #define _Inout_count_x_(size)
333 #define _Inout_defensive_(annotes)
334 #define _Inout_opt_
335 #define _Inout_opt_bytecap_(size)
336 #define _Inout_opt_bytecap_c_(size)
337 #define _Inout_opt_bytecap_x_(size)
338 #define _Inout_opt_bytecount_(size)
339 #define _Inout_opt_bytecount_c_(size)
340 #define _Inout_opt_bytecount_x_(size)
341 #define _Inout_opt_cap_(size)
342 #define _Inout_opt_cap_c_(size)
343 #define _Inout_opt_cap_x_(size)
344 #define _Inout_opt_count_(size)
345 #define _Inout_opt_count_c_(size)
346 #define _Inout_opt_count_x_(size)
347 #define _Inout_opt_ptrdiff_count_(size)
348 #define _Inout_opt_z_
349 #define _Inout_opt_z_bytecap_(size)
350 #define _Inout_opt_z_bytecap_c_(size)
351 #define _Inout_opt_z_bytecap_x_(size)
352 #define _Inout_opt_z_bytecount_(size)
353 #define _Inout_opt_z_bytecount_c_(size)
354 #define _Inout_opt_z_cap_(size)
355 #define _Inout_opt_z_cap_c_(size)
356 #define _Inout_opt_z_cap_x_(size)
357 #define _Inout_opt_z_count_(size)
358 #define _Inout_opt_z_count_c_(size)
359 #define _Inout_ptrdiff_count_(size)
360 #define _Inout_updates_(size)
361 #define _Inout_updates_all_(size)
362 #define _Inout_updates_all_opt_(size)
363 #define _Inout_updates_bytes_(size)
364 #define _Inout_updates_bytes_all_(size)
365 #define _Inout_updates_bytes_all_opt_(size)
366 #define _Inout_updates_bytes_opt_(size)
367 #define _Inout_updates_bytes_to_(size,count)
368 #define _Inout_updates_bytes_to_opt_(size,count)
369 #define _Inout_updates_opt_(size)
370 #define _Inout_updates_opt_z_(size)
371 #define _Inout_updates_to_(size,count)
372 #define _Inout_updates_to_opt_(size,count)
373 #define _Inout_updates_z_(size)
374 #define _Inout_z_
375 #define _Inout_z_bytecap_(size)
376 #define _Inout_z_bytecap_c_(size)
377 #define _Inout_z_bytecap_x_(size)
378 #define _Inout_z_bytecount_(size)
379 #define _Inout_z_bytecount_c_(size)
380 #define _Inout_z_cap_(size)
381 #define _Inout_z_cap_c_(size)
382 #define _Inout_z_cap_x_(size)
383 #define _Inout_z_count_(size)
384 #define _Inout_z_count_c_(size)
385 #define _Literal_
386 #define _Maybenull_
387 #define _Maybevalid_
388 #define _Must_inspect_result_
389 #define _Notliteral_
390 #define _Notnull_
391 #define _Notref_
392 #define _Notvalid_
393 #define _Null_
394 #define _Null_terminated_
395 #define _NullNull_terminated_
396 #define _On_failure_(annos)
397 #define _Out_
398 #define _Out_bound_
399 #define _Out_bytecap_(size)
400 #define _Out_bytecap_c_(size)
401 #define _Out_bytecap_post_bytecount_(cap,count)
402 #define _Out_bytecap_x_(size)
403 #define _Out_bytecapcount_(capcount)
404 #define _Out_bytecapcount_x_(capcount)
405 #define _Out_cap_(size)
406 #define _Out_cap_c_(size)
407 #define _Out_cap_m_(mult,size)
408 #define _Out_cap_post_count_(cap,count)
409 #define _Out_cap_x_(size)
410 #define _Out_capcount_(capcount)
411 #define _Out_capcount_x_(capcount)
412 #define _Out_defensive_(annotes)
413 #define _Out_opt_
414 #define _Out_opt_bytecap_(size)
415 #define _Out_opt_bytecap_c_(size)
416 #define _Out_opt_bytecap_post_bytecount_(cap,count)
417 #define _Out_opt_bytecap_x_(size)
418 #define _Out_opt_bytecapcount_(capcount)
419 #define _Out_opt_bytecapcount_x_(capcount)
420 #define _Out_opt_cap_(size)
421 #define _Out_opt_cap_c_(size)
422 #define _Out_opt_cap_m_(mult,size)
423 #define _Out_opt_cap_post_count_(cap,count)
424 #define _Out_opt_cap_x_(size)
425 #define _Out_opt_capcount_(capcount)
426 #define _Out_opt_capcount_x_(capcount)
427 #define _Out_opt_ptrdiff_cap_(size)
428 #define _Out_opt_z_bytecap_(size)
429 #define _Out_opt_z_bytecap_c_(size)
430 #define _Out_opt_z_bytecap_post_bytecount_(cap,count)
431 #define _Out_opt_z_bytecap_x_(size)
432 #define _Out_opt_z_bytecapcount_(capcount)
433 #define _Out_opt_z_cap_(size)
434 #define _Out_opt_z_cap_c_(size)
435 #define _Out_opt_z_cap_m_(mult,size)
436 #define _Out_opt_z_cap_post_count_(cap,count)
437 #define _Out_opt_z_cap_x_(size)
438 #define _Out_opt_z_capcount_(capcount)
439 #define _Out_ptrdiff_cap_(size)
440 #define _Out_range_(lb,ub)
441 #define _Out_writes_(size)
442 #define _Out_writes_all_(size)
443 #define _Out_writes_all_opt_(size)
444 #define _Out_writes_bytes_(size)
445 #define _Out_writes_bytes_all_(size)
446 #define _Out_writes_bytes_all_opt_(size)
447 #define _Out_writes_bytes_opt_(size)
448 #define _Out_writes_bytes_to_(size,count)
449 #define _Out_writes_bytes_to_opt_(size,count)
450 #define _Out_writes_opt_(size)
451 #define _Out_writes_opt_z_(size)
452 #define _Out_writes_to_(size,count)
453 #define _Out_writes_to_opt_(size,count)
454 #define _Out_writes_to_ptr_(ptr)
455 #define _Out_writes_to_ptr_opt_(ptr)
456 #define _Out_writes_to_ptr_opt_z_(ptr)
457 #define _Out_writes_to_ptr_z_(ptr)
458 #define _Out_writes_z_(size)
459 #define _Out_z_bytecap_(size)
460 #define _Out_z_bytecap_c_(size)
461 #define _Out_z_bytecap_post_bytecount_(cap,count)
462 #define _Out_z_bytecap_x_(size)
463 #define _Out_z_bytecapcount_(capcount)
464 #define _Out_z_cap_(size)
465 #define _Out_z_cap_c_(size)
466 #define _Out_z_cap_m_(mult,size)
467 #define _Out_z_cap_post_count_(cap,count)
468 #define _Out_z_cap_x_(size)
469 #define _Out_z_capcount_(capcount)
470 #define _Outptr_
471 #define _Outptr_opt_
472 #define _Outptr_opt_result_buffer_(size)
473 #define _Outptr_opt_result_buffer_all_(size)
474 #define _Outptr_opt_result_buffer_all_maybenull_(size)
475 #define _Outptr_opt_result_buffer_maybenull_(size)
476 #define _Outptr_opt_result_buffer_to_(size, count)
477 #define _Outptr_opt_result_buffer_to_maybenull_(size, count)
478 #define _Outptr_opt_result_bytebuffer_(size)
479 #define _Outptr_opt_result_bytebuffer_all_(size)
480 #define _Outptr_opt_result_bytebuffer_all_maybenull_(size)
481 #define _Outptr_opt_result_bytebuffer_maybenull_(size)
482 #define _Outptr_opt_result_bytebuffer_to_(size, count)
483 #define _Outptr_opt_result_bytebuffer_to_maybenull_(size, count)
484 #define _Outptr_opt_result_maybenull_
485 #define _Outptr_opt_result_maybenull_z_
486 #define _Outptr_opt_result_nullonfailure_
487 #define _Outptr_opt_result_z_
488 #define _Outptr_result_buffer_(size)
489 #define _Outptr_result_buffer_all_(size)
490 #define _Outptr_result_buffer_all_maybenull_(size)
491 #define _Outptr_result_buffer_maybenull_(size)
492 #define _Outptr_result_buffer_to_(size, count)
493 #define _Outptr_result_buffer_to_maybenull_(size, count)
494 #define _Outptr_result_bytebuffer_(size)
495 #define _Outptr_result_bytebuffer_all_(size)
496 #define _Outptr_result_bytebuffer_all_maybenull_(size)
497 #define _Outptr_result_bytebuffer_maybenull_(size)
498 #define _Outptr_result_bytebuffer_to_(size, count)
499 #define _Outptr_result_bytebuffer_to_maybenull_(size, count)
500 #define _Outptr_result_maybenull_
501 #define _Outptr_result_maybenull_z_
502 #define _Outptr_result_nullonfailure_
503 #define _Outptr_result_z_
504 #define _Outref_
505 #define _Outref_result_buffer_(size)
506 #define _Outref_result_buffer_all_(size)
507 #define _Outref_result_buffer_all_maybenull_(size)
508 #define _Outref_result_buffer_maybenull_(size)
509 #define _Outref_result_buffer_to_(size, count)
510 #define _Outref_result_buffer_to_maybenull_(size, count)
511 #define _Outref_result_bytebuffer_(size)
512 #define _Outref_result_bytebuffer_all_(size)
513 #define _Outref_result_bytebuffer_all_maybenull_(size)
514 #define _Outref_result_bytebuffer_maybenull_(size)
515 #define _Outref_result_bytebuffer_to_(size, count)
516 #define _Outref_result_bytebuffer_to_maybenull_(size, count)
517 #define _Outref_result_maybenull_
518 #define _Outref_result_nullonfailure_
519 #define _Points_to_data_
520 #define _Post_
521 #define _Post_bytecap_(size)
522 #define _Post_bytecount_(size)
523 #define _Post_bytecount_c_(size)
524 #define _Post_bytecount_x_(size)
525 #define _Post_cap_(size)
526 #define _Post_count_(size)
527 #define _Post_count_c_(size)
528 #define _Post_count_x_(size)
529 #define _Post_defensive_
530 #define _Post_equal_to_(expr)
531 #define _Post_invalid_
532 #define _Post_maybenull_
533 #define _Post_maybez_
534 #define _Post_notnull_
535 #define _Post_null_
536 #define _Post_ptr_invalid_
537 #define _Post_readable_byte_size_(size)
538 #define _Post_readable_size_(size)
539 #define _Post_satisfies_(cond)
540 #define _Post_valid_
541 #define _Post_writable_byte_size_(size)
542 #define _Post_writable_size_(size)
543 #define _Post_z_
544 #define _Post_z_bytecount_(size)
545 #define _Post_z_bytecount_c_(size)
546 #define _Post_z_bytecount_x_(size)
547 #define _Post_z_count_(size)
548 #define _Post_z_count_c_(size)
549 #define _Post_z_count_x_(size)
550 #define _Pre_
551 #define _Pre_bytecap_(size)
552 #define _Pre_bytecap_c_(size)
553 #define _Pre_bytecap_x_(size)
554 #define _Pre_bytecount_(size)
555 #define _Pre_bytecount_c_(size)
556 #define _Pre_bytecount_x_(size)
557 #define _Pre_cap_(size)
558 #define _Pre_cap_c_(size)
559 #define _Pre_cap_c_one_
560 #define _Pre_cap_for_(param)
561 #define _Pre_cap_m_(mult,size)
562 #define _Pre_cap_x_(size)
563 #define _Pre_count_(size)
564 #define _Pre_count_c_(size)
565 #define _Pre_count_x_(size)
566 #define _Pre_defensive_
567 #define _Pre_equal_to_(expr)
568 #define _Pre_invalid_
569 #define _Pre_maybenull_
570 #define _Pre_notnull_
571 #define _Pre_null_
572 #define _Pre_opt_bytecap_(size)
573 #define _Pre_opt_bytecap_c_(size)
574 #define _Pre_opt_bytecap_x_(size)
575 #define _Pre_opt_bytecount_(size)
576 #define _Pre_opt_bytecount_c_(size)
577 #define _Pre_opt_bytecount_x_(size)
578 #define _Pre_opt_cap_(size)
579 #define _Pre_opt_cap_c_(size)
580 #define _Pre_opt_cap_c_one_
581 #define _Pre_opt_cap_for_(param)
582 #define _Pre_opt_cap_m_(mult,size)
583 #define _Pre_opt_cap_x_(size)
584 #define _Pre_opt_count_(size)
585 #define _Pre_opt_count_c_(size)
586 #define _Pre_opt_count_x_(size)
587 #define _Pre_opt_ptrdiff_cap_(ptr)
588 #define _Pre_opt_ptrdiff_count_(ptr)
589 #define _Pre_opt_valid_
590 #define _Pre_opt_valid_bytecap_(size)
591 #define _Pre_opt_valid_bytecap_c_(size)
592 #define _Pre_opt_valid_bytecap_x_(size)
593 #define _Pre_opt_valid_cap_(size)
594 #define _Pre_opt_valid_cap_c_(size)
595 #define _Pre_opt_valid_cap_x_(size)
596 #define _Pre_opt_z_
597 #define _Pre_opt_z_bytecap_(size)
598 #define _Pre_opt_z_bytecap_c_(size)
599 #define _Pre_opt_z_bytecap_x_(size)
600 #define _Pre_opt_z_cap_(size)
601 #define _Pre_opt_z_cap_c_(size)
602 #define _Pre_opt_z_cap_x_(size)
603 #define _Pre_ptrdiff_cap_(ptr)
604 #define _Pre_ptrdiff_count_(ptr)
605 #define _Pre_readable_byte_size_(size)
606 #define _Pre_readable_size_(size)
607 #define _Pre_readonly_
608 #define _Pre_satisfies_(cond)
609 #define _Pre_valid_
610 #define _Pre_valid_bytecap_(size)
611 #define _Pre_valid_bytecap_c_(size)
612 #define _Pre_valid_bytecap_x_(size)
613 #define _Pre_valid_cap_(size)
614 #define _Pre_valid_cap_c_(size)
615 #define _Pre_valid_cap_x_(size)
616 #define _Pre_writable_byte_size_(size)
617 #define _Pre_writable_size_(size)
618 #define _Pre_writeonly_
619 #define _Pre_z_
620 #define _Pre_z_bytecap_(size)
621 #define _Pre_z_bytecap_c_(size)
622 #define _Pre_z_bytecap_x_(size)
623 #define _Pre_z_cap_(size)
624 #define _Pre_z_cap_c_(size)
625 #define _Pre_z_cap_x_(size)
626 #define _Prepost_bytecount_(size)
627 #define _Prepost_bytecount_c_(size)
628 #define _Prepost_bytecount_x_(size)
629 #define _Prepost_count_(size)
630 #define _Prepost_count_c_(size)
631 #define _Prepost_count_x_(size)
632 #define _Prepost_opt_bytecount_(size)
633 #define _Prepost_opt_bytecount_c_(size)
634 #define _Prepost_opt_bytecount_x_(size)
635 #define _Prepost_opt_count_(size)
636 #define _Prepost_opt_count_c_(size)
637 #define _Prepost_opt_count_x_(size)
638 #define _Prepost_opt_valid_
639 #define _Prepost_opt_z_
640 #define _Prepost_valid_
641 #define _Prepost_z_
642 #define _Printf_format_string_
643 #define _Readable_bytes_(size)
644 #define _Readable_elements_(size)
645 #define _Reserved_
646 #define _Result_nullonfailure_
647 #define _Result_zeroonfailure_
648 #define _Ret_
649 #define _Ret_bound_
650 #define _Ret_bytecap_(size)
651 #define _Ret_bytecap_c_(size)
652 #define _Ret_bytecap_x_(size)
653 #define _Ret_bytecount_(size)
654 #define _Ret_bytecount_c_(size)
655 #define _Ret_bytecount_x_(size)
656 #define _Ret_cap_(size)
657 #define _Ret_cap_c_(size)
658 #define _Ret_cap_x_(size)
659 #define _Ret_count_(size)
660 #define _Ret_count_c_(size)
661 #define _Ret_count_x_(size)
662 #define _Ret_maybenull_
663 #define _Ret_maybenull_z_
664 #define _Ret_notnull_
665 #define _Ret_null_
666 #define _Ret_opt_
667 #define _Ret_opt_bytecap_(size)
668 #define _Ret_opt_bytecap_c_(size)
669 #define _Ret_opt_bytecap_x_(size)
670 #define _Ret_opt_bytecount_(size)
671 #define _Ret_opt_bytecount_c_(size)
672 #define _Ret_opt_bytecount_x_(size)
673 #define _Ret_opt_cap_(size)
674 #define _Ret_opt_cap_c_(size)
675 #define _Ret_opt_cap_x_(size)
676 #define _Ret_opt_count_(size)
677 #define _Ret_opt_count_c_(size)
678 #define _Ret_opt_count_x_(size)
679 #define _Ret_opt_valid_
680 #define _Ret_opt_z_
681 #define _Ret_opt_z_bytecap_(size)
682 #define _Ret_opt_z_bytecount_(size)
683 #define _Ret_opt_z_cap_(size)
684 #define _Ret_opt_z_count_(size)
685 #define _Ret_range_(lb,ub)
686 #define _Ret_valid_
687 #define _Ret_writes_(size)
688 #define _Ret_writes_bytes_(size)
689 #define _Ret_writes_bytes_maybenull_(size)
690 #define _Ret_writes_bytes_to_(size,count)
691 #define _Ret_writes_bytes_to_maybenull_(size,count)
692 #define _Ret_writes_maybenull_(size)
693 #define _Ret_writes_maybenull_z_(size)
694 #define _Ret_writes_to_(size,count)
695 #define _Ret_writes_to_maybenull_(size,count)
696 #define _Ret_writes_z_(size)
697 #define _Ret_z_
698 #define _Ret_z_bytecap_(size)
699 #define _Ret_z_bytecount_(size)
700 #define _Ret_z_cap_(size)
701 #define _Ret_z_count_(size)
702 #define _Return_type_success_(expr)
703 #define _Scanf_format_string_
704 #define _Scanf_s_format_string_
705 #define _Struct_size_bytes_(size)
706 #define _Success_(expr)
707 #define _Unchanged_(e)
708 #define _Use_decl_annotations_
709 #define _Valid_
710 #define _When_(expr, annos)
711 #define _Writable_bytes_(size)
712 #define _Writable_elements_(size)
713
714 #endif /* _USE_ATTRIBUTES_FOR_SAL || _USE_ATTRIBUTES_FOR_SAL */
715