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#ifndef _INC_FWPMU 7#define _INC_FWPMU 8#include <rpc.h> 9#include <fwptypes.h> 10#include <fwpmtypes.h> 11#include <iketypes.h> 12#include <ipsectypes.h> 13 14#ifdef __cplusplus 15extern "C" { 16#endif 17 18#if (_WIN32_WINNT >= 0x0600) 19 20#ifndef MAXUINT64 21#define MAXUINT64 (0xFFFFFFFFFFFFFFFFULL) 22#endif /* MAXUINT64 */ 23 24#define FWPM_AUTO_WEIGHT_BITS (60) 25#define FWPM_AUTO_WEIGHT_MAX (MAXUINT64 >> 4) 26#define FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS (0xC) 27#define FWPM_WEIGHT_RANGE_IPSEC (0x0) 28#define FWPM_WEIGHT_RANGE_MAX (MAXUINT64 >> 60) 29 30DEFINE_GUID(FWPM_PROVIDER_IKEEXT,0x10AD9216,0xCCDE,0x456C,0x8B,0x16,0xE9,0xF0,0x4E,0x60,0xA9,0x0B); 31DEFINE_GUID(FWPM_PROVIDER_TCP_CHIMNEY_OFFLOAD,0x896AA19E,0x9A34,0x4BCB,0xAE,0x79,0xBE,0xB9,0x12,0x7C,0x84,0xB9); 32 33typedef UINT32 IPSEC_SA_SPI; 34 35typedef void ( CALLBACK *FWPM_CALLOUT_CHANGE_CALLBACK0 )( 36 void *context, 37 const FWPM_CALLOUT_CHANGE0 *change 38); 39 40typedef void ( CALLBACK *FWPM_FILTER_CHANGE_CALLBACK0 )( 41 void *context, 42 const FWPM_FILTER_CHANGE0 *change 43); 44 45typedef void ( CALLBACK *FWPM_PROVIDER_CHANGE_CALLBACK0 )( 46 void *context, 47 const FWPM_PROVIDER_CHANGE0 *change 48); 49 50typedef void ( CALLBACK *FWPM_PROVIDER_CONTEXT_CHANGE_CALLBACK0 )( 51 void *context, 52 const FWPM_PROVIDER_CONTEXT_CHANGE0 *change 53); 54 55typedef void ( CALLBACK *FWPM_SUBLAYER_CHANGE_CALLBACK0 )( 56 void *context, 57 const FWPM_SUBLAYER_CHANGE0 *change 58); 59 60DWORD WINAPI FwpmCalloutSubscribeChanges0( 61 HANDLE engineHandle, 62 const FWPM_CALLOUT_SUBSCRIPTION0 *subscription, 63 FWPM_CALLOUT_CHANGE_CALLBACK0 callback, 64 void *context, 65 HANDLE *changeHandle 66); 67 68DWORD WINAPI FwpmEngineOpen0( 69 const wchar_t *serverName, 70 UINT32 authnService, 71 SEC_WINNT_AUTH_IDENTITY_W *authIdentity, 72 const FWPM_SESSION0 *session, 73 HANDLE *engineHandle 74); 75 76DWORD WINAPI FwpmCalloutAdd0( 77 HANDLE engineHandle, 78 const FWPM_CALLOUT0 *callout, 79 PSECURITY_DESCRIPTOR sd, 80 UINT32 *id 81); 82 83DWORD WINAPI FwpmFilterAdd0( 84 HANDLE engineHandle, 85 const FWPM_FILTER0 *filter, 86 PSECURITY_DESCRIPTOR sd, 87 UINT64 *id 88); 89 90DWORD WINAPI FwpmEngineClose0( 91 HANDLE engineHandle 92); 93 94DWORD WINAPI FwpmFilterSubscribeChanges0( 95 HANDLE engineHandle, 96 const FWPM_FILTER_SUBSCRIPTION0 *subscription, 97 FWPM_FILTER_CHANGE_CALLBACK0 callback, 98 void *context, 99 HANDLE *changeHandle 100); 101 102DWORD WINAPI FwpmProviderSubscribeChanges0( 103 HANDLE engineHandle, 104 const FWPM_PROVIDER_SUBSCRIPTION0 *subscription, 105 FWPM_PROVIDER_CHANGE_CALLBACK0 callback, 106 void *context, 107 HANDLE *changeHandle 108); 109 110DWORD WINAPI FwpmProviderContextSubscribeChanges0( 111 HANDLE engineHandle, 112 const FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0 *subscription, 113 FWPM_PROVIDER_CONTEXT_CHANGE_CALLBACK0 callback, 114 void *context, 115 HANDLE *changeHandle 116); 117 118DWORD WINAPI FwpmProviderContextAdd0( 119 HANDLE engineHandle, 120 const FWPM_PROVIDER_CONTEXT0 *providerContext, 121 PSECURITY_DESCRIPTOR sd, 122 UINT64 *id 123); 124 125DWORD WINAPI FwpmSubLayerSubscribeChanges0( 126 HANDLE engineHandle, 127 const FWPM_SUBLAYER_SUBSCRIPTION0 *subscription, 128 FWPM_SUBLAYER_CHANGE_CALLBACK0 callback, 129 void *context, 130 HANDLE *changeHandle 131); 132 133DWORD WINAPI FwpmSubLayerAdd0( 134 HANDLE engineHandle, 135 const FWPM_SUBLAYER0 *subLayer, 136 PSECURITY_DESCRIPTOR sd 137); 138 139DWORD WINAPI FwpmCalloutCreateEnumHandle0( 140 HANDLE engineHandle, 141 const FWPM_CALLOUT_ENUM_TEMPLATE0 *enumTemplate, 142 HANDLE *enumHandle 143); 144 145DWORD WINAPI FwpmCalloutDeleteById0( 146 HANDLE engineHandle, 147 UINT32 id 148); 149 150DWORD WINAPI FwpmCalloutDeleteByKey0( 151 HANDLE engineHandle, 152 const GUID *key 153); 154 155DWORD WINAPI FwpmCalloutDestroyEnumHandle0( 156 HANDLE engineHandle, 157 HANDLE enumHandle 158); 159 160DWORD WINAPI FwpmCalloutEnum0( 161 HANDLE engineHandle, 162 HANDLE enumHandle, 163 UINT32 numEntriesRequested, 164 FWPM_CALLOUT0 ***entries, 165 UINT32 *numEntriesReturned 166); 167 168void WINAPI FwpmFreeMemory0( 169 void **p 170); 171 172DWORD WINAPI FwpmCalloutGetById0( 173 HANDLE engineHandle, 174 UINT32 id, 175 FWPM_CALLOUT0 **callout 176); 177 178DWORD WINAPI FwpmCalloutGetByKey0( 179 HANDLE engineHandle, 180 const GUID *key, 181 FWPM_CALLOUT0 **callout 182); 183 184DWORD WINAPI FwpmCalloutGetSecurityInfoByKey0( 185 HANDLE engineHandle, 186 const GUID *key, 187 SECURITY_INFORMATION securityInfo, 188 PSID *sidOwner, 189 PSID *sidGroup, 190 PACL *dacl, 191 PACL *sacl, 192 PSECURITY_DESCRIPTOR *securityDescriptor 193); 194 195DWORD WINAPI FwpmCalloutSetSecurityInfoByKey0( 196 HANDLE engineHandle, 197 const GUID *key, 198 SECURITY_INFORMATION securityInfo, 199 const SID *sidOwner, 200 const SID *sidGroup, 201 const ACL *dacl, 202 const ACL *sacl 203); 204 205DWORD WINAPI FwpmCalloutSubscriptionsGet0( 206 HANDLE engineHandle, 207 FWPM_CALLOUT_SUBSCRIPTION0 ***entries, 208 UINT32 *numEntries 209); 210 211DWORD WINAPI FwpmCalloutUnsubscribeChanges0( 212 HANDLE engineHandle, 213 HANDLE changeHandle 214); 215 216#define FWPM_NET_EVENT_KEYWORD_INBOUND_MCAST 1 217#define FWPM_NET_EVENT_KEYWORD_INBOUND_BCAST 2 218 219DWORD WINAPI FwpmEngineGetOption0( 220 HANDLE engineHandle, 221 FWPM_ENGINE_OPTION option, 222 FWP_VALUE0 **value 223); 224 225DWORD WINAPI FwpmEngineGetSecurityInfo0( 226 HANDLE engineHandle, 227 SECURITY_INFORMATION securityInfo, 228 PSID *sidOwner, 229 PSID *sidGroup, 230 PACL *dacl, 231 PACL *sacl, 232 PSECURITY_DESCRIPTOR *securityDescriptor 233); 234 235DWORD WINAPI FwpmEngineSetOption0( 236 HANDLE engineHandle, 237 FWPM_ENGINE_OPTION option, 238 const FWP_VALUE0 *newValue 239); 240 241DWORD WINAPI IPsecSaDbSetSecurityInfo0( 242 HANDLE engineHandle, 243 SECURITY_INFORMATION securityInfo, 244 const SID *sidOwner, 245 const SID *sidGroup, 246 const ACL *dacl, 247 const ACL *sacl 248); 249 250DWORD WINAPI FwpmFilterCreateEnumHandle0( 251 HANDLE engineHandle, 252 const FWPM_FILTER_ENUM_TEMPLATE0 *enumTemplate, 253 HANDLE *enumHandle 254); 255 256DWORD WINAPI FwpmFilterDeleteById0( 257 HANDLE engineHandle, 258 UINT64 id 259); 260 261DWORD WINAPI FwpmFilterDeleteByKey0( 262 HANDLE engineHandle, 263 const GUID *key 264); 265 266DWORD WINAPI FwpmFilterDestroyEnumHandle0( 267 HANDLE engineHandle, 268 HANDLE enumHandle 269); 270 271DWORD WINAPI FwpmFilterEnum0( 272 HANDLE engineHandle, 273 HANDLE enumHandle, 274 UINT32 numEntriesRequested, 275 FWPM_FILTER0 ***entries, 276 UINT32 *numEntriesReturned 277); 278 279DWORD WINAPI FwpmFilterGetById0( 280 HANDLE engineHandle, 281 UINT64 id, 282 FWPM_FILTER0 **filter 283); 284 285DWORD WINAPI FwpmFilterGetByKey0( 286 HANDLE engineHandle, 287 const GUID *key, 288 FWPM_FILTER0 **filter 289); 290 291DWORD WINAPI FwpmFilterGetSecurityInfoByKey0( 292 HANDLE engineHandle, 293 const GUID *key, 294 SECURITY_INFORMATION securityInfo, 295 PSID *sidOwner, 296 PSID *sidGroup, 297 PACL *dacl, 298 PACL *sacl, 299 PSECURITY_DESCRIPTOR *securityDescriptor 300); 301 302DWORD WINAPI FwpmFilterSetSecurityInfoByKey0( 303 HANDLE engineHandle, 304 const GUID *key, 305 SECURITY_INFORMATION securityInfo, 306 const SID *sidOwner, 307 const SID *sidGroup, 308 const ACL *dacl, 309 const ACL *sacl 310); 311 312DWORD WINAPI FwpmFilterSubscriptionsGet0( 313 HANDLE engineHandle, 314 FWPM_FILTER_SUBSCRIPTION0 ***entries, 315 UINT32 *numEntries 316); 317 318DWORD WINAPI FwpmFilterUnsubscribeChanges0( 319 HANDLE engineHandle, 320 HANDLE changeHandle 321); 322 323DWORD WINAPI FwpmGetAppIdFromFileName0( 324 const wchar_t *fileName, 325 FWP_BYTE_BLOB **appId 326); 327 328DWORD WINAPI FwpmIpsecTunnelAdd0( 329 HANDLE engineHandle, 330 UINT32 flags, 331 const FWPM_PROVIDER_CONTEXT0 *mainModePolicy, 332 const FWPM_PROVIDER_CONTEXT0 *tunnelPolicy, 333 UINT32 numFilterConditions, 334 const FWPM_FILTER_CONDITION0 *filterConditions, 335 PSECURITY_DESCRIPTOR sd 336); 337 338DWORD WINAPI FwpmIPsecTunnelDeleteByKey0( 339 HANDLE engineHandle, 340 const GUID *key 341); 342 343DWORD WINAPI FwpmLayerCreateEnumHandle0( 344 HANDLE engineHandle, 345 const FWPM_LAYER_ENUM_TEMPLATE0 *enumTemplate, 346 HANDLE *enumHandle 347); 348 349DWORD WINAPI FwpmLayerDestroyEnumHandle0( 350 HANDLE engineHandle, 351 HANDLE enumHandle 352); 353 354DWORD WINAPI FwpmLayerEnum0( 355 HANDLE engineHandle, 356 HANDLE enumHandle, 357 UINT32 numEntriesRequested, 358 FWPM_LAYER0 ***entries, 359 UINT32 *numEntriesReturned 360); 361 362DWORD WINAPI FwpmLayerGetById0( 363 HANDLE engineHandle, 364 UINT16 id, 365 FWPM_LAYER0 **layer 366); 367 368DWORD WINAPI FwpmLayerGetByKey0( 369 HANDLE engineHandle, 370 const GUID *key, 371 FWPM_LAYER0 **layer 372); 373 374DWORD WINAPI FwpmLayerGetSecurityInfoByKey0( 375 HANDLE engineHandle, 376 const GUID *key, 377 SECURITY_INFORMATION securityInfo, 378 PSID *sidOwner, 379 PSID *sidGroup, 380 PACL *dacl, 381 PACL *sacl, 382 PSECURITY_DESCRIPTOR *securityDescriptor 383); 384 385DWORD WINAPI FwpmLayerSetSecurityInfoByKey0( 386 HANDLE engineHandle, 387 const GUID *key, 388 SECURITY_INFORMATION securityInfo, 389 const SID *sidOwner, 390 const SID *sidGroup, 391 const ACL *dacl, 392 const ACL *sacl 393); 394 395DWORD WINAPI FwpmNetEventCreateEnumHandle0( 396 HANDLE engineHandle, 397 const FWPM_NET_EVENT_ENUM_TEMPLATE0 *enumTemplate, 398 HANDLE *enumHandle 399); 400 401DWORD WINAPI FwpmNetEventDestroyEnumHandle0( 402 HANDLE engineHandle, 403 HANDLE enumHandle 404); 405 406DWORD WINAPI FwpmNetEventEnum0( 407 HANDLE engineHandle, 408 HANDLE enumHandle, 409 UINT32 numEntriesRequested, 410 FWPM_NET_EVENT0 ***entries, 411 UINT32 *numEntriesReturned 412); 413 414DWORD WINAPI FwpmNetEventsGetSecurityInfo0( 415 HANDLE engineHandle, 416 SECURITY_INFORMATION securityInfo, 417 PSID *sidOwner, 418 PSID *sidGroup, 419 PACL *dacl, 420 PACL *sacl, 421 PSECURITY_DESCRIPTOR *securityDescriptor 422); 423 424DWORD WINAPI FwpmNetEventsSetSecurityInfo0( 425 HANDLE engineHandle, 426 SECURITY_INFORMATION securityInfo, 427 const SID *sidOwner, 428 const SID *sidGroup, 429 const ACL *dacl, 430 const ACL *sacl 431); 432 433DWORD WINAPI FwpmProviderAdd0( 434 HANDLE engineHandle, 435 const FWPM_PROVIDER0 *provider, 436 PSECURITY_DESCRIPTOR sd 437); 438 439DWORD WINAPI FwpmProviderContextCreateEnumHandle0( 440 HANDLE engineHandle, 441 const FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0 *enumTemplate, 442 HANDLE *enumHandle 443); 444 445DWORD WINAPI FwpmProviderContextDeleteById0( 446 HANDLE engineHandle, 447 UINT64 id 448); 449 450DWORD WINAPI FwpmProviderContextDeleteByKey0( 451 HANDLE engineHandle, 452 const GUID *key 453); 454 455DWORD WINAPI FwpmProviderContextDestroyEnumHandle0( 456 HANDLE engineHandle, 457 HANDLE enumHandle 458); 459 460DWORD WINAPI FwpmProviderContextEnum0( 461 HANDLE engineHandle, 462 HANDLE enumHandle, 463 UINT32 numEntriesRequested, 464 FWPM_PROVIDER_CONTEXT0 ***entries, 465 UINT32 *numEntriesReturned 466); 467 468DWORD WINAPI FwpmProviderContextGetById0( 469 HANDLE engineHandle, 470 UINT64 id, 471 FWPM_PROVIDER_CONTEXT0 **providerContext 472); 473 474DWORD WINAPI FwpmProviderContextGetByKey0( 475 HANDLE engineHandle, 476 const GUID *key, 477 FWPM_PROVIDER_CONTEXT0 **providerContext 478); 479 480DWORD WINAPI FwpmProviderContextGetSecurityInfoByKey0( 481 HANDLE engineHandle, 482 const GUID *key, 483 SECURITY_INFORMATION securityInfo, 484 PSID *sidOwner, 485 PSID *sidGroup, 486 PACL *dacl, 487 PACL *sacl, 488 PSECURITY_DESCRIPTOR *securityDescriptor 489); 490 491DWORD WINAPI FwpmProviderContextSetSecurityInfoByKey0( 492 HANDLE engineHandle, 493 const GUID *key, 494 SECURITY_INFORMATION securityInfo, 495 const SID *sidOwner, 496 const SID *sidGroup, 497 const ACL *dacl, 498 const ACL *sacl 499); 500 501DWORD WINAPI FwpmProviderContextSubscriptionsGet0( 502 HANDLE engineHandle, 503 FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0 ***entries, 504 UINT32 *numEntries 505); 506 507DWORD WINAPI FwpmProviderContextUnsubscribeChanges0( 508 HANDLE engineHandle, 509 HANDLE changeHandle 510); 511 512DWORD WINAPI FwpmProviderCreateEnumHandle0( 513 HANDLE engineHandle, 514 const FWPM_PROVIDER_ENUM_TEMPLATE0 *enumTemplate, 515 HANDLE *enumHandle 516); 517 518DWORD WINAPI FwpmProviderDeleteByKey0( 519 HANDLE engineHandle, 520 const GUID *key 521); 522 523DWORD WINAPI FwpmProviderDestroyEnumHandle0( 524 HANDLE engineHandle, 525 HANDLE enumHandle 526); 527 528DWORD WINAPI FwpmProviderEnum0( 529 HANDLE engineHandle, 530 HANDLE enumHandle, 531 UINT32 numEntriesRequested, 532 FWPM_PROVIDER0 ***entries, 533 UINT32 *numEntriesReturned 534); 535 536DWORD WINAPI FwpmProviderGetByKey0( 537 HANDLE engineHandle, 538 const GUID *key, 539 FWPM_PROVIDER0 **provider 540); 541 542DWORD WINAPI FwpmProviderGetSecurityInfoByKey0( 543 HANDLE engineHandle, 544 const GUID *key, 545 SECURITY_INFORMATION securityInfo, 546 PSID *sidOwner, 547 PSID *sidGroup, 548 PACL *dacl, 549 PACL *sacl, 550 PSECURITY_DESCRIPTOR *securityDescriptor 551); 552 553DWORD WINAPI FwpmProviderSetSecurityInfoByKey0( 554 HANDLE engineHandle, 555 const GUID *key, 556 SECURITY_INFORMATION securityInfo, 557 const SID *sidOwner, 558 const SID *sidGroup, 559 const ACL *dacl, 560 const ACL *sacl 561); 562 563DWORD WINAPI FwpmProviderSubscriptionsGet0( 564 HANDLE engineHandle, 565 FWPM_PROVIDER_SUBSCRIPTION0 ***entries, 566 UINT32 *numEntries 567); 568 569DWORD WINAPI FwpmProviderUnsubscribeChanges0( 570 HANDLE engineHandle, 571 HANDLE changeHandle 572); 573 574DWORD WINAPI FwpmSessionCreateEnumHandle0( 575 HANDLE engineHandle, 576 const FWPM_SESSION_ENUM_TEMPLATE0 *enumTemplate, 577 HANDLE *enumHandle 578); 579 580DWORD WINAPI FwpmSessionDestroyEnumHandle0( 581 HANDLE engineHandle, 582 HANDLE enumHandle 583); 584 585DWORD WINAPI FwpmSessionEnum0( 586 HANDLE engineHandle, 587 HANDLE enumHandle, 588 UINT32 numEntriesRequested, 589 FWPM_SESSION0 ***entries, 590 UINT32 *numEntriesReturned 591); 592 593DWORD WINAPI FwpmSubLayerCreateEnumHandle0( 594 HANDLE engineHandle, 595 const FWPM_SUBLAYER_ENUM_TEMPLATE0 *enumTemplate, 596 HANDLE *enumHandle 597); 598 599DWORD WINAPI FwpmSubLayerDeleteByKey0( 600 HANDLE engineHandle, 601 const GUID *key 602); 603 604DWORD WINAPI FwpmSubLayerDestroyEnumHandle0( 605 HANDLE engineHandle, 606 HANDLE enumHandle 607); 608 609DWORD WINAPI FwpmSubLayerEnum0( 610 HANDLE engineHandle, 611 HANDLE enumHandle, 612 UINT32 numEntriesRequested, 613 FWPM_SUBLAYER0 ***entries, 614 UINT32 *numEntriesReturned 615); 616 617DWORD WINAPI FwpmSubLayerGetByKey0( 618 HANDLE engineHandle, 619 const GUID *key, 620 FWPM_SUBLAYER0 **subLayer 621); 622 623DWORD WINAPI FwpmSubLayerGetSecurityInfoByKey0( 624 HANDLE engineHandle, 625 const GUID *key, 626 SECURITY_INFORMATION securityInfo, 627 PSID *sidOwner, 628 PSID *sidGroup, 629 PACL *dacl, 630 PACL *sacl, 631 PSECURITY_DESCRIPTOR *securityDescriptor 632); 633 634DWORD WINAPI FwpmCalloutSetSecurityInfoByKey0( 635 HANDLE engineHandle, 636 const GUID *key, 637 SECURITY_INFORMATION securityInfo, 638 const SID *sidOwner, 639 const SID *sidGroup, 640 const ACL *dacl, 641 const ACL *sacl 642); 643 644DWORD WINAPI FwpmSubLayerSubscriptionsGet0( 645 HANDLE engineHandle, 646 FWPM_SUBLAYER_SUBSCRIPTION0 ***entries, 647 UINT32 *numEntries 648); 649 650DWORD WINAPI FwpmSubLayerUnsubscribeChanges0( 651 HANDLE engineHandle, 652 HANDLE changeHandle 653); 654 655DWORD WINAPI FwpmTransactionAbort0( 656 HANDLE engineHandle 657); 658 659DWORD WINAPI FwpmTransactionBegin0( 660 HANDLE engineHandle, 661 UINT32 flags 662); 663 664DWORD WINAPI FwpmTransactionCommit0( 665 HANDLE engineHandle 666); 667 668DWORD WINAPI IkeextGetStatistics0( 669 HANDLE engineHandle, 670 IKEEXT_STATISTICS0 *ikeextStatistics 671); 672 673DWORD WINAPI IkeextSaDbGetSecurityInfo0( 674 HANDLE engineHandle, 675 SECURITY_INFORMATION securityInfo, 676 PSID *sidOwner, 677 PSID *sidGroup, 678 PACL *dacl, 679 PACL *sacl, 680 PSECURITY_DESCRIPTOR *securityDescriptor 681); 682 683DWORD WINAPI IkeextSaCreateEnumHandle0( 684 HANDLE engineHandle, 685 const IKEEXT_SA_ENUM_TEMPLATE0 *enumTemplate, 686 HANDLE *enumHandle 687); 688 689DWORD WINAPI IkeextSaDbSetSecurityInfo0( 690 HANDLE engineHandle, 691 SECURITY_INFORMATION securityInfo, 692 const SID *sidOwner, 693 const SID *sidGroup, 694 const ACL *dacl, 695 const ACL *sacl 696); 697 698DWORD WINAPI IkeextSaDeleteById0( 699 HANDLE engineHandle, 700 UINT64 id 701); 702 703DWORD WINAPI IkeextSaDestroyEnumHandle0( 704 HANDLE engineHandle, 705 HANDLE enumHandle 706); 707 708DWORD WINAPI IkeextSaEnum0( 709 HANDLE engineHandle, 710 HANDLE enumHandle, 711 UINT32 numEntriesRequested, 712 IKEEXT_SA_DETAILS0 ***entries, 713 UINT32 *numEntriesReturned 714); 715 716DWORD WINAPI IkeextSaGetById0( 717 HANDLE engineHandle, 718 UINT64 id, 719 IKEEXT_SA_DETAILS0 **sa 720); 721 722DWORD WINAPI IPsecGetStatistics0( 723 HANDLE engineHandle, 724 IPSEC_STATISTICS0 *ipsecStatistics 725); 726 727DWORD WINAPI IPsecSaContextAddInbound0( 728 HANDLE engineHandle, 729 UINT64 id, 730 const IPSEC_SA_BUNDLE0 *inboundBundle 731); 732 733DWORD WINAPI IPsecSaContextAddOutbound0( 734 HANDLE engineHandle, 735 UINT64 id, 736 const IPSEC_SA_BUNDLE0 *outboundBundle 737); 738 739DWORD WINAPI IPsecSaContextCreate0( 740 HANDLE engineHandle, 741 const IPSEC_TRAFFIC0 *outboundTraffic, 742 UINT64 *inboundFilterId, 743 UINT64 *id 744); 745 746DWORD WINAPI IPsecSaContextCreateEnumHandle0( 747 HANDLE engineHandle, 748 const IPSEC_SA_CONTEXT_ENUM_TEMPLATE0 *enumTemplate, 749 HANDLE *enumHandle 750); 751 752DWORD WINAPI IPsecSaContextDeleteById0( 753 HANDLE engineHandle, 754 UINT64 id 755); 756 757DWORD WINAPI IPsecSaContextDestroyEnumHandle0( 758 HANDLE engineHandle, 759 HANDLE enumHandle 760); 761 762DWORD WINAPI FwpmEngineSetSecurityInfo0( 763 HANDLE engineHandle, 764 SECURITY_INFORMATION securityInfo, 765 const SID *sidOwner, 766 const SID *sidGroup, 767 const ACL *dacl, 768 const ACL *sacl 769); 770 771DWORD WINAPI IPsecSaContextEnum0( 772 HANDLE engineHandle, 773 HANDLE enumHandle, 774 UINT32 numEntriesRequested, 775 IPSEC_SA_CONTEXT0 ***entries, 776 UINT32 *numEntriesReturned 777); 778 779DWORD WINAPI IPsecSaContextExpire0( 780 HANDLE engineHandle, 781 UINT64 id 782); 783 784DWORD WINAPI IPsecSaContextGetById0( 785 HANDLE engineHandle, 786 UINT64 id, 787 IPSEC_SA_CONTEXT0 **saContext 788); 789 790DWORD WINAPI IPsecSaContextGetSpi0( 791 HANDLE engineHandle, 792 UINT64 id, 793 const IPSEC_GETSPI0 *getSpi, 794 IPSEC_SA_SPI *inboundSpi 795); 796 797DWORD WINAPI IPsecSaCreateEnumHandle0( 798 HANDLE engineHandle, 799 const IPSEC_SA_ENUM_TEMPLATE0 *enumTemplate, 800 HANDLE *enumHandle 801); 802 803DWORD WINAPI IPsecSaDbGetSecurityInfo0( 804 HANDLE engineHandle, 805 SECURITY_INFORMATION securityInfo, 806 PSID *sidOwner, 807 PSID *sidGroup, 808 PACL *dacl, 809 PACL *sacl, 810 PSECURITY_DESCRIPTOR *securityDescriptor 811); 812 813DWORD WINAPI IPsecSaDestroyEnumHandle0( 814 HANDLE engineHandle, 815 HANDLE enumHandle 816); 817 818DWORD WINAPI IPsecSaEnum0( 819 HANDLE engineHandle, 820 HANDLE enumHandle, 821 UINT32 numEntriesRequested, 822 IPSEC_SA_DETAILS0 ***entries, 823 UINT32 *numEntriesReturned 824); 825 826#endif /*(_WIN32_WINNT >= 0x0600)*/ 827 828#if (_WIN32_WINNT >= 0x0601) 829 830DEFINE_GUID(FWPM_PROVIDER_IPSEC_DOS_CONFIG,0x3C6C0519,0xC05C,0x4BB9,0x83,0x38,0x23,0x27,0x81,0x4C,0xE8,0xBF); 831 832typedef void ( CALLBACK *FWPM_NET_EVENT_CALLBACK0 )( 833 void *context, 834 const FWPM_NET_EVENT1 *event 835); 836 837typedef void ( CALLBACK *FWPM_SYSTEM_PORTS_CALLBACK0 )( 838 void *context, 839 const FWPM_SYSTEM_PORTS0 *sysPorts 840); 841 842DWORD WINAPI IkeextGetStatistics1( 843 HANDLE engineHandle, 844 IKEEXT_STATISTICS1 *ikeextStatistics 845); 846 847DWORD WINAPI IkeextSaEnum1( 848 HANDLE engineHandle, 849 HANDLE enumHandle, 850 UINT32 numEntriesRequested, 851 IKEEXT_SA_DETAILS1 ***entries, 852 UINT32 *numEntriesReturned 853); 854 855DWORD WINAPI IkeextSaGetById1( 856 HANDLE engineHandle, 857 UINT64 id, 858 GUID *saLookupContext, 859 IKEEXT_SA_DETAILS1 **sa 860); 861 862DWORD WINAPI FwpmIpsecTunnelAdd1( 863 HANDLE engineHandle, 864 UINT32 flags, 865 const FWPM_PROVIDER_CONTEXT1 *mainModePolicy, 866 const FWPM_PROVIDER_CONTEXT1 *tunnelPolicy, 867 UINT32 numFilterConditions, 868 const FWPM_FILTER_CONDITION0 *filterConditions, 869 const GUID *keyModKey, 870 PSECURITY_DESCRIPTOR sd 871); 872 873DWORD WINAPI IPsecDospGetSecurityInfo0( 874 HANDLE engineHandle, 875 SECURITY_INFORMATION securityInfo, 876 PSID *sidOwner, 877 PSID *sidGroup, 878 PACL *dacl, 879 PACL *sacl, 880 PSECURITY_DESCRIPTOR *securityDescriptor 881); 882 883DWORD WINAPI IPsecDospGetStatistics0( 884 HANDLE engineHandle, 885 IPSEC_DOSP_STATISTICS0 *idpStatistics 886); 887 888DWORD WINAPI IPsecDospSetSecurityInfo0( 889 HANDLE engineHandle, 890 SECURITY_INFORMATION securityInfo, 891 const SID *sidOwner, 892 const SID *sidGroup, 893 const ACL *dacl, 894 const ACL *sacl 895); 896 897DWORD WINAPI IPsecDospStateCreateEnumHandle0( 898 HANDLE engineHandle, 899 const IPSEC_DOSP_STATE_ENUM_TEMPLATE0 *enumTemplate, 900 HANDLE *enumHandle 901); 902 903DWORD WINAPI IPsecDospStateDestroyEnumHandle0( 904 HANDLE engineHandle, 905 HANDLE enumHandle 906); 907 908DWORD WINAPI IPsecDospStateEnum0( 909 HANDLE engineHandle, 910 HANDLE enumHandle, 911 UINT32 numEntriesRequested, 912 IPSEC_DOSP_STATE0 ***entries, 913 UINT32 *numEntries 914); 915 916DWORD WINAPI IPsecGetStatistics1( 917 HANDLE engineHandle, 918 IPSEC_STATISTICS1 *ipsecStatistics 919); 920 921DWORD WINAPI IPsecSaContextAddInbound1( 922 HANDLE engineHandle, 923 UINT64 id, 924 const IPSEC_SA_BUNDLE1 *inboundBundle 925); 926 927DWORD WINAPI IPsecSaContextAddOutbound1( 928 HANDLE engineHandle, 929 UINT64 id, 930 const IPSEC_SA_BUNDLE1 *outboundBundle 931); 932 933DWORD WINAPI IPsecSaContextCreate1( 934 HANDLE engineHandle, 935 const IPSEC_TRAFFIC1 *outboundTraffic, 936 const IPSEC_VIRTUAL_IF_TUNNEL_INFO0 *virtualIfTunnelInfo, 937 UINT64 *inboundFilterId, 938 UINT64 *id 939); 940 941DWORD WINAPI FwpmNetEventEnum1( 942 HANDLE engineHandle, 943 HANDLE enumHandle, 944 UINT32 numEntriesRequested, 945 FWPM_NET_EVENT1 ***entries, 946 UINT32 *numEntriesReturned 947); 948 949DWORD WINAPI FwpmNetEventSubscribe0( 950 HANDLE engineHandle, 951 const FWPM_NET_EVENT_SUBSCRIPTION0 *subscription, 952 FWPM_NET_EVENT_CALLBACK0 callback, 953 void *context, 954 HANDLE *eventsHandle 955); 956 957DWORD WINAPI FwpmNetEventSubscriptionsGet0( 958 HANDLE engineHandle, 959 FWPM_NET_EVENT_SUBSCRIPTION0 ***entries, 960 UINT32 *numEntries 961); 962 963DWORD WINAPI FwpmNetEventUnsubscribe0( 964 HANDLE engineHandle, 965 HANDLE eventsHandle 966); 967 968DWORD WINAPI FwpmProviderContextAdd1( 969 HANDLE engineHandle, 970 const FWPM_PROVIDER_CONTEXT1 *providerContext, 971 PSECURITY_DESCRIPTOR sd, 972 UINT64 *id 973); 974 975DWORD WINAPI FwpmProviderContextEnum1( 976 HANDLE engineHandle, 977 HANDLE enumHandle, 978 UINT32 numEntriesRequested, 979 FWPM_PROVIDER_CONTEXT1 ***entries, 980 UINT32 *numEntriesReturned 981); 982 983DWORD WINAPI FwpmProviderContextGetById1( 984 HANDLE engineHandle, 985 UINT64 id, 986 FWPM_PROVIDER_CONTEXT1 **providerContext 987); 988 989DWORD WINAPI FwpmProviderContextGetByKey1( 990 HANDLE engineHandle, 991 const GUID *key, 992 FWPM_PROVIDER_CONTEXT1 **providerContext 993); 994 995DWORD WINAPI FwpmSystemPortsGet0( 996 HANDLE engineHandle, 997 FWPM_SYSTEM_PORTS0 **sysPorts 998); 999 1000DWORD WINAPI FwpmSystemPortsSubscribe0( 1001 HANDLE engineHandle, 1002 void *reserved, 1003 FWPM_SYSTEM_PORTS_CALLBACK0 callback, 1004 void *context, 1005 HANDLE *sysPortsHandle 1006); 1007 1008DWORD WINAPI FwpmSystemPortsUnsubscribe0( 1009 HANDLE engineHandle, 1010 HANDLE sysPortsHandle 1011); 1012 1013DWORD WINAPI IPsecSaContextEnum1( 1014 HANDLE engineHandle, 1015 HANDLE enumHandle, 1016 UINT32 numEntriesRequested, 1017 IPSEC_SA_CONTEXT1 ***entries, 1018 UINT32 *numEntriesReturned 1019); 1020 1021DWORD WINAPI IPsecSaContextGetById1( 1022 HANDLE engineHandle, 1023 UINT64 id, 1024 IPSEC_SA_CONTEXT1 **saContext 1025); 1026 1027DWORD WINAPI IPsecSaContextGetSpi1( 1028 HANDLE engineHandle, 1029 UINT64 id, 1030 const IPSEC_GETSPI1 *getSpi, 1031 IPSEC_SA_SPI *inboundSpi 1032); 1033 1034DWORD WINAPI IPsecSaContextUpdate0( 1035 HANDLE engineHandle, 1036 UINT32 flags, 1037 const IPSEC_SA_CONTEXT1 *newValues 1038); 1039 1040DWORD WINAPI IPsecSaEnum1( 1041 HANDLE engineHandle, 1042 HANDLE enumHandle, 1043 UINT32 numEntriesRequested, 1044 IPSEC_SA_DETAILS1 ***entries, 1045 UINT32 *numEntriesReturned 1046); 1047 1048DWORD WINAPI IPsecSaContextSetSpi0( 1049 HANDLE engineHandle, 1050 UINT64 id, 1051 const IPSEC_GETSPI1 *getSpi, 1052 IPSEC_SA_SPI inboundSpi 1053); 1054 1055#endif /*(_WIN32_WINNT >= 0x0601)*/ 1056 1057#ifdef __cplusplus 1058} 1059#endif 1060#endif /*_INC_FWPMU*/ 1061