master
  1/**
  2 * This file has no copyright assigned and is placed in the Public Domain.
  3 * This file is part of the mingw-w64 runtime package.
  4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5 */
  6
  7#ifndef SPECSTRINGS_H
  8#define SPECSTRINGS_H
  9
 10#define __specstrings
 11
 12#include <sal.h>
 13
 14#ifdef __cplusplus
 15#ifndef __nothrow
 16#define __nothrow __declspec(nothrow)
 17#endif
 18extern "C" {
 19#else
 20#ifndef __nothrow
 21#define __nothrow
 22#endif
 23#endif
 24
 25#define SAL__deref_in
 26#define SAL__deref_in_ecount(size)
 27#define SAL__deref_in_bcount(size)
 28
 29#define SAL__deref_in_opt
 30#define SAL__deref_in_ecount_opt(size)
 31#define SAL__deref_in_bcount_opt(size)
 32
 33#define SAL__deref_opt_in
 34#define SAL__deref_opt_in_ecount(size)
 35#define SAL__deref_opt_in_bcount(size)
 36
 37#define SAL__deref_opt_in_opt
 38#define SAL__deref_opt_in_ecount_opt(size)
 39#define SAL__deref_opt_in_bcount_opt(size)
 40
 41#define SAL__out_awcount(expr,size)
 42#define SAL__in_awcount(expr,size)
 43
 44/* Renamed __null to SAL__null for avoiding private keyword conflicts between
 45   gcc and MS world.  */
 46#define SAL__null
 47#define SAL__notnull
 48#define SAL__maybenull
 49#define SAL__readonly
 50#define SAL__notreadonly
 51#define SAL__maybereadonly
 52#define SAL__valid
 53#define SAL__notvalid
 54#define SAL__maybevalid
 55#define SAL__readableTo(extent)
 56#define SAL__elem_readableTo(size)
 57#define SAL__byte_readableTo(size)
 58#define SAL__writableTo(size)
 59#define SAL__elem_writableTo(size)
 60#define SAL__byte_writableTo(size)
 61#define SAL__deref
 62#define SAL__pre
 63#define SAL__post
 64#define SAL__precond(expr)
 65#define SAL__postcond(expr)
 66#define SAL__exceptthat
 67#define SAL__execeptthat
 68#define SAL__inner_success(expr)
 69#define SAL__inner_checkReturn
 70#define SAL__inner_typefix(ctype)
 71#define SAL__inner_override
 72#define SAL__inner_callback
 73#define SAL__inner_blocksOn(resource)
 74#define SAL__inner_fallthrough_dec
 75#define SAL__inner_fallthrough
 76#define __refparam
 77#define SAL__inner_control_entrypoint(category)
 78#define SAL__inner_data_entrypoint(category)
 79
 80#define SAL__ecount(size)
 81#define SAL__bcount(size)
 82
 83#define SAL__in
 84#define SAL__in_opt
 85#define SAL__in_nz
 86#define SAL__in_nz_opt
 87#define SAL__in_z
 88#define SAL__in_z_opt
 89#define SAL__in_ecount(size)
 90#define SAL__in_ecount_nz(size)
 91#define SAL__in_ecount_z(size)
 92#define SAL__in_bcount(size)
 93#define SAL__in_bcount_z(size)
 94#define SAL__in_bcount_nz(size)
 95#define SAL__in_ecount_opt(size)
 96#define SAL__in_bcount_opt(size)
 97#define SAL__in_ecount_z_opt(size)
 98#define SAL__in_bcount_z_opt(size)
 99#define SAL__in_ecount_nz_opt(size)
100#define SAL__in_bcount_nz_opt(size)
101
102#define SAL__out
103#define SAL__out_ecount(size)
104#define SAL__out_z
105#define SAL__out_nz
106#define SAL__out_nz_opt
107#define SAL__out_z_opt
108#define SAL__out_ecount_part(size,length)
109#define SAL__out_ecount_full(size)
110#define SAL__out_ecount_nz(size)
111#define SAL__out_ecount_z(size)
112#define SAL__out_ecount_part_z(size,length)
113#define SAL__out_ecount_full_z(size)
114#define SAL__out_bcount(size)
115#define SAL__out_bcount_part(size,length)
116#define SAL__out_bcount_full(size)
117#define SAL__out_bcount_z(size)
118#define SAL__out_bcount_part_z(size,length)
119#define SAL__out_bcount_full_z(size)
120#define SAL__out_bcount_nz(size)
121
122#define SAL__inout
123#define SAL__inout_ecount(size)
124#define SAL__inout_bcount(size)
125#define SAL__inout_ecount_part(size,length)
126#define SAL__inout_bcount_part(size,length)
127#define SAL__inout_ecount_full(size)
128#define SAL__inout_bcount_full(size)
129#define SAL__inout_z
130#define SAL__inout_ecount_z(size)
131#define SAL__inout_bcount_z(size)
132#define SAL__inout_nz
133#define SAL__inout_ecount_nz(size)
134#define SAL__inout_bcount_nz(size)
135#define SAL__ecount_opt(size)
136#define SAL__bcount_opt(size)
137#define SAL__out_opt
138#define SAL__out_ecount_opt(size)
139#define SAL__out_bcount_opt(size)
140#define SAL__out_ecount_part_opt(size,length)
141#define SAL__out_bcount_part_opt(size,length)
142#define SAL__out_ecount_full_opt(size)
143#define SAL__out_bcount_full_opt(size)
144#define SAL__out_ecount_z_opt(size)
145#define SAL__out_bcount_z_opt(size)
146#define SAL__out_ecount_part_z_opt(size,length)
147#define SAL__out_bcount_part_z_opt(size,length)
148#define SAL__out_ecount_full_z_opt(size)
149#define SAL__out_bcount_full_z_opt(size)
150#define SAL__out_ecount_nz_opt(size)
151#define SAL__out_bcount_nz_opt(size)
152#define SAL__inout_opt
153#define SAL__inout_ecount_opt(size)
154#define SAL__inout_bcount_opt(size)
155#define SAL__inout_ecount_part_opt(size,length)
156#define SAL__inout_bcount_part_opt(size,length)
157#define SAL__inout_ecount_full_opt(size)
158#define SAL__inout_bcount_full_opt(size)
159#define SAL__inout_z_opt
160#define SAL__inout_ecount_z_opt(size)
161#define SAL__inout_bcount_z_opt(size)
162#define SAL__inout_nz_opt
163#define SAL__inout_ecount_nz_opt(size)
164#define SAL__inout_bcount_nz_opt(size)
165#define SAL__deref_ecount(size)
166#define SAL__deref_bcount(size)
167#define SAL__deref_out
168#define SAL__deref_out_ecount(size)
169#define SAL__deref_out_bcount(size)
170#define SAL__deref_out_ecount_part(size,length)
171#define SAL__deref_out_bcount_part(size,length)
172#define SAL__deref_out_ecount_full(size)
173#define SAL__deref_out_bcount_full(size)
174#define SAL__deref_out_z
175#define SAL__deref_out_ecount_z(size)
176#define SAL__deref_out_bcount_z(size)
177#define SAL__deref_out_nz
178#define SAL__deref_out_ecount_nz(size)
179#define SAL__deref_out_bcount_nz(size)
180#define SAL__deref_inout
181#define SAL__deref_inout_ecount(size)
182#define SAL__deref_inout_bcount(size)
183#define SAL__deref_inout_ecount_part(size,length)
184#define SAL__deref_inout_bcount_part(size,length)
185#define SAL__deref_inout_ecount_full(size)
186#define SAL__deref_inout_bcount_full(size)
187#define SAL__deref_inout_z
188#define SAL__deref_inout_ecount_z(size)
189#define SAL__deref_inout_bcount_z(size)
190#define SAL__deref_inout_nz
191#define SAL__deref_inout_ecount_nz(size)
192#define SAL__deref_inout_bcount_nz(size)
193#define SAL__deref_ecount_opt(size)
194#define SAL__deref_bcount_opt(size)
195#define SAL__deref_out_opt
196#define SAL__deref_out_ecount_opt(size)
197#define SAL__deref_out_bcount_opt(size)
198#define SAL__deref_out_ecount_part_opt(size,length)
199#define SAL__deref_out_bcount_part_opt(size,length)
200#define SAL__deref_out_ecount_full_opt(size)
201#define SAL__deref_out_bcount_full_opt(size)
202#define SAL__deref_out_z_opt
203#define SAL__deref_out_ecount_z_opt(size)
204#define SAL__deref_out_bcount_z_opt(size)
205#define SAL__deref_out_nz_opt
206#define SAL__deref_out_ecount_nz_opt(size)
207#define SAL__deref_out_bcount_nz_opt(size)
208#define SAL__deref_inout_opt
209#define SAL__deref_inout_ecount_opt(size)
210#define SAL__deref_inout_bcount_opt(size)
211#define SAL__deref_inout_ecount_part_opt(size,length)
212#define SAL__deref_inout_bcount_part_opt(size,length)
213#define SAL__deref_inout_ecount_full_opt(size)
214#define SAL__deref_inout_bcount_full_opt(size)
215#define SAL__deref_inout_z_opt
216#define SAL__deref_inout_ecount_z_opt(size)
217#define SAL__deref_inout_bcount_z_opt(size)
218#define SAL__deref_inout_nz_opt
219#define SAL__deref_inout_ecount_nz_opt(size)
220#define SAL__deref_inout_bcount_nz_opt(size)
221#define SAL__deref_opt_ecount(size)
222#define SAL__deref_opt_bcount(size)
223#define SAL__deref_opt_out
224#define SAL__deref_opt_out_z
225#define SAL__deref_opt_out_ecount(size)
226#define SAL__deref_opt_out_bcount(size)
227#define SAL__deref_opt_out_ecount_part(size,length)
228#define SAL__deref_opt_out_bcount_part(size,length)
229#define SAL__deref_opt_out_ecount_full(size)
230#define SAL__deref_opt_out_bcount_full(size)
231#define SAL__deref_opt_inout
232#define SAL__deref_opt_inout_ecount(size)
233#define SAL__deref_opt_inout_bcount(size)
234#define SAL__deref_opt_inout_ecount_part(size,length)
235#define SAL__deref_opt_inout_bcount_part(size,length)
236#define SAL__deref_opt_inout_ecount_full(size)
237#define SAL__deref_opt_inout_bcount_full(size)
238#define SAL__deref_opt_inout_z
239#define SAL__deref_opt_inout_ecount_z(size)
240#define SAL__deref_opt_inout_bcount_z(size)
241#define SAL__deref_opt_inout_nz
242#define SAL__deref_opt_inout_ecount_nz(size)
243#define SAL__deref_opt_inout_bcount_nz(size)
244#define SAL__deref_opt_ecount_opt(size)
245#define SAL__deref_opt_bcount_opt(size)
246#define SAL__deref_opt_out_opt
247#define SAL__deref_opt_out_ecount_opt(size)
248#define SAL__deref_opt_out_bcount_opt(size)
249#define SAL__deref_opt_out_ecount_part_opt(size,length)
250#define SAL__deref_opt_out_bcount_part_opt(size,length)
251#define SAL__deref_opt_out_ecount_full_opt(size)
252#define SAL__deref_opt_out_bcount_full_opt(size)
253#define SAL__deref_opt_out_z_opt
254#define SAL__deref_opt_out_ecount_z_opt(size)
255#define SAL__deref_opt_out_bcount_z_opt(size)
256#define SAL__deref_opt_out_nz_opt
257#define SAL__deref_opt_out_ecount_nz_opt(size)
258#define SAL__deref_opt_out_bcount_nz_opt(size)
259#define SAL__deref_opt_inout_opt
260#define SAL__deref_opt_inout_ecount_opt(size)
261#define SAL__deref_opt_inout_bcount_opt(size)
262#define SAL__deref_opt_inout_ecount_part_opt(size,length)
263#define SAL__deref_opt_inout_bcount_part_opt(size,length)
264#define SAL__deref_opt_inout_ecount_full_opt(size)
265#define SAL__deref_opt_inout_bcount_full_opt(size)
266#define SAL__deref_opt_inout_z_opt
267#define SAL__deref_opt_inout_ecount_z_opt(size)
268#define SAL__deref_opt_inout_bcount_z_opt(size)
269#define SAL__deref_opt_inout_nz_opt
270#define SAL__deref_opt_inout_ecount_nz_opt(size)
271#define SAL__deref_opt_inout_bcount_nz_opt(size)
272
273#define SAL__success(expr)
274#define SAL__nullterminated
275#define SAL__nullnullterminated
276#define SAL__reserved
277#define SAL__checkReturn
278#define SAL__typefix(ctype)
279#define SAL__override
280#define SAL__callback
281#define SAL__format_string
282#define SAL__blocksOn(resource)
283#define SAL__control_entrypoint(category)
284#define SAL__data_entrypoint(category)
285
286#define __encoded_pointer
287
288#define _Post_equals_last_error_
289
290#ifndef __fallthrough
291#define __fallthrough
292#endif
293
294#ifndef __analysis_assume
295#define __analysis_assume(expr)
296#endif
297
298#ifndef __CLR_OR_THIS_CALL
299#define __CLR_OR_THIS_CALL
300#endif
301
302#ifndef __CLRCALL_OR_CDECL
303#define __CLRCALL_OR_CDECL __cdecl
304#endif
305
306#ifndef __STDC_WANT_SECURE_LIB__
307#define __STDC_WANT_SECURE_LIB__ 0
308#endif
309
310#ifndef _CRT_SECURE_NO_DEPRECATE
311#define _CRT_SECURE_NO_DEPRECATE
312#endif
313
314#ifndef RC_INVOKED
315#ifndef _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES
316#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 0
317#endif
318#ifndef _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT
319#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT 0
320#endif
321#ifndef _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES
322#define _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES 0
323#endif
324#endif
325
326#ifndef DECLSPEC_ADDRSAFE
327#if (_MSC_VER >= 1200) && (defined(_M_ALPHA) || defined(_M_AXP64))
328#define DECLSPEC_ADDRSAFE  __declspec(address_safe)
329#else
330#define DECLSPEC_ADDRSAFE
331#endif
332#endif /* DECLSPEC_ADDRSAFE */
333
334#ifndef _Unreferenced_parameter_
335#define _Unreferenced_parameter_
336#endif
337#ifndef _Frees_ptr_
338#define _Frees_ptr_
339#endif
340#ifndef _Frees_ptr_opt_
341#define _Frees_ptr_opt_
342#endif
343#define _Reallocation_function_(a,b,s)
344#define _Ret_reallocated_bytes_(b,s)
345#define _In_NLS_string_(s)
346#define _Flt_CompletionContext_Outptr_
347#define _Flt_ConnectionCookie_Outptr_
348#ifndef _Writes_and_advances_ptr_
349#define _Writes_and_advances_ptr_(s)
350#endif
351#ifndef _Writes_bytes_and_advances_ptr_
352#define _Writes_bytes_and_advances_ptr_(s)
353#endif
354#ifndef _Translates_Win32_to_HRESULT_
355#define _Translates_Win32_to_HRESULT_(e)
356#endif
357#ifndef _Translates_NTSTATUS_to_HRESULT_
358#define _Translates_NTSTATUS_to_HRESULT_(s)
359#endif
360#ifndef _Translates_last_error_to_HRESULT_
361#define _Translates_last_error_to_HRESULT_
362#endif
363
364#ifdef __cplusplus
365}
366#endif
367
368#include <driverspecs.h>
369
370#endif