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