kernelbase: Fix checks for valid locale in LCMapStringW/Ex.
[wine.git] / include / sal.h
blob72803a1be39523681e88bb435fb0abebe8c6484e
1 /*
2 * Copyright (C) 2018 Alistair Leslie-Hughes
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __WINE_SAL_H__
20 #define __WINE_SAL_H__
22 #define _Always_(exp)
24 #define _Analysis_noreturn_
26 #define _At_(a, b)
27 #define _At_buffer_(a, b, c, d)
29 #define _Check_return_
31 #define _COM_Outptr_
32 #define _COM_Outptr_result_maybenull_
34 #define _Deref_in_range_(cnt)
35 #define _Deref_out_
36 #define _Deref_out_z_
37 #define _Deref_out_opt_
38 #define _Deref_out_opt_z_
39 #define _Deref_out_range_(x, y)
40 #define _Deref_post_maybenull_
41 #define _Deref_post_opt_cap_(count)
42 #define _Deref_post_opt_valid_
43 #define _Deref_post_opt_z_cap_(count)
44 #define _Deref_post_valid_
45 #define _Deref_post_z_
46 #define _Deref_pre_maybenull_
47 #define _Deref_pre_z_
48 #define _Deref_prepost_opt_z_
49 #define _Deref_ret_z_
51 #define _Field_range_(min, max)
53 #define _In_
54 #define _In_bytecount_(count)
55 #define _In_bytecount_c_(count)
56 #define _In_bytecount_x_(count)
57 #define _In_count_(count)
58 #define _In_count_c_(count)
59 #define _In_count_x_(count)
60 #define _In_opt_
61 #define _In_opt_bytecount_(count)
62 #define _In_opt_bytecount_c_(count)
63 #define _In_opt_bytecount_x_(count)
64 #define _In_opt_count_(count)
65 #define _In_opt_count_c_(count)
66 #define _In_opt_count_x_(count)
67 #define _In_opt_ptrdiff_count_(count)
68 #define _In_opt_z_
69 #define _In_opt_z_count_(count)
70 #define _In_opt_z_count_c_(count)
71 #define _In_opt_z_bytecount_(count)
72 #define _In_opt_z_bytecount_c_(count)
73 #define _In_ptrdiff_count_(count)
74 #define _In_range_(min, max)
75 #define _In_reads_(count)
76 #define _In_reads_bytes_(count)
77 #define _In_reads_bytes_opt_(count)
78 #define _In_reads_opt_(count)
79 #define _In_reads_opt_z_(count)
80 #define _In_reads_or_z_(count)
81 #define _In_reads_or_z_opt_(count)
82 #define _In_reads_z_(count)
83 #define _In_z_
84 #define _In_z_bytecount_(count)
85 #define _In_z_bytecount_c_(count)
86 #define _In_z_count_(count)
87 #define _In_z_count_c_(count)
89 #define _Inout_
90 #define _Inout_bytecap_x_(count)
91 #define _Inout_cap_(count)
92 #define _Inout_opt_
93 #define _Inout_opt_cap_c_(count)
94 #define _Inout_opt_z_
95 #define _Inout_opt_z_bytecap_(count)
96 #define _Inout_updates_(count)
97 #define _Inout_updates_bytes_(count)
98 #define _Inout_updates_bytes_all_opt_(count)
99 #define _Inout_updates_bytes_opt_(count)
100 #define _Inout_updates_opt_(count)
101 #define _Inout_updates_z_(count)
102 #define _Inout_updates_opt_z_(count)
103 #define _Inout_z_
104 #define _Inout_z_bytecap_(count)
105 #define _Inout_z_cap_(count)
106 #define _Inout_z_cap_c_(count)
108 #define _Must_inspect_result_
110 #define _Null_
111 #define _Null_terminated_
113 #define _Out_
114 #define _Outptr_
115 #define _Out_bytecap_(count)
116 #define _Out_bytecap_c_(count)
117 #define _Out_bytecap_x_(count)
118 #define _Out_bytecapcount_(count)
119 #define _Out_bytecap_post_bytecount_(count1, count2)
120 #define _Out_cap_(count)
121 #define _Out_cap_c_(count)
122 #define _Out_cap_m_(count1, count2)
123 #define _Out_cap_x_(count)
124 #define _Out_cap_post_count_(count1, count2)
125 #define _Out_opt_
126 #define _Out_opt_bytecap_(count)
127 #define _Out_opt_bytecap_c_(count)
128 #define _Out_opt_bytecap_x_(count)
129 #define _Out_opt_bytecap_post_bytecount_(count1, count2)
130 #define _Out_opt_bytecapcount_(count)
131 #define _Out_opt_cap_(count)
132 #define _Out_opt_cap_m_(count1, count2)
133 #define _Out_opt_cap_c_(count)
134 #define _Out_opt_cap_x_(count)
135 #define _Out_opt_cap_post_count_(count1, count2)
136 #define _Out_opt_ptrdiff_cap_(count)
137 #define _Out_opt_z_bytecap_(count)
138 #define _Out_opt_z_bytecap_c_(count)
139 #define _Out_opt_z_bytecap_x_(count)
140 #define _Out_opt_z_bytecap_post_bytecount_(count1, count2)
141 #define _Out_opt_z_cap_(count)
142 #define _Out_opt_z_cap_c_(count)
143 #define _Out_opt_z_cap_m_(count1, count2)
144 #define _Out_opt_z_cap_x_(count)
145 #define _Out_opt_z_cap_post_count_(count1, count2)
146 #define _Out_ptrdiff_cap_(count)
147 #define _Out_writes_(count)
148 #define _Out_writes_all_(count)
149 #define _Out_writes_bytes_(count)
150 #define _Out_writes_bytes_all_(count)
151 #define _Out_writes_bytes_all_opt_(count)
152 #define _Out_writes_bytes_opt_(count)
153 #define _Out_writes_bytes_to_(count1, count2)
154 #define _Out_writes_bytes_to_opt_(count1, count2)
155 #define _Out_writes_opt_(count)
156 #define _Out_writes_opt_z_(count)
157 #define _Out_writes_to_(count1, count2)
158 #define _Out_writes_to_opt_(count1, count2)
159 #define _Out_writes_z_(count)
160 #define _Out_z_bytecap_(count)
161 #define _Out_z_bytecap_c_(count)
162 #define _Out_z_bytecap_x_(count)
163 #define _Out_z_bytecap_post_bytecount_(count1, count2)
164 #define _Out_z_cap_(count)
165 #define _Out_z_cap_c_(count)
166 #define _Out_z_cap_m_(count1, count2)
167 #define _Out_z_cap_x_(count)
168 #define _Out_z_cap_post_count_(count1, count2)
170 #define _Outptr_opt_
171 #define _Outptr_opt_result_buffer_(count)
172 #define _Outptr_opt_result_maybenull_
173 #define _Outptr_opt_result_z_
174 #define _Outptr_result_buffer_(count)
175 #define _Outptr_result_buffer_all_maybenull_(ptr)
176 #define _Outptr_result_buffer_maybenull_(count)
177 #define _Outptr_result_maybenull_
178 #define _Outptr_result_maybenull_z_
179 #define _Outptr_result_nullonfailure_
180 #define _Outptr_result_z_
182 #define _Post_count_(count)
183 #define _Post_count_c_(count)
184 #define _Post_equal_to_(exp)
185 #define _Post_invalid_
186 #define _Post_maybez_
187 #define _Post_ptr_invalid_
188 #define _Post_readable_byte_size_(count)
189 #define _Post_readable_size_(count)
190 #define _Post_satisfies_(exp)
191 #define _Post_writable_byte_size_(count)
192 #define _Post_writable_size_(count)
193 #define _Post_z_
195 #define _Pre_cap_for_(count)
196 #define _Pre_maybenull_
197 #define _Pre_notnull_
198 #define _Pre_null_
199 #define _Pre_opt_z_
200 #define _Pre_valid_
201 #define _Pre_writable_size_(count)
202 #define _Pre_z_
203 #define _Prepost_z_
205 #define _Printf_format_string_
206 #define _Printf_format_string_params_(count)
208 #define _Reserved_
210 #define _Result_nullonfailure_
212 #define _Ret_maybenull_
213 #define _Ret_maybenull_z_
214 #define _Ret_notnull_
215 #define _Ret_opt_
216 #define _Ret_opt_bytecap_(count)
217 #define _Ret_opt_bytecap_x_(count)
218 #define _Ret_opt_z_cap_(count)
219 #define _Ret_range_(exp,exp2)
220 #define _Ret_writes_bytes_maybenull_(count)
221 #define _Ret_writes_z_(count)
222 #define _Ret_z_
224 #define _Return_type_success_(count)
226 #define _Scanf_format_string_
227 #define _Scanf_format_string_params_(count)
228 #define _Scanf_s_format_string_
229 #define _Scanf_s_format_string_params_(count)
231 #define _Success_(exp)
233 #define _When_(exp1, exp2)
235 #define __bcount(size)
236 #define __bcount_opt(size)
238 #define __deref_bcount(size)
239 #define __deref_bcount_opt(size)
240 #define __deref_ecount(size)
241 #define __deref_ecount_opt(size)
242 #define __deref_inout
243 #define __deref_inout_bcount(size)
244 #define __deref_inout_bcount_full(size)
245 #define __deref_inout_bcount_full_opt(size)
246 #define __deref_inout_bcount_nz(size)
247 #define __deref_inout_bcount_nz_opt(size)
248 #define __deref_inout_bcount_opt(size)
249 #define __deref_inout_bcount_part(size,length)
250 #define __deref_inout_bcount_part_opt(size,length)
251 #define __deref_inout_bcount_z(size)
252 #define __deref_inout_bcount_z_opt(size)
253 #define __deref_inout_ecount(size)
254 #define __deref_inout_ecount_full(size)
255 #define __deref_inout_ecount_full_opt(size)
256 #define __deref_inout_ecount_nz(size)
257 #define __deref_inout_ecount_nz_opt(size)
258 #define __deref_inout_ecount_opt(size)
259 #define __deref_inout_ecount_part(size,length)
260 #define __deref_inout_ecount_part_opt(size,length)
261 #define __deref_inout_ecount_z(size)
262 #define __deref_inout_ecount_z_opt(size)
263 #define __deref_inout_nz
264 #define __deref_inout_nz_opt
265 #define __deref_inout_opt
266 #define __deref_inout_z
267 #define __deref_inout_z_opt
268 #define __deref_opt_bcount(size)
269 #define __deref_opt_bcount_opt(size)
270 #define __deref_opt_ecount(size)
271 #define __deref_opt_ecount_opt(size)
272 #define __deref_opt_inout
273 #define __deref_opt_inout_bcount(size)
274 #define __deref_opt_inout_bcount_full(size)
275 #define __deref_opt_inout_bcount_full_opt(size)
276 #define __deref_opt_inout_bcount_nz(size)
277 #define __deref_opt_inout_bcount_nz_opt(size)
278 #define __deref_opt_inout_bcount_opt(size)
279 #define __deref_opt_inout_bcount_part(size,length)
280 #define __deref_opt_inout_bcount_part_opt(size,length)
281 #define __deref_opt_inout_bcount_z(size)
282 #define __deref_opt_inout_bcount_z_opt(size)
283 #define __deref_opt_inout_ecount(size)
284 #define __deref_opt_inout_ecount_full(size)
285 #define __deref_opt_inout_ecount_full_opt(size)
286 #define __deref_opt_inout_ecount_nz(size)
287 #define __deref_opt_inout_ecount_nz_opt(size)
288 #define __deref_opt_inout_ecount_opt(size)
289 #define __deref_opt_inout_ecount_part(size,length)
290 #define __deref_opt_inout_ecount_part_opt(size,length)
291 #define __deref_opt_inout_ecount_z(size)
292 #define __deref_opt_inout_ecount_z_opt(size)
293 #define __deref_opt_inout_nz
294 #define __deref_opt_inout_nz_opt
295 #define __deref_opt_inout_opt
296 #define __deref_opt_inout_z
297 #define __deref_opt_inout_z_opt
298 #define __deref_opt_out
299 #define __deref_opt_out_bcount(size)
300 #define __deref_opt_out_bcount_full(size)
301 #define __deref_opt_out_bcount_full_opt(size)
302 #define __deref_opt_out_bcount_nz_opt(size)
303 #define __deref_opt_out_bcount_opt(size)
304 #define __deref_opt_out_bcount_part(size,length)
305 #define __deref_opt_out_bcount_part_opt(size,length)
306 #define __deref_opt_out_bcount_z_opt(size)
307 #define __deref_opt_out_ecount(size)
308 #define __deref_opt_out_ecount_full(size)
309 #define __deref_opt_out_ecount_full_opt(size)
310 #define __deref_opt_out_ecount_nz_opt(size)
311 #define __deref_opt_out_ecount_opt(size)
312 #define __deref_opt_out_ecount_part(size,length)
313 #define __deref_opt_out_ecount_part_opt(size,length)
314 #define __deref_opt_out_ecount_z_opt(size)
315 #define __deref_opt_out_nz_opt
316 #define __deref_opt_out_opt
317 #define __deref_opt_out_z
318 #define __deref_opt_out_z_opt
319 #define __deref_out
320 #define __deref_out_bcount(size)
321 #define __deref_out_bcount_full(size)
322 #define __deref_out_bcount_full_opt(size)
323 #define __deref_out_bcount_nz(size)
324 #define __deref_out_bcount_nz_opt(size)
325 #define __deref_out_bcount_opt(size)
326 #define __deref_out_bcount_part(size,length)
327 #define __deref_out_bcount_part_opt(size,length)
328 #define __deref_out_bcount_z(size)
329 #define __deref_out_bcount_z_opt(size)
330 #define __deref_out_ecount(size)
331 #define __deref_out_ecount_full(size)
332 #define __deref_out_ecount_full_opt(size)
333 #define __deref_out_ecount_nz(size)
334 #define __deref_out_ecount_nz_opt(size)
335 #define __deref_out_ecount_opt(size)
336 #define __deref_out_ecount_part(size,length)
337 #define __deref_out_ecount_part_opt(size,length)
338 #define __deref_out_ecount_z(size)
339 #define __deref_out_ecount_z_opt(size)
340 #define __deref_out_nz
341 #define __deref_out_nz_opt
342 #define __deref_out_opt
343 #define __deref_out_z
344 #define __deref_out_z_opt
346 #define __ecount(size)
347 #define __ecount_opt(size)
349 /* #define __in */ /* conflicts with system headers */
350 #define __in_bcount(size)
351 #define __in_bcount_nz(size)
352 #define __in_bcount_nz_opt(size)
353 #define __in_bcount_opt(size)
354 #define __in_bcount_z(size)
355 #define __in_bcount_z_opt(size)
356 #define __in_ecount(size)
357 #define __in_ecount_nz(size)
358 #define __in_ecount_nz_opt(size)
359 #define __in_ecount_opt(size)
360 #define __in_ecount_z(size)
361 #define __in_ecount_z_opt(size)
362 #define __in_nz
363 #define __in_nz_opt
364 #define __in_opt
365 #define __in_z
366 #define __in_z_opt
367 #define __inout
368 #define __inout_bcount(size)
369 #define __inout_bcount_full(size)
370 #define __inout_bcount_full_opt(size)
371 #define __inout_bcount_nz(size)
372 #define __inout_bcount_nz_opt(size)
373 #define __inout_bcount_opt(size)
374 #define __inout_bcount_part(size,length)
375 #define __inout_bcount_part_opt(size,length)
376 #define __inout_bcount_z(size)
377 #define __inout_bcount_z_opt(size)
378 #define __inout_ecount(size)
379 #define __inout_ecount_full(size)
380 #define __inout_ecount_full_opt(size)
381 #define __inout_ecount_nz(size)
382 #define __inout_ecount_nz_opt(size)
383 #define __inout_ecount_opt(size)
384 #define __inout_ecount_part(size,length)
385 #define __inout_ecount_part_opt(size,length)
386 #define __inout_ecount_z(size)
387 #define __inout_ecount_z_opt(size)
388 #define __inout_ecount_z_opt(size)
389 #define __inout_nz
390 #define __inout_nz_opt
391 #define __inout_opt
392 #define __inout_z
393 #define __inout_z_opt
395 /* #define __out */ /* conflicts with system headers */
396 #define __out_bcount(size)
397 #define __out_bcount_full(size)
398 #define __out_bcount_full_opt(size)
399 #define __out_bcount_full_z(size)
400 #define __out_bcount_full_z_opt(size)
401 #define __out_bcount_nz(size)
402 #define __out_bcount_nz_opt(size)
403 #define __out_bcount_opt(size)
404 #define __out_bcount_part(size,length)
405 #define __out_bcount_part_opt(size,length)
406 #define __out_bcount_part_z(size,length)
407 #define __out_bcount_part_z_opt(size,length)
408 #define __out_bcount_z(size)
409 #define __out_bcount_z_opt(size)
410 #define __out_ecount(size)
411 #define __out_ecount_full(size)
412 #define __out_ecount_full_opt(size)
413 #define __out_ecount_full_z(size)
414 #define __out_ecount_full_z_opt(size)
415 #define __out_ecount_nz(size)
416 #define __out_ecount_nz_opt(size)
417 #define __out_ecount_opt(size)
418 #define __out_ecount_part(size,length)
419 #define __out_ecount_part_opt(size,length)
420 #define __out_ecount_part_z(size,length)
421 #define __out_ecount_part_z_opt(size,length)
422 #define __out_ecount_z(size)
423 #define __out_ecount_z_opt(size)
424 #define __out_nz
425 #define __out_nz_opt
426 #define __out_opt
427 #define __out_z
428 #define __out_z_opt
430 #endif