sal.h 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891
  1. #pragma once
  2. #if __GNUC__ >= 3
  3. # pragma GCC system_header
  4. #endif
  5. #define __SAL_H_FULL_VER 1
  6. //#define __null // << Conflicts with GCC internal type __null
  7. #define __notnull
  8. #define __maybenull
  9. #define __readonly
  10. #define __notreadonly
  11. #define __maybereadonly
  12. #define __valid
  13. #define __notvalid
  14. #define __maybevalid
  15. #define __readableTo(extent)
  16. #define __elem_readableTo(size)
  17. #define __byte_readableTo(size)
  18. #define __writableTo(size)
  19. #define __elem_writableTo(size)
  20. #define __byte_writableTo(size)
  21. #define __deref
  22. #define __pre
  23. #define __post
  24. #define __precond(expr)
  25. #define __postcond(expr)
  26. #define __exceptthat
  27. #define __execeptthat
  28. #define __inner_success(expr)
  29. #define __inner_checkReturn __attribute__((warn_unused_result))
  30. #define __inner_typefix(ctype)
  31. #define __inner_override
  32. #define __inner_callback
  33. #define __inner_blocksOn(resource)
  34. #define __inner_fallthrough_dec
  35. #define __inner_fallthrough
  36. #define __refparam
  37. #define __inner_control_entrypoint(category)
  38. #define __inner_data_entrypoint(category)
  39. #define __ecount(size)
  40. #define __bcount(size)
  41. // #define __in // Conflicts with STL.
  42. #define __in_ecount(size)
  43. #define __in_bcount(size)
  44. #define __in_z
  45. #define __in_ecount_z(size)
  46. #define __in_bcount_z(size)
  47. #define __in_nz
  48. #define __in_ecount_nz(size)
  49. #define __in_bcount_nz(size)
  50. #define __in_xcount_opt(size)
  51. // #define __out // Conflicts with STL.
  52. #define __out_ecount(size)
  53. #define __out_bcount(size)
  54. #define __out_ecount_part(size,length)
  55. #define __out_bcount_part(size,length)
  56. #define __out_ecount_full(size)
  57. #define __out_bcount_full(size)
  58. #define __out_z
  59. #define __out_z_opt
  60. #define __out_ecount_z(size)
  61. #define __out_bcount_z(size)
  62. #define __out_ecount_part_z(size,length)
  63. #define __out_bcount_part_z(size,length)
  64. #define __out_ecount_full_z(size)
  65. #define __out_bcount_full_z(size)
  66. #define __out_nz
  67. #define __out_nz_opt
  68. #define __out_ecount_nz(size)
  69. #define __out_bcount_nz(size)
  70. #define __inout
  71. #define __inout_ecount(size)
  72. #define __inout_bcount(size)
  73. #define __inout_ecount_part(size,length)
  74. #define __inout_bcount_part(size,length)
  75. #define __inout_ecount_full(size)
  76. #define __inout_bcount_full(size)
  77. #define __inout_z
  78. #define __inout_ecount_z(size)
  79. #define __inout_bcount_z(size)
  80. #define __inout_nz
  81. #define __inout_ecount_nz(size)
  82. #define __inout_bcount_nz(size)
  83. #define __ecount_opt(size)
  84. #define __bcount_opt(size)
  85. #define __in_opt
  86. #define __in_ecount_opt(size)
  87. #define __in_bcount_opt(size)
  88. #define __in_z_opt
  89. #define __in_ecount_z_opt(size)
  90. #define __in_bcount_z_opt(size)
  91. #define __in_nz_opt
  92. #define __in_ecount_nz_opt(size)
  93. #define __in_bcount_nz_opt(size)
  94. #define __out_opt
  95. #define __out_ecount_opt(size)
  96. #define __out_bcount_opt(size)
  97. #define __out_ecount_part_opt(size,length)
  98. #define __out_bcount_part_opt(size,length)
  99. #define __out_ecount_full_opt(size)
  100. #define __out_bcount_full_opt(size)
  101. #define __out_ecount_z_opt(size)
  102. #define __out_bcount_z_opt(size)
  103. #define __out_ecount_part_z_opt(size,length)
  104. #define __out_bcount_part_z_opt(size,length)
  105. #define __out_ecount_full_z_opt(size)
  106. #define __out_bcount_full_z_opt(size)
  107. #define __out_ecount_nz_opt(size)
  108. #define __out_bcount_nz_opt(size)
  109. #define __inout_opt
  110. #define __inout_ecount_opt(size)
  111. #define __inout_bcount_opt(size)
  112. #define __inout_ecount_part_opt(size,length)
  113. #define __inout_bcount_part_opt(size,length)
  114. #define __inout_ecount_full_opt(size)
  115. #define __inout_bcount_full_opt(size)
  116. #define __inout_z_opt
  117. #define __inout_ecount_z_opt(size)
  118. #define __inout_ecount_z_opt(size)
  119. #define __inout_bcount_z_opt(size)
  120. #define __inout_nz_opt
  121. #define __inout_ecount_nz_opt(size)
  122. #define __inout_bcount_nz_opt(size)
  123. #define __deref_ecount(size)
  124. #define __deref_bcount(size)
  125. #define __deref_out
  126. #define __deref_out_ecount(size)
  127. #define __deref_out_bcount(size)
  128. #define __deref_out_ecount_part(size,length)
  129. #define __deref_out_bcount_part(size,length)
  130. #define __deref_out_ecount_full(size)
  131. #define __deref_out_bcount_full(size)
  132. #define __deref_out_z
  133. #define __deref_out_ecount_z(size)
  134. #define __deref_out_bcount_z(size)
  135. #define __deref_out_nz
  136. #define __deref_out_ecount_nz(size)
  137. #define __deref_out_bcount_nz(size)
  138. #define __deref_inout
  139. #define __deref_inout_z
  140. #define __deref_inout_ecount(size)
  141. #define __deref_inout_bcount(size)
  142. #define __deref_inout_ecount_part(size,length)
  143. #define __deref_inout_bcount_part(size,length)
  144. #define __deref_inout_ecount_full(size)
  145. #define __deref_inout_bcount_full(size)
  146. #define __deref_inout_z
  147. #define __deref_inout_ecount_z(size)
  148. #define __deref_inout_bcount_z(size)
  149. #define __deref_inout_nz
  150. #define __deref_inout_ecount_nz(size)
  151. #define __deref_inout_bcount_nz(size)
  152. #define __deref_ecount_opt(size)
  153. #define __deref_bcount_opt(size)
  154. #define __deref_out_opt
  155. #define __deref_out_ecount_opt(size)
  156. #define __deref_out_bcount_opt(size)
  157. #define __deref_out_ecount_part_opt(size,length)
  158. #define __deref_out_bcount_part_opt(size,length)
  159. #define __deref_out_ecount_full_opt(size)
  160. #define __deref_out_bcount_full_opt(size)
  161. #define __deref_out_z_opt
  162. #define __deref_out_ecount_z_opt(size)
  163. #define __deref_out_bcount_z_opt(size)
  164. #define __deref_out_nz_opt
  165. #define __deref_out_ecount_nz_opt(size)
  166. #define __deref_out_bcount_nz_opt(size)
  167. #define __deref_inout_opt
  168. #define __deref_inout_ecount_opt(size)
  169. #define __deref_inout_bcount_opt(size)
  170. #define __deref_inout_ecount_part_opt(size,length)
  171. #define __deref_inout_bcount_part_opt(size,length)
  172. #define __deref_inout_ecount_full_opt(size)
  173. #define __deref_inout_bcount_full_opt(size)
  174. #define __deref_inout_z_opt
  175. #define __deref_inout_ecount_z_opt(size)
  176. #define __deref_inout_bcount_z_opt(size)
  177. #define __deref_inout_nz_opt
  178. #define __deref_inout_ecount_nz_opt(size)
  179. #define __deref_inout_bcount_nz_opt(size)
  180. #define __deref_opt_ecount(size)
  181. #define __deref_opt_bcount(size)
  182. #define __deref_opt_out
  183. #define __deref_opt_out_z
  184. #define __deref_opt_out_ecount(size)
  185. #define __deref_opt_out_bcount(size)
  186. #define __deref_opt_out_ecount_part(size,length)
  187. #define __deref_opt_out_bcount_part(size,length)
  188. #define __deref_opt_out_ecount_full(size)
  189. #define __deref_opt_out_bcount_full(size)
  190. #define __deref_opt_inout
  191. #define __deref_opt_inout_ecount(size)
  192. #define __deref_opt_inout_bcount(size)
  193. #define __deref_opt_inout_ecount_part(size,length)
  194. #define __deref_opt_inout_bcount_part(size,length)
  195. #define __deref_opt_inout_ecount_full(size)
  196. #define __deref_opt_inout_bcount_full(size)
  197. #define __deref_opt_inout_z
  198. #define __deref_opt_inout_ecount_z(size)
  199. #define __deref_opt_inout_bcount_z(size)
  200. #define __deref_opt_inout_nz
  201. #define __deref_opt_inout_ecount_nz(size)
  202. #define __deref_opt_inout_bcount_nz(size)
  203. #define __deref_opt_ecount_opt(size)
  204. #define __deref_opt_bcount_opt(size)
  205. #define __deref_opt_out_opt
  206. #define __deref_opt_out_ecount_opt(size)
  207. #define __deref_opt_out_bcount_opt(size)
  208. #define __deref_opt_out_ecount_part_opt(size,length)
  209. #define __deref_opt_out_bcount_part_opt(size,length)
  210. #define __deref_opt_out_ecount_full_opt(size)
  211. #define __deref_opt_out_bcount_full_opt(size)
  212. #define __deref_opt_out_z_opt
  213. #define __deref_opt_out_ecount_z_opt(size)
  214. #define __deref_opt_out_bcount_z_opt(size)
  215. #define __deref_opt_out_nz_opt
  216. #define __deref_opt_out_ecount_nz_opt(size)
  217. #define __deref_opt_out_bcount_nz_opt(size)
  218. #define __deref_opt_inout_opt
  219. #define __deref_opt_inout_ecount_opt(size)
  220. #define __deref_opt_inout_bcount_opt(size)
  221. #define __deref_opt_inout_ecount_part_opt(size,length)
  222. #define __deref_opt_inout_bcount_part_opt(size,length)
  223. #define __deref_opt_inout_ecount_full_opt(size)
  224. #define __deref_opt_inout_bcount_full_opt(size)
  225. #define __deref_opt_inout_z_opt
  226. #define __deref_opt_inout_ecount_z_opt(size)
  227. #define __deref_opt_inout_bcount_z_opt(size)
  228. #define __deref_opt_inout_nz_opt
  229. #define __deref_opt_inout_ecount_nz_opt(size)
  230. #define __deref_opt_inout_bcount_nz_opt(size)
  231. #define __success(expr)
  232. #define __nullterminated
  233. #define __nullnullterminated
  234. #define __reserved
  235. #define __checkReturn __inner_checkReturn
  236. #define __typefix(ctype)
  237. #define __override
  238. #define __callback
  239. #define __format_string
  240. #define __blocksOn(resource)
  241. #define __control_entrypoint(category)
  242. #define __data_entrypoint(category)
  243. #define _Always_(annos)
  244. #define _Analysis_noreturn_
  245. #define _Analysis_assume_(expr)
  246. #define _At_(target, annos)
  247. #define _At_buffer_(target, iter, bound, annos)
  248. #define _COM_Outptr_
  249. #define _COM_Outptr_opt_
  250. #define _COM_Outptr_opt_result_maybenull_
  251. #define _COM_Outptr_result_maybenull_
  252. #define _Check_return_
  253. #define _Const_
  254. #define _Deref2_pre_readonly_
  255. #define _Deref_in_bound_
  256. #define _Deref_in_range_(lb,ub)
  257. #define _Deref_inout_bound_
  258. #define _Deref_inout_z_
  259. #define _Deref_inout_z_bytecap_c_(size)
  260. #define _Deref_inout_z_cap_c_(size)
  261. #define _Deref_opt_out_
  262. #define _Deref_opt_out_opt_
  263. #define _Deref_opt_out_opt_z_
  264. #define _Deref_opt_out_z_
  265. #define _Deref_out_
  266. #define _Deref_out_bound_
  267. #define _Deref_out_opt_
  268. #define _Deref_out_opt_z_
  269. #define _Deref_out_range_(lb,ub)
  270. #define _Deref_out_z_
  271. #define _Deref_out_z_bytecap_c_(size)
  272. #define _Deref_out_z_cap_c_(size)
  273. #define _Deref_post_bytecap_(size)
  274. #define _Deref_post_bytecap_c_(size)
  275. #define _Deref_post_bytecap_x_(size)
  276. #define _Deref_post_bytecount_(size)
  277. #define _Deref_post_bytecount_c_(size)
  278. #define _Deref_post_bytecount_x_(size)
  279. #define _Deref_post_cap_(size)
  280. #define _Deref_post_cap_c_(size)
  281. #define _Deref_post_cap_x_(size)
  282. #define _Deref_post_count_(size)
  283. #define _Deref_post_count_c_(size)
  284. #define _Deref_post_count_x_(size)
  285. #define _Deref_post_maybenull_
  286. #define _Deref_post_notnull_
  287. #define _Deref_post_null_
  288. #define _Deref_post_opt_bytecap_(size)
  289. #define _Deref_post_opt_bytecap_c_(size)
  290. #define _Deref_post_opt_bytecap_x_(size)
  291. #define _Deref_post_opt_bytecount_(size)
  292. #define _Deref_post_opt_bytecount_c_(size)
  293. #define _Deref_post_opt_bytecount_x_(size)
  294. #define _Deref_post_opt_cap_(size)
  295. #define _Deref_post_opt_cap_c_(size)
  296. #define _Deref_post_opt_cap_x_(size)
  297. #define _Deref_post_opt_count_(size)
  298. #define _Deref_post_opt_count_c_(size)
  299. #define _Deref_post_opt_count_x_(size)
  300. #define _Deref_post_opt_valid_
  301. #define _Deref_post_opt_valid_bytecap_(size)
  302. #define _Deref_post_opt_valid_bytecap_c_(size)
  303. #define _Deref_post_opt_valid_bytecap_x_(size)
  304. #define _Deref_post_opt_valid_cap_(size)
  305. #define _Deref_post_opt_valid_cap_c_(size)
  306. #define _Deref_post_opt_valid_cap_x_(size)
  307. #define _Deref_post_opt_z_
  308. #define _Deref_post_opt_z_bytecap_(size)
  309. #define _Deref_post_opt_z_bytecap_c_(size)
  310. #define _Deref_post_opt_z_bytecap_x_(size)
  311. #define _Deref_post_opt_z_cap_(size)
  312. #define _Deref_post_opt_z_cap_c_(size)
  313. #define _Deref_post_opt_z_cap_x_(size)
  314. #define _Deref_post_valid_
  315. #define _Deref_post_valid_bytecap_(size)
  316. #define _Deref_post_valid_bytecap_c_(size)
  317. #define _Deref_post_valid_bytecap_x_(size)
  318. #define _Deref_post_valid_cap_(size)
  319. #define _Deref_post_valid_cap_c_(size)
  320. #define _Deref_post_valid_cap_x_(size)
  321. #define _Deref_post_z_
  322. #define _Deref_post_z_bytecap_(size)
  323. #define _Deref_post_z_bytecap_c_(size)
  324. #define _Deref_post_z_bytecap_x_(size)
  325. #define _Deref_post_z_cap_(size)
  326. #define _Deref_post_z_cap_c_(size)
  327. #define _Deref_post_z_cap_x_(size)
  328. #define _Deref_pre_bytecap_(size)
  329. #define _Deref_pre_bytecap_c_(size)
  330. #define _Deref_pre_bytecap_x_(size)
  331. #define _Deref_pre_bytecount_(size)
  332. #define _Deref_pre_bytecount_c_(size)
  333. #define _Deref_pre_bytecount_x_(size)
  334. #define _Deref_pre_cap_(size)
  335. #define _Deref_pre_cap_c_(size)
  336. #define _Deref_pre_cap_x_(size)
  337. #define _Deref_pre_count_(size)
  338. #define _Deref_pre_count_c_(size)
  339. #define _Deref_pre_count_x_(size)
  340. #define _Deref_pre_invalid_
  341. #define _Deref_pre_maybenull_
  342. #define _Deref_pre_notnull_
  343. #define _Deref_pre_null_
  344. #define _Deref_pre_opt_bytecap_(size)
  345. #define _Deref_pre_opt_bytecap_c_(size)
  346. #define _Deref_pre_opt_bytecap_x_(size)
  347. #define _Deref_pre_opt_bytecount_(size)
  348. #define _Deref_pre_opt_bytecount_c_(size)
  349. #define _Deref_pre_opt_bytecount_x_(size)
  350. #define _Deref_pre_opt_cap_(size)
  351. #define _Deref_pre_opt_cap_c_(size)
  352. #define _Deref_pre_opt_cap_x_(size)
  353. #define _Deref_pre_opt_count_(size)
  354. #define _Deref_pre_opt_count_c_(size)
  355. #define _Deref_pre_opt_count_x_(size)
  356. #define _Deref_pre_opt_valid_
  357. #define _Deref_pre_opt_valid_bytecap_(size)
  358. #define _Deref_pre_opt_valid_bytecap_c_(size)
  359. #define _Deref_pre_opt_valid_bytecap_x_(size)
  360. #define _Deref_pre_opt_valid_cap_(size)
  361. #define _Deref_pre_opt_valid_cap_c_(size)
  362. #define _Deref_pre_opt_valid_cap_x_(size)
  363. #define _Deref_pre_opt_z_
  364. #define _Deref_pre_opt_z_bytecap_(size)
  365. #define _Deref_pre_opt_z_bytecap_c_(size)
  366. #define _Deref_pre_opt_z_bytecap_x_(size)
  367. #define _Deref_pre_opt_z_cap_(size)
  368. #define _Deref_pre_opt_z_cap_c_(size)
  369. #define _Deref_pre_opt_z_cap_x_(size)
  370. #define _Deref_pre_readonly_
  371. #define _Deref_pre_valid_
  372. #define _Deref_pre_valid_bytecap_(size)
  373. #define _Deref_pre_valid_bytecap_c_(size)
  374. #define _Deref_pre_valid_bytecap_x_(size)
  375. #define _Deref_pre_valid_cap_(size)
  376. #define _Deref_pre_valid_cap_c_(size)
  377. #define _Deref_pre_valid_cap_x_(size)
  378. #define _Deref_pre_writeonly_
  379. #define _Deref_pre_z_
  380. #define _Deref_pre_z_bytecap_(size)
  381. #define _Deref_pre_z_bytecap_c_(size)
  382. #define _Deref_pre_z_bytecap_x_(size)
  383. #define _Deref_pre_z_cap_(size)
  384. #define _Deref_pre_z_cap_c_(size)
  385. #define _Deref_pre_z_cap_x_(size)
  386. #define _Deref_prepost_bytecap_(size)
  387. #define _Deref_prepost_bytecap_x_(size)
  388. #define _Deref_prepost_bytecount_(size)
  389. #define _Deref_prepost_bytecount_x_(size)
  390. #define _Deref_prepost_cap_(size)
  391. #define _Deref_prepost_cap_x_(size)
  392. #define _Deref_prepost_count_(size)
  393. #define _Deref_prepost_count_x_(size)
  394. #define _Deref_prepost_opt_bytecap_(size)
  395. #define _Deref_prepost_opt_bytecap_x_(size)
  396. #define _Deref_prepost_opt_bytecount_(size)
  397. #define _Deref_prepost_opt_bytecount_x_(size)
  398. #define _Deref_prepost_opt_cap_(size)
  399. #define _Deref_prepost_opt_cap_x_(size)
  400. #define _Deref_prepost_opt_count_(size)
  401. #define _Deref_prepost_opt_count_x_(size)
  402. #define _Deref_prepost_opt_valid_
  403. #define _Deref_prepost_opt_valid_bytecap_(size)
  404. #define _Deref_prepost_opt_valid_bytecap_x_(size)
  405. #define _Deref_prepost_opt_valid_cap_(size)
  406. #define _Deref_prepost_opt_valid_cap_x_(size)
  407. #define _Deref_prepost_opt_z_
  408. #define _Deref_prepost_opt_z_bytecap_(size)
  409. #define _Deref_prepost_opt_z_cap_(size)
  410. #define _Deref_prepost_valid_
  411. #define _Deref_prepost_valid_bytecap_(size)
  412. #define _Deref_prepost_valid_bytecap_x_(size)
  413. #define _Deref_prepost_valid_cap_(size)
  414. #define _Deref_prepost_valid_cap_x_(size)
  415. #define _Deref_prepost_z_
  416. #define _Deref_prepost_z_bytecap_(size)
  417. #define _Deref_prepost_z_cap_(size)
  418. #define _Deref_ret_bound_
  419. #define _Deref_ret_opt_z_
  420. #define _Deref_ret_range_(lb,ub)
  421. #define _Deref_ret_z_
  422. #define _Field_range_(min,max)
  423. #define _Field_size_(size)
  424. #define _Field_size_bytes_(size)
  425. #define _Field_size_bytes_full_(size)
  426. #define _Field_size_bytes_full_opt_(size)
  427. #define _Field_size_bytes_opt_(size)
  428. #define _Field_size_bytes_part_(size, count)
  429. #define _Field_size_bytes_part_opt_(size, count)
  430. #define _Field_size_full_(size)
  431. #define _Field_size_full_opt_(size)
  432. #define _Field_size_opt_(size)
  433. #define _Field_size_part_(size, count)
  434. #define _Field_size_part_opt_(size, count)
  435. #define _Field_z_
  436. #define _Function_class_(x)
  437. #define _Group_(annos)
  438. #define _In_
  439. #define _In_bound_
  440. #define _In_bytecount_(size)
  441. #define _In_bytecount_c_(size)
  442. #define _In_bytecount_x_(size)
  443. #define _In_count_(size)
  444. #define _In_count_c_(size)
  445. #define _In_count_x_(size)
  446. #define _In_defensive_(annotes)
  447. #define _In_opt_
  448. #define _In_opt_bytecount_(size)
  449. #define _In_opt_bytecount_c_(size)
  450. #define _In_opt_bytecount_x_(size)
  451. #define _In_opt_count_(size)
  452. #define _In_opt_count_c_(size)
  453. #define _In_opt_count_x_(size)
  454. #define _In_opt_ptrdiff_count_(size)
  455. #define _In_opt_z_
  456. #define _In_opt_z_bytecount_(size)
  457. #define _In_opt_z_bytecount_c_(size)
  458. #define _In_opt_z_count_(size)
  459. #define _In_opt_z_count_c_(size)
  460. #define _In_ptrdiff_count_(size)
  461. #define _In_range_(lb,ub)
  462. #define _In_reads_(size)
  463. #define _In_reads_bytes_(size)
  464. #define _In_reads_bytes_opt_(size)
  465. #define _In_reads_opt_(size)
  466. #define _In_reads_opt_z_(size)
  467. #define _In_reads_or_z_(size)
  468. #define _In_reads_to_ptr_(ptr)
  469. #define _In_reads_to_ptr_opt_(ptr)
  470. #define _In_reads_to_ptr_opt_z_(ptr)
  471. #define _In_reads_to_ptr_z_(ptr)
  472. #define _In_reads_z_(size)
  473. #define _In_z_
  474. #define _In_z_bytecount_(size)
  475. #define _In_z_bytecount_c_(size)
  476. #define _In_z_count_(size)
  477. #define _In_z_count_c_(size)
  478. #define _Inout_
  479. #define _Inout_bytecap_(size)
  480. #define _Inout_bytecap_c_(size)
  481. #define _Inout_bytecap_x_(size)
  482. #define _Inout_bytecount_(size)
  483. #define _Inout_bytecount_c_(size)
  484. #define _Inout_bytecount_x_(size)
  485. #define _Inout_cap_(size)
  486. #define _Inout_cap_c_(size)
  487. #define _Inout_cap_x_(size)
  488. #define _Inout_count_(size)
  489. #define _Inout_count_c_(size)
  490. #define _Inout_count_x_(size)
  491. #define _Inout_defensive_(annotes)
  492. #define _Inout_opt_
  493. #define _Inout_opt_bytecap_(size)
  494. #define _Inout_opt_bytecap_c_(size)
  495. #define _Inout_opt_bytecap_x_(size)
  496. #define _Inout_opt_bytecount_(size)
  497. #define _Inout_opt_bytecount_c_(size)
  498. #define _Inout_opt_bytecount_x_(size)
  499. #define _Inout_opt_cap_(size)
  500. #define _Inout_opt_cap_c_(size)
  501. #define _Inout_opt_cap_x_(size)
  502. #define _Inout_opt_count_(size)
  503. #define _Inout_opt_count_c_(size)
  504. #define _Inout_opt_count_x_(size)
  505. #define _Inout_opt_ptrdiff_count_(size)
  506. #define _Inout_opt_z_
  507. #define _Inout_opt_z_bytecap_(size)
  508. #define _Inout_opt_z_bytecap_c_(size)
  509. #define _Inout_opt_z_bytecap_x_(size)
  510. #define _Inout_opt_z_bytecount_(size)
  511. #define _Inout_opt_z_bytecount_c_(size)
  512. #define _Inout_opt_z_cap_(size)
  513. #define _Inout_opt_z_cap_c_(size)
  514. #define _Inout_opt_z_cap_x_(size)
  515. #define _Inout_opt_z_count_(size)
  516. #define _Inout_opt_z_count_c_(size)
  517. #define _Inout_ptrdiff_count_(size)
  518. #define _Inout_updates_(size)
  519. #define _Inout_updates_all_(size)
  520. #define _Inout_updates_all_opt_(size)
  521. #define _Inout_updates_bytes_(size)
  522. #define _Inout_updates_bytes_all_(size)
  523. #define _Inout_updates_bytes_all_opt_(size)
  524. #define _Inout_updates_bytes_opt_(size)
  525. #define _Inout_updates_bytes_to_(size,count)
  526. #define _Inout_updates_bytes_to_opt_(size,count)
  527. #define _Inout_updates_opt_(size)
  528. #define _Inout_updates_opt_z_(size)
  529. #define _Inout_updates_to_(size,count)
  530. #define _Inout_updates_to_opt_(size,count)
  531. #define _Inout_updates_z_(size)
  532. #define _Inout_z_
  533. #define _Inout_z_bytecap_(size)
  534. #define _Inout_z_bytecap_c_(size)
  535. #define _Inout_z_bytecap_x_(size)
  536. #define _Inout_z_bytecount_(size)
  537. #define _Inout_z_bytecount_c_(size)
  538. #define _Inout_z_cap_(size)
  539. #define _Inout_z_cap_c_(size)
  540. #define _Inout_z_cap_x_(size)
  541. #define _Inout_z_count_(size)
  542. #define _Inout_z_count_c_(size)
  543. #define _Interlocked_operand_
  544. #define _Literal_
  545. #define _Maybe_raises_SEH_exception
  546. #define _Maybe_raises_SEH_exception_
  547. #define _Maybenull_
  548. #define _Maybevalid_
  549. #define _Must_inspect_result_
  550. #define _Notliteral_
  551. #define _Notnull_
  552. #define _Notref_
  553. #define _Notvalid_
  554. #define _NullNull_terminated_
  555. #define _Null_
  556. #define _Null_terminated_
  557. #define _On_failure_(annos)
  558. #define _Out_
  559. #define _Out_bound_
  560. #define _Out_bytecap_(size)
  561. #define _Out_bytecap_c_(size)
  562. #define _Out_bytecap_post_bytecount_(cap,count)
  563. #define _Out_bytecap_x_(size)
  564. #define _Out_bytecapcount_(capcount)
  565. #define _Out_bytecapcount_x_(capcount)
  566. #define _Out_cap_(size)
  567. #define _Out_cap_c_(size)
  568. #define _Out_cap_m_(mult,size)
  569. #define _Out_cap_post_count_(cap,count)
  570. #define _Out_cap_x_(size)
  571. #define _Out_capcount_(capcount)
  572. #define _Out_capcount_x_(capcount)
  573. #define _Out_defensive_(annotes)
  574. #define _Out_opt_
  575. #define _Out_opt_bytecap_(size)
  576. #define _Out_opt_bytecap_c_(size)
  577. #define _Out_opt_bytecap_post_bytecount_(cap,count)
  578. #define _Out_opt_bytecap_x_(size)
  579. #define _Out_opt_bytecapcount_(capcount)
  580. #define _Out_opt_bytecapcount_x_(capcount)
  581. #define _Out_opt_cap_(size)
  582. #define _Out_opt_cap_c_(size)
  583. #define _Out_opt_cap_m_(mult,size)
  584. #define _Out_opt_cap_post_count_(cap,count)
  585. #define _Out_opt_cap_x_(size)
  586. #define _Out_opt_capcount_(capcount)
  587. #define _Out_opt_capcount_x_(capcount)
  588. #define _Out_opt_ptrdiff_cap_(size)
  589. #define _Out_opt_z_bytecap_(size)
  590. #define _Out_opt_z_bytecap_c_(size)
  591. #define _Out_opt_z_bytecap_post_bytecount_(cap,count)
  592. #define _Out_opt_z_bytecap_x_(size)
  593. #define _Out_opt_z_bytecapcount_(capcount)
  594. #define _Out_opt_z_cap_(size)
  595. #define _Out_opt_z_cap_c_(size)
  596. #define _Out_opt_z_cap_m_(mult,size)
  597. #define _Out_opt_z_cap_post_count_(cap,count)
  598. #define _Out_opt_z_cap_x_(size)
  599. #define _Out_opt_z_capcount_(capcount)
  600. #define _Out_ptrdiff_cap_(size)
  601. #define _Out_range_(lb,ub)
  602. #define _Out_writes_(size)
  603. #define _Out_writes_all_(size)
  604. #define _Out_writes_all_opt_(size)
  605. #define _Out_writes_bytes_(size)
  606. #define _Out_writes_bytes_all_(size)
  607. #define _Out_writes_bytes_all_opt_(size)
  608. #define _Out_writes_bytes_opt_(size)
  609. #define _Out_writes_bytes_to_(size,count)
  610. #define _Out_writes_bytes_to_opt_(size,count)
  611. #define _Out_writes_opt_(size)
  612. #define _Out_writes_opt_z_(size)
  613. #define _Out_writes_to_(size,count)
  614. #define _Out_writes_to_opt_(size,count)
  615. #define _Out_writes_to_ptr_(ptr)
  616. #define _Out_writes_to_ptr_opt_(ptr)
  617. #define _Out_writes_to_ptr_opt_z_(ptr)
  618. #define _Out_writes_to_ptr_z_(ptr)
  619. #define _Out_writes_z_(size)
  620. #define _Out_z_bytecap_(size)
  621. #define _Out_z_bytecap_c_(size)
  622. #define _Out_z_bytecap_post_bytecount_(cap,count)
  623. #define _Out_z_bytecap_x_(size)
  624. #define _Out_z_bytecapcount_(capcount)
  625. #define _Out_z_cap_(size)
  626. #define _Out_z_cap_c_(size)
  627. #define _Out_z_cap_m_(mult,size)
  628. #define _Out_z_cap_post_count_(cap,count)
  629. #define _Out_z_cap_x_(size)
  630. #define _Out_z_capcount_(capcount)
  631. #define _Outptr_
  632. #define _Outptr_opt_
  633. #define _Outptr_opt_result_buffer_(size)
  634. #define _Outptr_opt_result_buffer_all_(size)
  635. #define _Outptr_opt_result_buffer_all_maybenull_(size)
  636. #define _Outptr_opt_result_buffer_maybenull_(size)
  637. #define _Outptr_opt_result_buffer_to_(size, count)
  638. #define _Outptr_opt_result_buffer_to_maybenull_(size, count)
  639. #define _Outptr_opt_result_bytebuffer_(size)
  640. #define _Outptr_opt_result_bytebuffer_all_(size)
  641. #define _Outptr_opt_result_bytebuffer_all_maybenull_(size)
  642. #define _Outptr_opt_result_bytebuffer_maybenull_(size)
  643. #define _Outptr_opt_result_bytebuffer_to_(size, count)
  644. #define _Outptr_opt_result_bytebuffer_to_maybenull_(size, count)
  645. #define _Outptr_opt_result_maybenull_
  646. #define _Outptr_opt_result_maybenull_z_
  647. #define _Outptr_opt_result_nullonfailure_
  648. #define _Outptr_opt_result_z_
  649. #define _Outptr_result_buffer_(size)
  650. #define _Outptr_result_buffer_all_(size)
  651. #define _Outptr_result_buffer_all_maybenull_(size)
  652. #define _Outptr_result_buffer_maybenull_(size)
  653. #define _Outptr_result_buffer_to_(size, count)
  654. #define _Outptr_result_buffer_to_maybenull_(size, count)
  655. #define _Outptr_result_bytebuffer_(size)
  656. #define _Outptr_result_bytebuffer_all_(size)
  657. #define _Outptr_result_bytebuffer_all_maybenull_(size)
  658. #define _Outptr_result_bytebuffer_maybenull_(size)
  659. #define _Outptr_result_bytebuffer_to_(size, count)
  660. #define _Outptr_result_bytebuffer_to_maybenull_(size, count)
  661. #define _Outptr_result_maybenull_
  662. #define _Outptr_result_maybenull_z_
  663. #define _Outptr_result_nullonfailure_
  664. #define _Outptr_result_z_
  665. #define _Outref_
  666. #define _Outref_result_buffer_(size)
  667. #define _Outref_result_buffer_all_(size)
  668. #define _Outref_result_buffer_all_maybenull_(size)
  669. #define _Outref_result_buffer_maybenull_(size)
  670. #define _Outref_result_buffer_to_(size, count)
  671. #define _Outref_result_buffer_to_maybenull_(size, count)
  672. #define _Outref_result_bytebuffer_(size)
  673. #define _Outref_result_bytebuffer_all_(size)
  674. #define _Outref_result_bytebuffer_all_maybenull_(size)
  675. #define _Outref_result_bytebuffer_maybenull_(size)
  676. #define _Outref_result_bytebuffer_to_(size, count)
  677. #define _Outref_result_bytebuffer_to_maybenull_(size, count)
  678. #define _Outref_result_maybenull_
  679. #define _Outref_result_nullonfailure_
  680. #define _Points_to_data_
  681. #define _Post_
  682. #define _Post_bytecap_(size)
  683. #define _Post_bytecount_(size)
  684. #define _Post_bytecount_c_(size)
  685. #define _Post_bytecount_x_(size)
  686. #define _Post_cap_(size)
  687. #define _Post_count_(size)
  688. #define _Post_count_c_(size)
  689. #define _Post_count_x_(size)
  690. #define _Post_defensive_
  691. #define _Post_equal_to_(expr)
  692. #define _Post_invalid_
  693. #define _Post_maybenull_
  694. #define _Post_maybez_
  695. #define _Post_notnull_
  696. #define _Post_null_
  697. #define _Post_ptr_invalid_
  698. #define _Post_readable_byte_size_(size)
  699. #define _Post_readable_size_(size)
  700. #define _Post_satisfies_(cond)
  701. #define _Post_valid_
  702. #define _Post_writable_byte_size_(size)
  703. #define _Post_writable_size_(size)
  704. #define _Post_z_
  705. #define _Post_z_bytecount_(size)
  706. #define _Post_z_bytecount_c_(size)
  707. #define _Post_z_bytecount_x_(size)
  708. #define _Post_z_count_(size)
  709. #define _Post_z_count_c_(size)
  710. #define _Post_z_count_x_(size)
  711. #define _Pre_
  712. #define _Pre_bytecap_(size)
  713. #define _Pre_bytecap_c_(size)
  714. #define _Pre_bytecap_x_(size)
  715. #define _Pre_bytecount_(size)
  716. #define _Pre_bytecount_c_(size)
  717. #define _Pre_bytecount_x_(size)
  718. #define _Pre_cap_(size)
  719. #define _Pre_cap_c_(size)
  720. #define _Pre_cap_c_one_
  721. #define _Pre_cap_for_(param)
  722. #define _Pre_cap_m_(mult,size)
  723. #define _Pre_cap_x_(size)
  724. #define _Pre_count_(size)
  725. #define _Pre_count_c_(size)
  726. #define _Pre_count_x_(size)
  727. #define _Pre_defensive_
  728. #define _Pre_equal_to_(expr)
  729. #define _Pre_invalid_
  730. #define _Pre_maybenull_
  731. #define _Pre_notnull_
  732. #define _Pre_null_
  733. #define _Pre_opt_bytecap_(size)
  734. #define _Pre_opt_bytecap_c_(size)
  735. #define _Pre_opt_bytecap_x_(size)
  736. #define _Pre_opt_bytecount_(size)
  737. #define _Pre_opt_bytecount_c_(size)
  738. #define _Pre_opt_bytecount_x_(size)
  739. #define _Pre_opt_cap_(size)
  740. #define _Pre_opt_cap_c_(size)
  741. #define _Pre_opt_cap_c_one_
  742. #define _Pre_opt_cap_for_(param)
  743. #define _Pre_opt_cap_m_(mult,size)
  744. #define _Pre_opt_cap_x_(size)
  745. #define _Pre_opt_count_(size)
  746. #define _Pre_opt_count_c_(size)
  747. #define _Pre_opt_count_x_(size)
  748. #define _Pre_opt_ptrdiff_cap_(ptr)
  749. #define _Pre_opt_ptrdiff_count_(ptr)
  750. #define _Pre_opt_valid_
  751. #define _Pre_opt_valid_bytecap_(size)
  752. #define _Pre_opt_valid_bytecap_c_(size)
  753. #define _Pre_opt_valid_bytecap_x_(size)
  754. #define _Pre_opt_valid_cap_(size)
  755. #define _Pre_opt_valid_cap_c_(size)
  756. #define _Pre_opt_valid_cap_x_(size)
  757. #define _Pre_opt_z_
  758. #define _Pre_opt_z_bytecap_(size)
  759. #define _Pre_opt_z_bytecap_c_(size)
  760. #define _Pre_opt_z_bytecap_x_(size)
  761. #define _Pre_opt_z_cap_(size)
  762. #define _Pre_opt_z_cap_c_(size)
  763. #define _Pre_opt_z_cap_x_(size)
  764. #define _Pre_ptrdiff_cap_(ptr)
  765. #define _Pre_ptrdiff_count_(ptr)
  766. #define _Pre_readable_byte_size_(size)
  767. #define _Pre_readable_size_(size)
  768. #define _Pre_readonly_
  769. #define _Pre_satisfies_(cond)
  770. #define _Pre_valid_
  771. #define _Pre_valid_bytecap_(size)
  772. #define _Pre_valid_bytecap_c_(size)
  773. #define _Pre_valid_bytecap_x_(size)
  774. #define _Pre_valid_cap_(size)
  775. #define _Pre_valid_cap_c_(size)
  776. #define _Pre_valid_cap_x_(size)
  777. #define _Pre_writable_byte_size_(size)
  778. #define _Pre_writable_size_(size)
  779. #define _Pre_writeonly_
  780. #define _Pre_z_
  781. #define _Pre_z_bytecap_(size)
  782. #define _Pre_z_bytecap_c_(size)
  783. #define _Pre_z_bytecap_x_(size)
  784. #define _Pre_z_cap_(size)
  785. #define _Pre_z_cap_c_(size)
  786. #define _Pre_z_cap_x_(size)
  787. #define _Prepost_bytecount_(size)
  788. #define _Prepost_bytecount_c_(size)
  789. #define _Prepost_bytecount_x_(size)
  790. #define _Prepost_count_(size)
  791. #define _Prepost_count_c_(size)
  792. #define _Prepost_count_x_(size)
  793. #define _Prepost_opt_bytecount_(size)
  794. #define _Prepost_opt_bytecount_c_(size)
  795. #define _Prepost_opt_bytecount_x_(size)
  796. #define _Prepost_opt_count_(size)
  797. #define _Prepost_opt_count_c_(size)
  798. #define _Prepost_opt_count_x_(size)
  799. #define _Prepost_opt_valid_
  800. #define _Prepost_opt_z_
  801. #define _Prepost_valid_
  802. #define _Prepost_z_
  803. #define _Printf_format_string_
  804. #define _Raises_SEH_exception_
  805. #define _Readable_bytes_(size)
  806. #define _Readable_elements_(size)
  807. #define _Reserved_
  808. #define _Result_nullonfailure_
  809. #define _Result_zeroonfailure_
  810. #define _Ret_
  811. #define _Ret_bound_
  812. #define _Ret_bytecap_(size)
  813. #define _Ret_bytecap_c_(size)
  814. #define _Ret_bytecap_x_(size)
  815. #define _Ret_bytecount_(size)
  816. #define _Ret_bytecount_c_(size)
  817. #define _Ret_bytecount_x_(size)
  818. #define _Ret_cap_(size)
  819. #define _Ret_cap_c_(size)
  820. #define _Ret_cap_x_(size)
  821. #define _Ret_count_(size)
  822. #define _Ret_count_c_(size)
  823. #define _Ret_count_x_(size)
  824. #define _Ret_maybenull_
  825. #define _Ret_maybenull_z_
  826. #define _Ret_notnull_
  827. #define _Ret_null_
  828. #define _Ret_opt_
  829. #define _Ret_opt_bytecap_(size)
  830. #define _Ret_opt_bytecap_c_(size)
  831. #define _Ret_opt_bytecap_x_(size)
  832. #define _Ret_opt_bytecount_(size)
  833. #define _Ret_opt_bytecount_c_(size)
  834. #define _Ret_opt_bytecount_x_(size)
  835. #define _Ret_opt_cap_(size)
  836. #define _Ret_opt_cap_c_(size)
  837. #define _Ret_opt_cap_x_(size)
  838. #define _Ret_opt_count_(size)
  839. #define _Ret_opt_count_c_(size)
  840. #define _Ret_opt_count_x_(size)
  841. #define _Ret_opt_valid_
  842. #define _Ret_opt_z_
  843. #define _Ret_opt_z_bytecap_(size)
  844. #define _Ret_opt_z_bytecount_(size)
  845. #define _Ret_opt_z_cap_(size)
  846. #define _Ret_opt_z_count_(size)
  847. #define _Ret_range_(lb,ub)
  848. #define _Ret_valid_
  849. #define _Ret_writes_(size)
  850. #define _Ret_writes_bytes_(size)
  851. #define _Ret_writes_bytes_maybenull_(size)
  852. #define _Ret_writes_bytes_to_(size,count)
  853. #define _Ret_writes_bytes_to_maybenull_(size,count)
  854. #define _Ret_writes_maybenull_(size)
  855. #define _Ret_writes_maybenull_z_(size)
  856. #define _Ret_writes_to_(size,count)
  857. #define _Ret_writes_to_maybenull_(size,count)
  858. #define _Ret_writes_z_(size)
  859. #define _Ret_z_
  860. #define _Ret_z_bytecap_(size)
  861. #define _Ret_z_bytecount_(size)
  862. #define _Ret_z_cap_(size)
  863. #define _Ret_z_count_(size)
  864. #define _Return_type_success_(expr)
  865. #define _Scanf_format_string_
  866. #define _Scanf_s_format_string_
  867. #define _Struct_size_bytes_(size)
  868. #define _Success_(expr)
  869. #define _Unchanged_(e)
  870. #define _Use_decl_annotations_
  871. #define _Valid_
  872. #define _When_(expr, annos)
  873. #define _Writable_bytes_(size)
  874. #define _Writable_elements_(size)
  875. #define __inner_callback
  876. #define __inner_exceptthat
  877. #define __inner_typefix(ctype)
  878. #ifndef __fallthrough
  879. # define __fallthrough __inner_fallthrough
  880. #endif
  881. #ifndef __analysis_assume
  882. # define __analysis_assume(expr)
  883. #endif