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 15 extern "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 30 DEFINE_GUID(FWPM_PROVIDER_IKEEXT,0x10AD9216,0xCCDE,0x456C,0x8B,0x16,0xE9,0xF0,0x4E,0x60,0xA9,0x0B); 31 DEFINE_GUID(FWPM_PROVIDER_TCP_CHIMNEY_OFFLOAD,0x896AA19E,0x9A34,0x4BCB,0xAE,0x79,0xBE,0xB9,0x12,0x7C,0x84,0xB9); 32 33 typedef UINT32 IPSEC_SA_SPI; 34 35 typedef void ( CALLBACK *FWPM_CALLOUT_CHANGE_CALLBACK0 )( 36 void *context, 37 const FWPM_CALLOUT_CHANGE0 *change 38 ); 39 40 typedef void ( CALLBACK *FWPM_FILTER_CHANGE_CALLBACK0 )( 41 void *context, 42 const FWPM_FILTER_CHANGE0 *change 43 ); 44 45 typedef void ( CALLBACK *FWPM_PROVIDER_CHANGE_CALLBACK0 )( 46 void *context, 47 const FWPM_PROVIDER_CHANGE0 *change 48 ); 49 50 typedef void ( CALLBACK *FWPM_PROVIDER_CONTEXT_CHANGE_CALLBACK0 )( 51 void *context, 52 const FWPM_PROVIDER_CONTEXT_CHANGE0 *change 53 ); 54 55 typedef void ( CALLBACK *FWPM_SUBLAYER_CHANGE_CALLBACK0 )( 56 void *context, 57 const FWPM_SUBLAYER_CHANGE0 *change 58 ); 59 60 DWORD 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 68 DWORD 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 76 DWORD WINAPI FwpmCalloutAdd0( 77 HANDLE engineHandle, 78 const FWPM_CALLOUT0 *callout, 79 PSECURITY_DESCRIPTOR sd, 80 UINT32 *id 81 ); 82 83 DWORD WINAPI FwpmFilterAdd0( 84 HANDLE engineHandle, 85 const FWPM_FILTER0 *filter, 86 PSECURITY_DESCRIPTOR sd, 87 UINT64 *id 88 ); 89 90 DWORD WINAPI FwpmEngineClose0( 91 HANDLE engineHandle 92 ); 93 94 DWORD 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 102 DWORD 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 110 DWORD 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 118 DWORD WINAPI FwpmProviderContextAdd0( 119 HANDLE engineHandle, 120 const FWPM_PROVIDER_CONTEXT0 *providerContext, 121 PSECURITY_DESCRIPTOR sd, 122 UINT64 *id 123 ); 124 125 DWORD 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 133 DWORD WINAPI FwpmSubLayerAdd0( 134 HANDLE engineHandle, 135 const FWPM_SUBLAYER0 *subLayer, 136 PSECURITY_DESCRIPTOR sd 137 ); 138 139 DWORD WINAPI FwpmCalloutCreateEnumHandle0( 140 HANDLE engineHandle, 141 const FWPM_CALLOUT_ENUM_TEMPLATE0 *enumTemplate, 142 HANDLE *enumHandle 143 ); 144 145 DWORD WINAPI FwpmCalloutDeleteById0( 146 HANDLE engineHandle, 147 UINT32 id 148 ); 149 150 DWORD WINAPI FwpmCalloutDeleteByKey0( 151 HANDLE engineHandle, 152 const GUID *key 153 ); 154 155 DWORD WINAPI FwpmCalloutDestroyEnumHandle0( 156 HANDLE engineHandle, 157 HANDLE enumHandle 158 ); 159 160 DWORD WINAPI FwpmCalloutEnum0( 161 HANDLE engineHandle, 162 HANDLE enumHandle, 163 UINT32 numEntriesRequested, 164 FWPM_CALLOUT0 ***entries, 165 UINT32 *numEntriesReturned 166 ); 167 168 void WINAPI FwpmFreeMemory0( 169 void **p 170 ); 171 172 DWORD WINAPI FwpmCalloutGetById0( 173 HANDLE engineHandle, 174 UINT32 id, 175 FWPM_CALLOUT0 **callout 176 ); 177 178 DWORD WINAPI FwpmCalloutGetByKey0( 179 HANDLE engineHandle, 180 const GUID *key, 181 FWPM_CALLOUT0 **callout 182 ); 183 184 DWORD 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 195 DWORD 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 205 DWORD WINAPI FwpmCalloutSubscriptionsGet0( 206 HANDLE engineHandle, 207 FWPM_CALLOUT_SUBSCRIPTION0 ***entries, 208 UINT32 *numEntries 209 ); 210 211 DWORD 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 219 DWORD WINAPI FwpmEngineGetOption0( 220 HANDLE engineHandle, 221 FWPM_ENGINE_OPTION option, 222 FWP_VALUE0 **value 223 ); 224 225 DWORD 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 235 DWORD WINAPI FwpmEngineSetOption0( 236 HANDLE engineHandle, 237 FWPM_ENGINE_OPTION option, 238 const FWP_VALUE0 *newValue 239 ); 240 241 DWORD 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 250 DWORD WINAPI FwpmFilterCreateEnumHandle0( 251 HANDLE engineHandle, 252 const FWPM_FILTER_ENUM_TEMPLATE0 *enumTemplate, 253 HANDLE *enumHandle 254 ); 255 256 DWORD WINAPI FwpmFilterDeleteById0( 257 HANDLE engineHandle, 258 UINT64 id 259 ); 260 261 DWORD WINAPI FwpmFilterDeleteByKey0( 262 HANDLE engineHandle, 263 const GUID *key 264 ); 265 266 DWORD WINAPI FwpmFilterDestroyEnumHandle0( 267 HANDLE engineHandle, 268 HANDLE enumHandle 269 ); 270 271 DWORD WINAPI FwpmFilterEnum0( 272 HANDLE engineHandle, 273 HANDLE enumHandle, 274 UINT32 numEntriesRequested, 275 FWPM_FILTER0 ***entries, 276 UINT32 *numEntriesReturned 277 ); 278 279 DWORD WINAPI FwpmFilterGetById0( 280 HANDLE engineHandle, 281 UINT64 id, 282 FWPM_FILTER0 **filter 283 ); 284 285 DWORD WINAPI FwpmFilterGetByKey0( 286 HANDLE engineHandle, 287 const GUID *key, 288 FWPM_FILTER0 **filter 289 ); 290 291 DWORD 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 302 DWORD 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 312 DWORD WINAPI FwpmFilterSubscriptionsGet0( 313 HANDLE engineHandle, 314 FWPM_FILTER_SUBSCRIPTION0 ***entries, 315 UINT32 *numEntries 316 ); 317 318 DWORD WINAPI FwpmFilterUnsubscribeChanges0( 319 HANDLE engineHandle, 320 HANDLE changeHandle 321 ); 322 323 DWORD WINAPI FwpmGetAppIdFromFileName0( 324 const wchar_t *fileName, 325 FWP_BYTE_BLOB **appId 326 ); 327 328 DWORD 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 338 DWORD WINAPI FwpmIPsecTunnelDeleteByKey0( 339 HANDLE engineHandle, 340 const GUID *key 341 ); 342 343 DWORD WINAPI FwpmLayerCreateEnumHandle0( 344 HANDLE engineHandle, 345 const FWPM_LAYER_ENUM_TEMPLATE0 *enumTemplate, 346 HANDLE *enumHandle 347 ); 348 349 DWORD WINAPI FwpmLayerDestroyEnumHandle0( 350 HANDLE engineHandle, 351 HANDLE enumHandle 352 ); 353 354 DWORD WINAPI FwpmLayerEnum0( 355 HANDLE engineHandle, 356 HANDLE enumHandle, 357 UINT32 numEntriesRequested, 358 FWPM_LAYER0 ***entries, 359 UINT32 *numEntriesReturned 360 ); 361 362 DWORD WINAPI FwpmLayerGetById0( 363 HANDLE engineHandle, 364 UINT16 id, 365 FWPM_LAYER0 **layer 366 ); 367 368 DWORD WINAPI FwpmLayerGetByKey0( 369 HANDLE engineHandle, 370 const GUID *key, 371 FWPM_LAYER0 **layer 372 ); 373 374 DWORD 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 385 DWORD 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 395 DWORD WINAPI FwpmNetEventCreateEnumHandle0( 396 HANDLE engineHandle, 397 const FWPM_NET_EVENT_ENUM_TEMPLATE0 *enumTemplate, 398 HANDLE *enumHandle 399 ); 400 401 DWORD WINAPI FwpmNetEventDestroyEnumHandle0( 402 HANDLE engineHandle, 403 HANDLE enumHandle 404 ); 405 406 DWORD WINAPI FwpmNetEventEnum0( 407 HANDLE engineHandle, 408 HANDLE enumHandle, 409 UINT32 numEntriesRequested, 410 FWPM_NET_EVENT0 ***entries, 411 UINT32 *numEntriesReturned 412 ); 413 414 DWORD 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 424 DWORD 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 433 DWORD WINAPI FwpmProviderAdd0( 434 HANDLE engineHandle, 435 const FWPM_PROVIDER0 *provider, 436 PSECURITY_DESCRIPTOR sd 437 ); 438 439 DWORD WINAPI FwpmProviderContextCreateEnumHandle0( 440 HANDLE engineHandle, 441 const FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0 *enumTemplate, 442 HANDLE *enumHandle 443 ); 444 445 DWORD WINAPI FwpmProviderContextDeleteById0( 446 HANDLE engineHandle, 447 UINT64 id 448 ); 449 450 DWORD WINAPI FwpmProviderContextDeleteByKey0( 451 HANDLE engineHandle, 452 const GUID *key 453 ); 454 455 DWORD WINAPI FwpmProviderContextDestroyEnumHandle0( 456 HANDLE engineHandle, 457 HANDLE enumHandle 458 ); 459 460 DWORD WINAPI FwpmProviderContextEnum0( 461 HANDLE engineHandle, 462 HANDLE enumHandle, 463 UINT32 numEntriesRequested, 464 FWPM_PROVIDER_CONTEXT0 ***entries, 465 UINT32 *numEntriesReturned 466 ); 467 468 DWORD WINAPI FwpmProviderContextGetById0( 469 HANDLE engineHandle, 470 UINT64 id, 471 FWPM_PROVIDER_CONTEXT0 **providerContext 472 ); 473 474 DWORD WINAPI FwpmProviderContextGetByKey0( 475 HANDLE engineHandle, 476 const GUID *key, 477 FWPM_PROVIDER_CONTEXT0 **providerContext 478 ); 479 480 DWORD 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 491 DWORD 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 501 DWORD WINAPI FwpmProviderContextSubscriptionsGet0( 502 HANDLE engineHandle, 503 FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0 ***entries, 504 UINT32 *numEntries 505 ); 506 507 DWORD WINAPI FwpmProviderContextUnsubscribeChanges0( 508 HANDLE engineHandle, 509 HANDLE changeHandle 510 ); 511 512 DWORD WINAPI FwpmProviderCreateEnumHandle0( 513 HANDLE engineHandle, 514 const FWPM_PROVIDER_ENUM_TEMPLATE0 *enumTemplate, 515 HANDLE *enumHandle 516 ); 517 518 DWORD WINAPI FwpmProviderDeleteByKey0( 519 HANDLE engineHandle, 520 const GUID *key 521 ); 522 523 DWORD WINAPI FwpmProviderDestroyEnumHandle0( 524 HANDLE engineHandle, 525 HANDLE enumHandle 526 ); 527 528 DWORD WINAPI FwpmProviderEnum0( 529 HANDLE engineHandle, 530 HANDLE enumHandle, 531 UINT32 numEntriesRequested, 532 FWPM_PROVIDER0 ***entries, 533 UINT32 *numEntriesReturned 534 ); 535 536 DWORD WINAPI FwpmProviderGetByKey0( 537 HANDLE engineHandle, 538 const GUID *key, 539 FWPM_PROVIDER0 **provider 540 ); 541 542 DWORD 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 553 DWORD 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 563 DWORD WINAPI FwpmProviderSubscriptionsGet0( 564 HANDLE engineHandle, 565 FWPM_PROVIDER_SUBSCRIPTION0 ***entries, 566 UINT32 *numEntries 567 ); 568 569 DWORD WINAPI FwpmProviderUnsubscribeChanges0( 570 HANDLE engineHandle, 571 HANDLE changeHandle 572 ); 573 574 DWORD WINAPI FwpmSessionCreateEnumHandle0( 575 HANDLE engineHandle, 576 const FWPM_SESSION_ENUM_TEMPLATE0 *enumTemplate, 577 HANDLE *enumHandle 578 ); 579 580 DWORD WINAPI FwpmSessionDestroyEnumHandle0( 581 HANDLE engineHandle, 582 HANDLE enumHandle 583 ); 584 585 DWORD WINAPI FwpmSessionEnum0( 586 HANDLE engineHandle, 587 HANDLE enumHandle, 588 UINT32 numEntriesRequested, 589 FWPM_SESSION0 ***entries, 590 UINT32 *numEntriesReturned 591 ); 592 593 DWORD WINAPI FwpmSubLayerCreateEnumHandle0( 594 HANDLE engineHandle, 595 const FWPM_SUBLAYER_ENUM_TEMPLATE0 *enumTemplate, 596 HANDLE *enumHandle 597 ); 598 599 DWORD WINAPI FwpmSubLayerDeleteByKey0( 600 HANDLE engineHandle, 601 const GUID *key 602 ); 603 604 DWORD WINAPI FwpmSubLayerDestroyEnumHandle0( 605 HANDLE engineHandle, 606 HANDLE enumHandle 607 ); 608 609 DWORD WINAPI FwpmSubLayerEnum0( 610 HANDLE engineHandle, 611 HANDLE enumHandle, 612 UINT32 numEntriesRequested, 613 FWPM_SUBLAYER0 ***entries, 614 UINT32 *numEntriesReturned 615 ); 616 617 DWORD WINAPI FwpmSubLayerGetByKey0( 618 HANDLE engineHandle, 619 const GUID *key, 620 FWPM_SUBLAYER0 **subLayer 621 ); 622 623 DWORD 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 634 DWORD 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 644 DWORD WINAPI FwpmSubLayerSubscriptionsGet0( 645 HANDLE engineHandle, 646 FWPM_SUBLAYER_SUBSCRIPTION0 ***entries, 647 UINT32 *numEntries 648 ); 649 650 DWORD WINAPI FwpmSubLayerUnsubscribeChanges0( 651 HANDLE engineHandle, 652 HANDLE changeHandle 653 ); 654 655 DWORD WINAPI FwpmTransactionAbort0( 656 HANDLE engineHandle 657 ); 658 659 DWORD WINAPI FwpmTransactionBegin0( 660 HANDLE engineHandle, 661 UINT32 flags 662 ); 663 664 DWORD WINAPI FwpmTransactionCommit0( 665 HANDLE engineHandle 666 ); 667 668 DWORD WINAPI IkeextGetStatistics0( 669 HANDLE engineHandle, 670 IKEEXT_STATISTICS0 *ikeextStatistics 671 ); 672 673 DWORD 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 683 DWORD WINAPI IkeextSaCreateEnumHandle0( 684 HANDLE engineHandle, 685 const IKEEXT_SA_ENUM_TEMPLATE0 *enumTemplate, 686 HANDLE *enumHandle 687 ); 688 689 DWORD 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 698 DWORD WINAPI IkeextSaDeleteById0( 699 HANDLE engineHandle, 700 UINT64 id 701 ); 702 703 DWORD WINAPI IkeextSaDestroyEnumHandle0( 704 HANDLE engineHandle, 705 HANDLE enumHandle 706 ); 707 708 DWORD WINAPI IkeextSaEnum0( 709 HANDLE engineHandle, 710 HANDLE enumHandle, 711 UINT32 numEntriesRequested, 712 IKEEXT_SA_DETAILS0 ***entries, 713 UINT32 *numEntriesReturned 714 ); 715 716 DWORD WINAPI IkeextSaGetById0( 717 HANDLE engineHandle, 718 UINT64 id, 719 IKEEXT_SA_DETAILS0 **sa 720 ); 721 722 DWORD WINAPI IPsecGetStatistics0( 723 HANDLE engineHandle, 724 IPSEC_STATISTICS0 *ipsecStatistics 725 ); 726 727 DWORD WINAPI IPsecSaContextAddInbound0( 728 HANDLE engineHandle, 729 UINT64 id, 730 const IPSEC_SA_BUNDLE0 *inboundBundle 731 ); 732 733 DWORD WINAPI IPsecSaContextAddOutbound0( 734 HANDLE engineHandle, 735 UINT64 id, 736 const IPSEC_SA_BUNDLE0 *outboundBundle 737 ); 738 739 DWORD WINAPI IPsecSaContextCreate0( 740 HANDLE engineHandle, 741 const IPSEC_TRAFFIC0 *outboundTraffic, 742 UINT64 *inboundFilterId, 743 UINT64 *id 744 ); 745 746 DWORD WINAPI IPsecSaContextCreateEnumHandle0( 747 HANDLE engineHandle, 748 const IPSEC_SA_CONTEXT_ENUM_TEMPLATE0 *enumTemplate, 749 HANDLE *enumHandle 750 ); 751 752 DWORD WINAPI IPsecSaContextDeleteById0( 753 HANDLE engineHandle, 754 UINT64 id 755 ); 756 757 DWORD WINAPI IPsecSaContextDestroyEnumHandle0( 758 HANDLE engineHandle, 759 HANDLE enumHandle 760 ); 761 762 DWORD 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 771 DWORD WINAPI IPsecSaContextEnum0( 772 HANDLE engineHandle, 773 HANDLE enumHandle, 774 UINT32 numEntriesRequested, 775 IPSEC_SA_CONTEXT0 ***entries, 776 UINT32 *numEntriesReturned 777 ); 778 779 DWORD WINAPI IPsecSaContextExpire0( 780 HANDLE engineHandle, 781 UINT64 id 782 ); 783 784 DWORD WINAPI IPsecSaContextGetById0( 785 HANDLE engineHandle, 786 UINT64 id, 787 IPSEC_SA_CONTEXT0 **saContext 788 ); 789 790 DWORD WINAPI IPsecSaContextGetSpi0( 791 HANDLE engineHandle, 792 UINT64 id, 793 const IPSEC_GETSPI0 *getSpi, 794 IPSEC_SA_SPI *inboundSpi 795 ); 796 797 DWORD WINAPI IPsecSaCreateEnumHandle0( 798 HANDLE engineHandle, 799 const IPSEC_SA_ENUM_TEMPLATE0 *enumTemplate, 800 HANDLE *enumHandle 801 ); 802 803 DWORD 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 813 DWORD WINAPI IPsecSaDestroyEnumHandle0( 814 HANDLE engineHandle, 815 HANDLE enumHandle 816 ); 817 818 DWORD 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 830 DEFINE_GUID(FWPM_PROVIDER_IPSEC_DOS_CONFIG,0x3C6C0519,0xC05C,0x4BB9,0x83,0x38,0x23,0x27,0x81,0x4C,0xE8,0xBF); 831 832 typedef void ( CALLBACK *FWPM_NET_EVENT_CALLBACK0 )( 833 void *context, 834 const FWPM_NET_EVENT1 *event 835 ); 836 837 typedef void ( CALLBACK *FWPM_SYSTEM_PORTS_CALLBACK0 )( 838 void *context, 839 const FWPM_SYSTEM_PORTS0 *sysPorts 840 ); 841 842 DWORD WINAPI IkeextGetStatistics1( 843 HANDLE engineHandle, 844 IKEEXT_STATISTICS1 *ikeextStatistics 845 ); 846 847 DWORD WINAPI IkeextSaEnum1( 848 HANDLE engineHandle, 849 HANDLE enumHandle, 850 UINT32 numEntriesRequested, 851 IKEEXT_SA_DETAILS1 ***entries, 852 UINT32 *numEntriesReturned 853 ); 854 855 DWORD WINAPI IkeextSaGetById1( 856 HANDLE engineHandle, 857 UINT64 id, 858 GUID *saLookupContext, 859 IKEEXT_SA_DETAILS1 **sa 860 ); 861 862 DWORD 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 873 DWORD 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 883 DWORD WINAPI IPsecDospGetStatistics0( 884 HANDLE engineHandle, 885 IPSEC_DOSP_STATISTICS0 *idpStatistics 886 ); 887 888 DWORD 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 897 DWORD WINAPI IPsecDospStateCreateEnumHandle0( 898 HANDLE engineHandle, 899 const IPSEC_DOSP_STATE_ENUM_TEMPLATE0 *enumTemplate, 900 HANDLE *enumHandle 901 ); 902 903 DWORD WINAPI IPsecDospStateDestroyEnumHandle0( 904 HANDLE engineHandle, 905 HANDLE enumHandle 906 ); 907 908 DWORD WINAPI IPsecDospStateEnum0( 909 HANDLE engineHandle, 910 HANDLE enumHandle, 911 UINT32 numEntriesRequested, 912 IPSEC_DOSP_STATE0 ***entries, 913 UINT32 *numEntries 914 ); 915 916 DWORD WINAPI IPsecGetStatistics1( 917 HANDLE engineHandle, 918 IPSEC_STATISTICS1 *ipsecStatistics 919 ); 920 921 DWORD WINAPI IPsecSaContextAddInbound1( 922 HANDLE engineHandle, 923 UINT64 id, 924 const IPSEC_SA_BUNDLE1 *inboundBundle 925 ); 926 927 DWORD WINAPI IPsecSaContextAddOutbound1( 928 HANDLE engineHandle, 929 UINT64 id, 930 const IPSEC_SA_BUNDLE1 *outboundBundle 931 ); 932 933 DWORD 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 941 DWORD WINAPI FwpmNetEventEnum1( 942 HANDLE engineHandle, 943 HANDLE enumHandle, 944 UINT32 numEntriesRequested, 945 FWPM_NET_EVENT1 ***entries, 946 UINT32 *numEntriesReturned 947 ); 948 949 DWORD 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 957 DWORD WINAPI FwpmNetEventSubscriptionsGet0( 958 HANDLE engineHandle, 959 FWPM_NET_EVENT_SUBSCRIPTION0 ***entries, 960 UINT32 *numEntries 961 ); 962 963 DWORD WINAPI FwpmNetEventUnsubscribe0( 964 HANDLE engineHandle, 965 HANDLE eventsHandle 966 ); 967 968 DWORD WINAPI FwpmProviderContextAdd1( 969 HANDLE engineHandle, 970 const FWPM_PROVIDER_CONTEXT1 *providerContext, 971 PSECURITY_DESCRIPTOR sd, 972 UINT64 *id 973 ); 974 975 DWORD WINAPI FwpmProviderContextEnum1( 976 HANDLE engineHandle, 977 HANDLE enumHandle, 978 UINT32 numEntriesRequested, 979 FWPM_PROVIDER_CONTEXT1 ***entries, 980 UINT32 *numEntriesReturned 981 ); 982 983 DWORD WINAPI FwpmProviderContextGetById1( 984 HANDLE engineHandle, 985 UINT64 id, 986 FWPM_PROVIDER_CONTEXT1 **providerContext 987 ); 988 989 DWORD WINAPI FwpmProviderContextGetByKey1( 990 HANDLE engineHandle, 991 const GUID *key, 992 FWPM_PROVIDER_CONTEXT1 **providerContext 993 ); 994 995 DWORD WINAPI FwpmSystemPortsGet0( 996 HANDLE engineHandle, 997 FWPM_SYSTEM_PORTS0 **sysPorts 998 ); 999 1000 DWORD WINAPI FwpmSystemPortsSubscribe0( 1001 HANDLE engineHandle, 1002 void *reserved, 1003 FWPM_SYSTEM_PORTS_CALLBACK0 callback, 1004 void *context, 1005 HANDLE *sysPortsHandle 1006 ); 1007 1008 DWORD WINAPI FwpmSystemPortsUnsubscribe0( 1009 HANDLE engineHandle, 1010 HANDLE sysPortsHandle 1011 ); 1012 1013 DWORD WINAPI IPsecSaContextEnum1( 1014 HANDLE engineHandle, 1015 HANDLE enumHandle, 1016 UINT32 numEntriesRequested, 1017 IPSEC_SA_CONTEXT1 ***entries, 1018 UINT32 *numEntriesReturned 1019 ); 1020 1021 DWORD WINAPI IPsecSaContextGetById1( 1022 HANDLE engineHandle, 1023 UINT64 id, 1024 IPSEC_SA_CONTEXT1 **saContext 1025 ); 1026 1027 DWORD WINAPI IPsecSaContextGetSpi1( 1028 HANDLE engineHandle, 1029 UINT64 id, 1030 const IPSEC_GETSPI1 *getSpi, 1031 IPSEC_SA_SPI *inboundSpi 1032 ); 1033 1034 DWORD WINAPI IPsecSaContextUpdate0( 1035 HANDLE engineHandle, 1036 UINT32 flags, 1037 const IPSEC_SA_CONTEXT1 *newValues 1038 ); 1039 1040 DWORD WINAPI IPsecSaEnum1( 1041 HANDLE engineHandle, 1042 HANDLE enumHandle, 1043 UINT32 numEntriesRequested, 1044 IPSEC_SA_DETAILS1 ***entries, 1045 UINT32 *numEntriesReturned 1046 ); 1047 1048 DWORD 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