master
   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*/