Reactos
at master 491 lines 15 kB view raw
1/* 2 * PROJECT: ReactOS PSDK 3 * LICENSE: MIT (https://spdx.org/licenses/MIT) 4 * PURPOSE: Undefines SAL definitions 5 * COPYRIGHT: Copyright 2020 Timo Kreuzer <timo.kreuzer@reactos.org> 6 */ 7 8#pragma once 9 10#undef __ecount 11#undef __bcount 12#undef __xcount 13#undef __in 14#undef __in_ecount 15#undef __in_bcount 16#undef __in_xcount 17#undef __in_z 18#undef __in_ecount_z 19#undef __in_bcount_z 20#undef __out 21#undef __out_ecount 22#undef __out_bcount 23#undef __out_xcount 24#undef __out_ecount_part 25#undef __out_bcount_part 26#undef __out_xcount_part 27#undef __out_ecount_full 28#undef __out_bcount_full 29#undef __out_xcount_full 30#undef __out_z 31#undef __out_ecount_z 32#undef __out_bcount_z 33#undef __inout 34#undef __inout_ecount 35#undef __inout_bcount 36#undef __inout_xcount 37#undef __inout_ecount_part 38#undef __inout_bcount_part 39#undef __inout_xcount_part 40#undef __inout_ecount_full 41#undef __inout_bcount_full 42#undef __inout_xcount_full 43#undef __inout_z 44#undef __inout_ecount_z 45#undef __inout_bcount_z 46#undef __ecount_opt 47#undef __bcount_opt 48#undef __xcount_opt 49#undef __in_opt 50#undef __in_ecount_opt 51#undef __in_bcount_opt 52#undef __in_z_opt 53#undef __in_ecount_z_opt 54#undef __in_bcount_z_opt 55#undef __in_xcount_opt 56#undef __out_opt 57#undef __out_ecount_opt 58#undef __out_bcount_opt 59#undef __out_xcount_opt 60#undef __out_ecount_part_opt 61#undef __out_bcount_part_opt 62#undef __out_xcount_part_opt 63#undef __out_ecount_full_opt 64#undef __out_bcount_full_opt 65#undef __out_xcount_full_opt 66#undef __out_ecount_z_opt 67#undef __out_bcount_z_opt 68#undef __inout_opt 69#undef __inout_ecount_opt 70#undef __inout_bcount_opt 71#undef __inout_xcount_opt 72#undef __inout_ecount_part_opt 73#undef __inout_bcount_part_opt 74#undef __inout_xcount_part_opt 75#undef __inout_ecount_full_opt 76#undef __inout_bcount_full_opt 77#undef __inout_xcount_full_opt 78#undef __inout_z_opt 79#undef __inout_ecount_z_opt 80#undef __inout_ecount_z_opt 81#undef __inout_bcount_z_opt 82#undef __deref_ecount 83#undef __deref_bcount 84#undef __deref_xcount 85#undef __deref_in 86#undef __deref_in_ecount 87#undef __deref_in_bcount 88#undef __deref_in_xcount 89#undef __deref_out 90#undef __deref_out_ecount 91#undef __deref_out_bcount 92#undef __deref_out_xcount 93#undef __deref_out_ecount_part 94#undef __deref_out_bcount_part 95#undef __deref_out_xcount_part 96#undef __deref_out_ecount_full 97#undef __deref_out_bcount_full 98#undef __deref_out_xcount_full 99#undef __deref_out_z 100#undef __deref_out_ecount_z 101#undef __deref_out_bcount_z 102#undef __deref_inout 103#undef __deref_inout_ecount 104#undef __deref_inout_bcount 105#undef __deref_inout_xcount 106#undef __deref_inout_ecount_part 107#undef __deref_inout_bcount_part 108#undef __deref_inout_xcount_part 109#undef __deref_inout_ecount_full 110#undef __deref_inout_bcount_full 111#undef __deref_inout_xcount_full 112#undef __deref_inout_z 113#undef __deref_inout_ecount_z 114#undef __deref_inout_bcount_z 115#undef __deref_ecount_opt 116#undef __deref_bcount_opt 117#undef __deref_xcount_opt 118#undef __deref_in_opt 119#undef __deref_in_opt_out 120#undef __deref_in_ecount_opt 121#undef __deref_in_bcount_opt 122#undef __deref_in_xcount_opt 123#undef __deref_out_opt 124#undef __deref_out_ecount_opt 125#undef __deref_out_bcount_opt 126#undef __deref_out_xcount_opt 127#undef __deref_out_ecount_part_opt 128#undef __deref_out_bcount_part_opt 129#undef __deref_out_xcount_part_opt 130#undef __deref_out_ecount_full_opt 131#undef __deref_out_bcount_full_opt 132#undef __deref_out_xcount_full_opt 133#undef __deref_out_z_opt 134#undef __deref_out_ecount_z_opt 135#undef __deref_out_bcount_z_opt 136#undef __deref_inout_opt 137#undef __deref_inout_ecount_opt 138#undef __deref_inout_bcount_opt 139#undef __deref_inout_xcount_opt 140#undef __deref_inout_ecount_part_opt 141#undef __deref_inout_bcount_part_opt 142#undef __deref_inout_xcount_part_opt 143#undef __deref_inout_ecount_full_opt 144#undef __deref_inout_bcount_full_opt 145#undef __deref_inout_xcount_full_opt 146#undef __deref_inout_z_opt 147#undef __deref_inout_ecount_z_opt 148#undef __deref_inout_bcount_z_opt 149#undef __deref_opt_ecount 150#undef __deref_opt_bcount 151#undef __deref_opt_xcount 152#undef __deref_opt_in 153#undef __deref_opt_in_ecount 154#undef __deref_opt_in_bcount 155#undef __deref_opt_in_xcount 156#undef __deref_opt_out 157#undef __deref_opt_out_ecount 158#undef __deref_opt_out_bcount 159#undef __deref_opt_out_xcount 160#undef __deref_opt_out_ecount_part 161#undef __deref_opt_out_bcount_part 162#undef __deref_opt_out_xcount_part 163#undef __deref_opt_out_ecount_full 164#undef __deref_opt_out_bcount_full 165#undef __deref_opt_out_xcount_full 166#undef __deref_opt_inout 167#undef __deref_opt_inout_ecount 168#undef __deref_opt_inout_bcount 169#undef __deref_opt_inout_xcount 170#undef __deref_opt_inout_ecount_part 171#undef __deref_opt_inout_bcount_part 172#undef __deref_opt_inout_xcount_part 173#undef __deref_opt_inout_ecount_full 174#undef __deref_opt_inout_bcount_full 175#undef __deref_opt_inout_xcount_full 176#undef __deref_opt_inout_z 177#undef __deref_opt_inout_ecount_z 178#undef __deref_opt_inout_bcount_z 179#undef __deref_opt_ecount_opt 180#undef __deref_opt_bcount_opt 181#undef __deref_opt_xcount_opt 182#undef __deref_opt_in_opt 183#undef __deref_opt_in_ecount_opt 184#undef __deref_opt_in_bcount_opt 185#undef __deref_opt_in_xcount_opt 186#undef __deref_opt_out_opt 187#undef __deref_opt_out_ecount_opt 188#undef __deref_opt_out_bcount_opt 189#undef __deref_opt_out_xcount_opt 190#undef __deref_opt_out_ecount_part_opt 191#undef __deref_opt_out_bcount_part_opt 192#undef __deref_opt_out_xcount_part_opt 193#undef __deref_opt_out_ecount_full_opt 194#undef __deref_opt_out_bcount_full_opt 195#undef __deref_opt_out_xcount_full_opt 196#undef __deref_opt_out_z_opt 197#undef __deref_opt_out_ecount_z_opt 198#undef __deref_opt_out_bcount_z_opt 199#undef __deref_opt_inout_opt 200#undef __deref_opt_inout_ecount_opt 201#undef __deref_opt_inout_bcount_opt 202#undef __deref_opt_inout_xcount_opt 203#undef __deref_opt_inout_ecount_part_opt 204#undef __deref_opt_inout_bcount_part_opt 205#undef __deref_opt_inout_xcount_part_opt 206#undef __deref_opt_inout_ecount_full_opt 207#undef __deref_opt_inout_bcount_full_opt 208#undef __deref_opt_inout_xcount_full_opt 209#undef __deref_opt_inout_z_opt 210#undef __deref_opt_inout_ecount_z_opt 211#undef __deref_opt_inout_bcount_z_opt 212#undef __deref_in_ecount_iterator 213#undef __deref_out_ecount_iterator 214#undef __deref_inout_ecount_iterator 215#undef __deref_realloc_bcount 216 217/************************************************************************ 218* SAL 2 _Ouptr_ family of annotations 219************************************************************************/ 220 221#undef _Outptr_ 222#undef _Outptr_result_maybenull_ 223#undef _Outptr_opt_ 224#undef _Outptr_opt_result_maybenull_ 225#undef _Outptr_result_z_ 226#undef _Outptr_opt_result_z_ 227#undef _Outptr_result_maybenull_z_ 228#undef _Outptr_opt_result_maybenull_z_ 229#undef _Outptr_result_nullonfailure_ 230#undef _Outptr_opt_result_nullonfailure_ 231#undef _COM_Outptr_ 232#undef _COM_Outptr_result_maybenull_ 233#undef _COM_Outptr_opt_ 234#undef _COM_Outptr_opt_result_maybenull_ 235#undef _Outptr_result_buffer_ 236#undef _Outptr_opt_result_buffer_ 237#undef _Outptr_result_buffer_to_ 238#undef _Outptr_opt_result_buffer_to_ 239#undef _Outptr_result_buffer_all_ 240#undef _Outptr_opt_result_buffer_all_ 241#undef _Outptr_result_buffer_maybenull_ 242#undef _Outptr_opt_result_buffer_maybenull_ 243#undef _Outptr_result_buffer_to_maybenull_ 244#undef _Outptr_opt_result_buffer_to_maybenull_ 245#undef _Outptr_result_buffer_all_maybenull_ 246#undef _Outptr_opt_result_buffer_all_maybenull_ 247#undef _Outptr_result_bytebuffer_ 248#undef _Outptr_opt_result_bytebuffer_ 249#undef _Outptr_result_bytebuffer_to_ 250#undef _Outptr_opt_result_bytebuffer_to_ 251#undef _Outptr_result_bytebuffer_all_ 252#undef _Outptr_opt_result_bytebuffer_all_ 253#undef _Outptr_result_bytebuffer_maybenull_ 254#undef _Outptr_opt_result_bytebuffer_maybenull_ 255#undef _Outptr_result_bytebuffer_to_maybenull_ 256#undef _Outptr_opt_result_bytebuffer_to_maybenull_ 257#undef _Outptr_result_bytebuffer_all_maybenull_ 258#undef _Outptr_opt_result_bytebuffer_all_maybenull_ 259 260/************************************************************************ 261* Orcas SAL 262************************************************************************/ 263#undef _Deref_out_ 264#undef _Deref_out_opt_ 265#undef _Deref_opt_out_ 266#undef _Deref_opt_out_opt_ 267#undef _In_count_ 268#undef _In_opt_count_ 269#undef _In_bytecount_ 270#undef _In_opt_bytecount_ 271#undef _Out_cap_ 272#undef _Out_opt_cap_ 273#undef _Out_bytecap_ 274#undef _Out_opt_bytecap_ 275#undef _Deref_post_count_ 276#undef _Deref_post_opt_count_ 277#undef _Deref_post_bytecount_ 278#undef _Deref_post_opt_bytecount_ 279#undef _Deref_post_cap_ 280#undef _Deref_post_opt_cap_ 281#undef _Deref_post_bytecap_ 282#undef _Deref_post_opt_bytecap_ 283 284/************************************************************************ 285* Advanced Annotations 286************************************************************************/ 287#undef _At_ 288#undef _When_ 289#undef __success 290#undef __out_awcount 291#undef __in_awcount 292#undef __nullterminated 293#undef __nullnullterminated 294#undef __reserved 295#undef __checkReturn 296#undef __typefix 297#undef __override 298#undef __callback 299#undef __format_string 300#undef __blocksOn 301#undef __fallthrough 302#undef __range 303#undef __in_range 304#undef __out_range 305#undef __deref_in_range 306#undef __deref_out_range 307#undef __deref_inout_range 308#undef __field_range 309#undef __range_max 310#undef __range_min 311#undef __bound 312#undef __in_bound 313#undef __out_bound 314#undef __deref_out_bound 315#undef __assume_bound 316#undef __analysis_assume_nullterminated 317#undef __allocator 318#undef __deallocate 319#undef __deallocate_opt 320#undef __post_invalid 321#undef __post_nullnullterminated 322/*************************************************************************** 323* Expert Macros 324***************************************************************************/ 325#undef __null 326#undef __notnull 327#undef __maybenull 328#undef __exceptthat 329/*************************************************************************** 330* Macros to classify fields of structures. 331****************************************************************************/ 332#undef __field_ecount 333#undef __field_bcount 334#undef __field_xcount 335#undef __field_ecount_opt 336#undef __field_bcount_opt 337#undef __field_xcount_opt 338#undef __field_ecount_part 339#undef __field_bcount_part 340#undef __field_xcount_part 341#undef __field_ecount_part_opt 342#undef __field_bcount_part_opt 343#undef __field_xcount_part_opt 344#undef __field_ecount_full 345#undef __field_bcount_full 346#undef __field_xcount_full 347#undef __field_ecount_full_opt 348#undef __field_bcount_full_opt 349#undef __field_xcount_full_opt 350#undef __field_nullterminated 351#undef __struct_bcount 352#undef __struct_xcount 353 354/*************************************************************************** 355* Macros to classify the entrypoints and indicate their category. 356***************************************************************************/ 357#undef __control_entrypoint 358#undef __rpc_entry 359#undef __kernel_entry 360#undef __gdi_entry 361 362/*************************************************************************** 363* Macros to track untrusted data and their validation. 364***************************************************************************/ 365#undef __in_data_source 366#undef __out_data_source 367#undef __field_data_source 368#undef __this_out_data_source 369 370/************************************************************************** 371* Macros to tag file parsing code. 372**************************************************************************/ 373#undef __out_validated 374#undef __this_out_validated 375#undef __file_parser 376#undef __file_parser_class 377#undef __file_parser_library 378 379/*************************************************************************** 380* Macros to track the code content in the file. 381***************************************************************************/ 382#undef __source_code_content 383 384/*************************************************************************** 385* Macros to track the code content in the class. 386***************************************************************************/ 387#undef __class_code_content 388 389/************************************************************************* 390* Macros to tag encoded function pointers 391**************************************************************************/ 392#undef __encoded_pointer 393#undef __encoded_array 394#undef __field_encoded_pointer 395#undef __field_encoded_array 396 397#undef __transfer 398#undef __assume_validated 399 400/************************************************************************* 401* __analysis_assume 402*************************************************************************/ 403#undef __analysis_assume 404#undef __analysis_assert 405 406/************************************************************************* 407* __analysis_hint 408*************************************************************************/ 409#undef __analysis_hint 410 411/************************************************************************* 412* Macros to encode abstract properties of values. Used by SALadt.h 413*************************************************************************/ 414#undef __type_has_adt_prop 415#undef __out_has_adt_prop 416#undef __out_not_has_adt_prop 417#undef __out_transfer_adt_prop 418#undef __out_has_type_adt_props 419 420/************************************************************************* 421* Macros used by Prefast for Drivers 422*************************************************************************/ 423#undef __possibly_notnullterminated 424 425/************************************************************************* 426* Advanced macros 427*************************************************************************/ 428#undef __volatile 429#undef __deref_volatile 430#undef __nonvolatile 431#undef __deref_nonvolatile 432 433/************************************************************************* 434* Macros deprecated with strict level greater then 1. 435**************************************************************************/ 436#undef __in_nz 437#undef __in_ecount_nz 438#undef __in_bcount_nz 439#undef __out_nz 440#undef __out_nz_opt 441#undef __out_ecount_nz 442#undef __out_bcount_nz 443#undef __inout_nz 444#undef __inout_ecount_nz 445#undef __inout_bcount_nz 446#undef __in_nz_opt 447#undef __in_ecount_nz_opt 448#undef __in_bcount_nz_opt 449#undef __out_ecount_nz_opt 450#undef __out_bcount_nz_opt 451#undef __inout_nz_opt 452#undef __inout_ecount_nz_opt 453#undef __inout_bcount_nz_opt 454#undef __deref_out_nz 455#undef __deref_out_ecount_nz 456#undef __deref_out_bcount_nz 457#undef __deref_inout_nz 458#undef __deref_inout_ecount_nz 459#undef __deref_inout_bcount_nz 460#undef __deref_out_nz_opt 461#undef __deref_out_ecount_nz_opt 462#undef __deref_out_bcount_nz_opt 463#undef __deref_inout_nz_opt 464#undef __deref_inout_ecount_nz_opt 465#undef __deref_inout_bcount_nz_opt 466#undef __deref_opt_inout_nz 467#undef __deref_opt_inout_ecount_nz 468#undef __deref_opt_inout_bcount_nz 469#undef __deref_opt_out_nz_opt 470#undef __deref_opt_out_ecount_nz_opt 471#undef __deref_opt_out_bcount_nz_opt 472#undef __deref_opt_inout_nz_opt 473#undef __deref_opt_inout_ecount_nz_opt 474#undef __deref_opt_inout_bcount_nz_opt 475#undef __deref 476#undef __pre 477#undef __post 478#undef __readableTo 479#undef __writableTo 480#undef __maybevalid 481#undef __inexpressible_readableTo 482#undef __data_entrypoint 483#undef __readonly 484#undef __byte_writableTo 485#undef __byte_readableTo 486#undef __elem_readableTo 487#undef __elem_writableTo 488#undef __valid 489#undef __notvalid 490#undef __refparam 491#undef __precond