/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef _INC_FWPMU
#define _INC_FWPMU
#include <rpc.h>
#include <fwptypes.h>
#include <fwpmtypes.h>
#include <iketypes.h>
#include <ipsectypes.h>
#ifdef __cplusplus
extern "C" {
#endif
#if (_WIN32_WINNT >= 0x0600)
#ifndef MAXUINT64
#define MAXUINT64 (0xFFFFFFFFFFFFFFFFULL)
#endif /* MAXUINT64 */
#define FWPM_AUTO_WEIGHT_BITS (60)
#define FWPM_AUTO_WEIGHT_MAX (MAXUINT64 >> 4)
#define FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS (0xC)
#define FWPM_WEIGHT_RANGE_IPSEC (0x0)
#define FWPM_WEIGHT_RANGE_MAX (MAXUINT64 >> 60)
DEFINE_GUID(FWPM_PROVIDER_IKEEXT,0x10AD9216,0xCCDE,0x456C,0x8B,0x16,0xE9,0xF0,0x4E,0x60,0xA9,0x0B);
DEFINE_GUID(FWPM_PROVIDER_TCP_CHIMNEY_OFFLOAD,0x896AA19E,0x9A34,0x4BCB,0xAE,0x79,0xBE,0xB9,0x12,0x7C,0x84,0xB9);
typedef UINT32 IPSEC_SA_SPI;
typedef void ( CALLBACK *FWPM_CALLOUT_CHANGE_CALLBACK0 )(
void *context,
const FWPM_CALLOUT_CHANGE0 *change
);
typedef void ( CALLBACK *FWPM_FILTER_CHANGE_CALLBACK0 )(
void *context,
const FWPM_FILTER_CHANGE0 *change
);
typedef void ( CALLBACK *FWPM_PROVIDER_CHANGE_CALLBACK0 )(
void *context,
const FWPM_PROVIDER_CHANGE0 *change
);
typedef void ( CALLBACK *FWPM_PROVIDER_CONTEXT_CHANGE_CALLBACK0 )(
void *context,
const FWPM_PROVIDER_CONTEXT_CHANGE0 *change
);
typedef void ( CALLBACK *FWPM_SUBLAYER_CHANGE_CALLBACK0 )(
void *context,
const FWPM_SUBLAYER_CHANGE0 *change
);
DWORD WINAPI FwpmCalloutSubscribeChanges0(
HANDLE engineHandle,
const FWPM_CALLOUT_SUBSCRIPTION0 *subscription,
FWPM_CALLOUT_CHANGE_CALLBACK0 callback,
void *context,
HANDLE *changeHandle
);
DWORD WINAPI FwpmEngineOpen0(
const wchar_t *serverName,
UINT32 authnService,
SEC_WINNT_AUTH_IDENTITY_W *authIdentity,
const FWPM_SESSION0 *session,
HANDLE *engineHandle
);
DWORD WINAPI FwpmCalloutAdd0(
HANDLE engineHandle,
const FWPM_CALLOUT0 *callout,
PSECURITY_DESCRIPTOR sd,
UINT32 *id
);
DWORD WINAPI FwpmFilterAdd0(
HANDLE engineHandle,
const FWPM_FILTER0 *filter,
PSECURITY_DESCRIPTOR sd,
UINT64 *id
);
DWORD WINAPI FwpmEngineClose0(
HANDLE engineHandle
);
DWORD WINAPI FwpmFilterSubscribeChanges0(
HANDLE engineHandle,
const FWPM_FILTER_SUBSCRIPTION0 *subscription,
FWPM_FILTER_CHANGE_CALLBACK0 callback,
void *context,
HANDLE *changeHandle
);
DWORD WINAPI FwpmProviderSubscribeChanges0(
HANDLE engineHandle,
const FWPM_PROVIDER_SUBSCRIPTION0 *subscription,
FWPM_PROVIDER_CHANGE_CALLBACK0 callback,
void *context,
HANDLE *changeHandle
);
DWORD WINAPI FwpmProviderContextSubscribeChanges0(
HANDLE engineHandle,
const FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0 *subscription,
FWPM_PROVIDER_CONTEXT_CHANGE_CALLBACK0 callback,
void *context,
HANDLE *changeHandle
);
DWORD WINAPI FwpmProviderContextAdd0(
HANDLE engineHandle,
const FWPM_PROVIDER_CONTEXT0 *providerContext,
PSECURITY_DESCRIPTOR sd,
UINT64 *id
);
DWORD WINAPI FwpmSubLayerSubscribeChanges0(
HANDLE engineHandle,
const FWPM_SUBLAYER_SUBSCRIPTION0 *subscription,
FWPM_SUBLAYER_CHANGE_CALLBACK0 callback,
void *context,
HANDLE *changeHandle
);
DWORD WINAPI FwpmSubLayerAdd0(
HANDLE engineHandle,
const FWPM_SUBLAYER0 *subLayer,
PSECURITY_DESCRIPTOR sd
);
DWORD WINAPI FwpmCalloutCreateEnumHandle0(
HANDLE engineHandle,
const FWPM_CALLOUT_ENUM_TEMPLATE0 *enumTemplate,
HANDLE *enumHandle
);
DWORD WINAPI FwpmCalloutDeleteById0(
HANDLE engineHandle,
UINT32 id
);
DWORD WINAPI FwpmCalloutDeleteByKey0(
HANDLE engineHandle,
const GUID *key
);
DWORD WINAPI FwpmCalloutDestroyEnumHandle0(
HANDLE engineHandle,
HANDLE enumHandle
);
DWORD WINAPI FwpmCalloutEnum0(
HANDLE engineHandle,
HANDLE enumHandle,
UINT32 numEntriesRequested,
FWPM_CALLOUT0 ***entries,
UINT32 *numEntriesReturned
);
void WINAPI FwpmFreeMemory0(
void **p
);
DWORD WINAPI FwpmCalloutGetById0(
HANDLE engineHandle,
UINT32 id,
FWPM_CALLOUT0 **callout
);
DWORD WINAPI FwpmCalloutGetByKey0(
HANDLE engineHandle,
const GUID *key,
FWPM_CALLOUT0 **callout
);
DWORD WINAPI FwpmCalloutGetSecurityInfoByKey0(
HANDLE engineHandle,
const GUID *key,
SECURITY_INFORMATION securityInfo,
PSID *sidOwner,
PSID *sidGroup,
PACL *dacl,
PACL *sacl,
PSECURITY_DESCRIPTOR *securityDescriptor
);
DWORD WINAPI FwpmCalloutSetSecurityInfoByKey0(
HANDLE engineHandle,
const GUID *key,
SECURITY_INFORMATION securityInfo,
const SID *sidOwner,
const SID *sidGroup,
const ACL *dacl,
const ACL *sacl
);
DWORD WINAPI FwpmCalloutSubscriptionsGet0(
HANDLE engineHandle,
FWPM_CALLOUT_SUBSCRIPTION0 ***entries,
UINT32 *numEntries
);
DWORD WINAPI FwpmCalloutUnsubscribeChanges0(
HANDLE engineHandle,
HANDLE changeHandle
);
#define FWPM_NET_EVENT_KEYWORD_INBOUND_MCAST 1
#define FWPM_NET_EVENT_KEYWORD_INBOUND_BCAST 2
DWORD WINAPI FwpmEngineGetOption0(
HANDLE engineHandle,
FWPM_ENGINE_OPTION option,
FWP_VALUE0 **value
);
DWORD WINAPI FwpmEngineGetSecurityInfo0(
HANDLE engineHandle,
SECURITY_INFORMATION securityInfo,
PSID *sidOwner,
PSID *sidGroup,
PACL *dacl,
PACL *sacl,
PSECURITY_DESCRIPTOR *securityDescriptor
);
DWORD WINAPI FwpmEngineSetOption0(
HANDLE engineHandle,
FWPM_ENGINE_OPTION option,
const FWP_VALUE0 *newValue
);
DWORD WINAPI IPsecSaDbSetSecurityInfo0(
HANDLE engineHandle,
SECURITY_INFORMATION securityInfo,
const SID *sidOwner,
const SID *sidGroup,
const ACL *dacl,
const ACL *sacl
);
DWORD WINAPI FwpmFilterCreateEnumHandle0(
HANDLE engineHandle,
const FWPM_FILTER_ENUM_TEMPLATE0 *enumTemplate,
HANDLE *enumHandle
);
DWORD WINAPI FwpmFilterDeleteById0(
HANDLE engineHandle,
UINT64 id
);
DWORD WINAPI FwpmFilterDeleteByKey0(
HANDLE engineHandle,
const GUID *key
);
DWORD WINAPI FwpmFilterDestroyEnumHandle0(
HANDLE engineHandle,
HANDLE enumHandle
);
DWORD WINAPI FwpmFilterEnum0(
HANDLE engineHandle,
HANDLE enumHandle,
UINT32 numEntriesRequested,
FWPM_FILTER0 ***entries,
UINT32 *numEntriesReturned
);
DWORD WINAPI FwpmFilterGetById0(
HANDLE engineHandle,
UINT64 id,
FWPM_FILTER0 **filter
);
DWORD WINAPI FwpmFilterGetByKey0(
HANDLE engineHandle,
const GUID *key,
FWPM_FILTER0 **filter
);
DWORD WINAPI FwpmFilterGetSecurityInfoByKey0(
HANDLE engineHandle,
const GUID *key,
SECURITY_INFORMATION securityInfo,
PSID *sidOwner,
PSID *sidGroup,
PACL *dacl,
PACL *sacl,
PSECURITY_DESCRIPTOR *securityDescriptor
);
DWORD WINAPI FwpmFilterSetSecurityInfoByKey0(
HANDLE engineHandle,
const GUID *key,
SECURITY_INFORMATION securityInfo,
const SID *sidOwner,
const SID *sidGroup,
const ACL *dacl,
const ACL *sacl
);
DWORD WINAPI FwpmFilterSubscriptionsGet0(
HANDLE engineHandle,
FWPM_FILTER_SUBSCRIPTION0 ***entries,
UINT32 *numEntries
);
DWORD WINAPI FwpmFilterUnsubscribeChanges0(
HANDLE engineHandle,
HANDLE changeHandle
);
DWORD WINAPI FwpmGetAppIdFromFileName0(
const wchar_t *fileName,
FWP_BYTE_BLOB **appId
);
DWORD WINAPI FwpmIpsecTunnelAdd0(
HANDLE engineHandle,
UINT32 flags,
const FWPM_PROVIDER_CONTEXT0 *mainModePolicy,
const FWPM_PROVIDER_CONTEXT0 *tunnelPolicy,
UINT32 numFilterConditions,
const FWPM_FILTER_CONDITION0 *filterConditions,
PSECURITY_DESCRIPTOR sd
);
DWORD WINAPI FwpmIPsecTunnelDeleteByKey0(
HANDLE engineHandle,
const GUID *key
);
DWORD WINAPI FwpmLayerCreateEnumHandle0(
HANDLE engineHandle,
const FWPM_LAYER_ENUM_TEMPLATE0 *enumTemplate,
HANDLE *enumHandle
);
DWORD WINAPI FwpmLayerDestroyEnumHandle0(
HANDLE engineHandle,
HANDLE enumHandle
);
DWORD WINAPI FwpmLayerEnum0(
HANDLE engineHandle,
HANDLE enumHandle,
UINT32 numEntriesRequested,
FWPM_LAYER0 ***entries,
UINT32 *numEntriesReturned
);
DWORD WINAPI FwpmLayerGetById0(
HANDLE engineHandle,
UINT16 id,
FWPM_LAYER0 **layer
);
DWORD WINAPI FwpmLayerGetByKey0(
HANDLE engineHandle,
const GUID *key,
FWPM_LAYER0 **layer
);
DWORD WINAPI FwpmLayerGetSecurityInfoByKey0(
HANDLE engineHandle,
const GUID *key,
SECURITY_INFORMATION securityInfo,
PSID *sidOwner,
PSID *sidGroup,
PACL *dacl,
PACL *sacl,
PSECURITY_DESCRIPTOR *securityDescriptor
);
DWORD WINAPI FwpmLayerSetSecurityInfoByKey0(
HANDLE engineHandle,
const GUID *key,
SECURITY_INFORMATION securityInfo,
const SID *sidOwner,
const SID *sidGroup,
const ACL *dacl,
const ACL *sacl
);
DWORD WINAPI FwpmNetEventCreateEnumHandle0(
HANDLE engineHandle,
const FWPM_NET_EVENT_ENUM_TEMPLATE0 *enumTemplate,
HANDLE *enumHandle
);
DWORD WINAPI FwpmNetEventDestroyEnumHandle0(
HANDLE engineHandle,
HANDLE enumHandle
);
DWORD WINAPI FwpmNetEventEnum0(
HANDLE engineHandle,
HANDLE enumHandle,
UINT32 numEntriesRequested,
FWPM_NET_EVENT0 ***entries,
UINT32 *numEntriesReturned
);
DWORD WINAPI FwpmNetEventsGetSecurityInfo0(
HANDLE engineHandle,
SECURITY_INFORMATION securityInfo,
PSID *sidOwner,
PSID *sidGroup,
PACL *dacl,
PACL *sacl,
PSECURITY_DESCRIPTOR *securityDescriptor
);
DWORD WINAPI FwpmNetEventsSetSecurityInfo0(
HANDLE engineHandle,
SECURITY_INFORMATION securityInfo,
const SID *sidOwner,
const SID *sidGroup,
const ACL *dacl,
const ACL *sacl
);
DWORD WINAPI FwpmProviderAdd0(
HANDLE engineHandle,
const FWPM_PROVIDER0 *provider,
PSECURITY_DESCRIPTOR sd
);
DWORD WINAPI FwpmProviderContextCreateEnumHandle0(
HANDLE engineHandle,
const FWPM_PROVIDER_CONTEXT_ENUM_TEMPLATE0 *enumTemplate,
HANDLE *enumHandle
);
DWORD WINAPI FwpmProviderContextDeleteById0(
HANDLE engineHandle,
UINT64 id
);
DWORD WINAPI FwpmProviderContextDeleteByKey0(
HANDLE engineHandle,
const GUID *key
);
DWORD WINAPI FwpmProviderContextDestroyEnumHandle0(
HANDLE engineHandle,
HANDLE enumHandle
);
DWORD WINAPI FwpmProviderContextEnum0(
HANDLE engineHandle,
HANDLE enumHandle,
UINT32 numEntriesRequested,
FWPM_PROVIDER_CONTEXT0 ***entries,
UINT32 *numEntriesReturned
);
DWORD WINAPI FwpmProviderContextGetById0(
HANDLE engineHandle,
UINT64 id,
FWPM_PROVIDER_CONTEXT0 **providerContext
);
DWORD WINAPI FwpmProviderContextGetByKey0(
HANDLE engineHandle,
const GUID *key,
FWPM_PROVIDER_CONTEXT0 **providerContext
);
DWORD WINAPI FwpmProviderContextGetSecurityInfoByKey0(
HANDLE engineHandle,
const GUID *key,
SECURITY_INFORMATION securityInfo,
PSID *sidOwner,
PSID *sidGroup,
PACL *dacl,
PACL *sacl,
PSECURITY_DESCRIPTOR *securityDescriptor
);
DWORD WINAPI FwpmProviderContextSetSecurityInfoByKey0(
HANDLE engineHandle,
const GUID *key,
SECURITY_INFORMATION securityInfo,
const SID *sidOwner,
const SID *sidGroup,
const ACL *dacl,
const ACL *sacl
);
DWORD WINAPI FwpmProviderContextSubscriptionsGet0(
HANDLE engineHandle,
FWPM_PROVIDER_CONTEXT_SUBSCRIPTION0 ***entries,
UINT32 *numEntries
);
DWORD WINAPI FwpmProviderContextUnsubscribeChanges0(
HANDLE engineHandle,
HANDLE changeHandle
);
DWORD WINAPI FwpmProviderCreateEnumHandle0(
HANDLE engineHandle,
const FWPM_PROVIDER_ENUM_TEMPLATE0 *enumTemplate,
HANDLE *enumHandle
);
DWORD WINAPI FwpmProviderDeleteByKey0(
HANDLE engineHandle,
const GUID *key
);
DWORD WINAPI FwpmProviderDestroyEnumHandle0(
HANDLE engineHandle,
HANDLE enumHandle
);
DWORD WINAPI FwpmProviderEnum0(
HANDLE engineHandle,
HANDLE enumHandle,
UINT32 numEntriesRequested,
FWPM_PROVIDER0 ***entries,
UINT32 *numEntriesReturned
);
DWORD WINAPI FwpmProviderGetByKey0(
HANDLE engineHandle,
const GUID *key,
FWPM_PROVIDER0 **provider
);
DWORD WINAPI FwpmProviderGetSecurityInfoByKey0(
HANDLE engineHandle,
const GUID *key,
SECURITY_INFORMATION securityInfo,
PSID *sidOwner,
PSID *sidGroup,
PACL *dacl,
PACL *sacl,
PSECURITY_DESCRIPTOR *securityDescriptor
);
DWORD WINAPI FwpmProviderSetSecurityInfoByKey0(
HANDLE engineHandle,
const GUID *key,
SECURITY_INFORMATION securityInfo,
const SID *sidOwner,
const SID *sidGroup,
const ACL *dacl,
const ACL *sacl
);
DWORD WINAPI FwpmProviderSubscriptionsGet0(
HANDLE engineHandle,
FWPM_PROVIDER_SUBSCRIPTION0 ***entries,
UINT32 *numEntries
);
DWORD WINAPI FwpmProviderUnsubscribeChanges0(
HANDLE engineHandle,
HANDLE changeHandle
);
DWORD WINAPI FwpmSessionCreateEnumHandle0(
HANDLE engineHandle,
const FWPM_SESSION_ENUM_TEMPLATE0 *enumTemplate,
HANDLE *enumHandle
);
DWORD WINAPI FwpmSessionDestroyEnumHandle0(
HANDLE engineHandle,
HANDLE enumHandle
);
DWORD WINAPI FwpmSessionEnum0(
HANDLE engineHandle,
HANDLE enumHandle,
UINT32 numEntriesRequested,
FWPM_SESSION0 ***entries,
UINT32 *numEntriesReturned
);
DWORD WINAPI FwpmSubLayerCreateEnumHandle0(
HANDLE engineHandle,
const FWPM_SUBLAYER_ENUM_TEMPLATE0 *enumTemplate,
HANDLE *enumHandle
);
DWORD WINAPI FwpmSubLayerDeleteByKey0(
HANDLE engineHandle,
const GUID *key
);
DWORD WINAPI FwpmSubLayerDestroyEnumHandle0(
HANDLE engineHandle,
HANDLE enumHandle
);
DWORD WINAPI FwpmSubLayerEnum0(
HANDLE engineHandle,
HANDLE enumHandle,
UINT32 numEntriesRequested,
FWPM_SUBLAYER0 ***entries,
UINT32 *numEntriesReturned
);
DWORD WINAPI FwpmSubLayerGetByKey0(
HANDLE engineHandle,
const GUID *key,
FWPM_SUBLAYER0 **subLayer
);
DWORD WINAPI FwpmSubLayerGetSecurityInfoByKey0(
HANDLE engineHandle,
const GUID *key,
SECURITY_INFORMATION securityInfo,
PSID *sidOwner,
PSID *sidGroup,
PACL *dacl,
PACL *sacl,
PSECURITY_DESCRIPTOR *securityDescriptor
);
DWORD WINAPI FwpmCalloutSetSecurityInfoByKey0(
HANDLE engineHandle,
const GUID *key,
SECURITY_INFORMATION securityInfo,
const SID *sidOwner,
const SID *sidGroup,
const ACL *dacl,
const ACL *sacl
);
DWORD WINAPI FwpmSubLayerSubscriptionsGet0(
HANDLE engineHandle,
FWPM_SUBLAYER_SUBSCRIPTION0 ***entries,
UINT32 *numEntries
);
DWORD WINAPI FwpmSubLayerUnsubscribeChanges0(
HANDLE engineHandle,
HANDLE changeHandle
);
DWORD WINAPI FwpmTransactionAbort0(
HANDLE engineHandle
);
DWORD WINAPI FwpmTransactionBegin0(
HANDLE engineHandle,
UINT32 flags
);
DWORD WINAPI FwpmTransactionCommit0(
HANDLE engineHandle
);
DWORD WINAPI IkeextGetStatistics0(
HANDLE engineHandle,
IKEEXT_STATISTICS0 *ikeextStatistics
);
DWORD WINAPI IkeextSaDbGetSecurityInfo0(
HANDLE engineHandle,
SECURITY_INFORMATION securityInfo,
PSID *sidOwner,
PSID *sidGroup,
PACL *dacl,
PACL *sacl,
PSECURITY_DESCRIPTOR *securityDescriptor
);
DWORD WINAPI IkeextSaCreateEnumHandle0(
HANDLE engineHandle,
const IKEEXT_SA_ENUM_TEMPLATE0 *enumTemplate,
HANDLE *enumHandle
);
DWORD WINAPI IkeextSaDbSetSecurityInfo0(
HANDLE engineHandle,
SECURITY_INFORMATION securityInfo,
const SID *sidOwner,
const SID *sidGroup,
const ACL *dacl,
const ACL *sacl
);
DWORD WINAPI IkeextSaDeleteById0(
HANDLE engineHandle,
UINT64 id
);
DWORD WINAPI IkeextSaDestroyEnumHandle0(
HANDLE engineHandle,
HANDLE enumHandle
);
DWORD WINAPI IkeextSaEnum0(
HANDLE engineHandle,
HANDLE enumHandle,
UINT32 numEntriesRequested,
IKEEXT_SA_DETAILS0 ***entries,
UINT32 *numEntriesReturned
);
DWORD WINAPI IkeextSaGetById0(
HANDLE engineHandle,
UINT64 id,
IKEEXT_SA_DETAILS0 **sa
);
DWORD WINAPI IPsecGetStatistics0(
HANDLE engineHandle,
IPSEC_STATISTICS0 *ipsecStatistics
);
DWORD WINAPI IPsecSaContextAddInbound0(
HANDLE engineHandle,
UINT64 id,
const IPSEC_SA_BUNDLE0 *inboundBundle
);
DWORD WINAPI IPsecSaContextAddOutbound0(
HANDLE engineHandle,
UINT64 id,
const IPSEC_SA_BUNDLE0 *outboundBundle
);
DWORD WINAPI IPsecSaContextCreate0(
HANDLE engineHandle,
const IPSEC_TRAFFIC0 *outboundTraffic,
UINT64 *inboundFilterId,
UINT64 *id
);
DWORD WINAPI IPsecSaContextCreateEnumHandle0(
HANDLE engineHandle,
const IPSEC_SA_CONTEXT_ENUM_TEMPLATE0 *enumTemplate,
HANDLE *enumHandle
);
DWORD WINAPI IPsecSaContextDeleteById0(
HANDLE engineHandle,
UINT64 id
);
DWORD WINAPI IPsecSaContextDestroyEnumHandle0(
HANDLE engineHandle,
HANDLE enumHandle
);
DWORD WINAPI FwpmEngineSetSecurityInfo0(
HANDLE engineHandle,
SECURITY_INFORMATION securityInfo,
const SID *sidOwner,
const SID *sidGroup,
const ACL *dacl,
const ACL *sacl
);
DWORD WINAPI IPsecSaContextEnum0(
HANDLE engineHandle,
HANDLE enumHandle,
UINT32 numEntriesRequested,
IPSEC_SA_CONTEXT0 ***entries,
UINT32 *numEntriesReturned
);
DWORD WINAPI IPsecSaContextExpire0(
HANDLE engineHandle,
UINT64 id
);
DWORD WINAPI IPsecSaContextGetById0(
HANDLE engineHandle,
UINT64 id,
IPSEC_SA_CONTEXT0 **saContext
);
DWORD WINAPI IPsecSaContextGetSpi0(
HANDLE engineHandle,
UINT64 id,
const IPSEC_GETSPI0 *getSpi,
IPSEC_SA_SPI *inboundSpi
);
DWORD WINAPI IPsecSaCreateEnumHandle0(
HANDLE engineHandle,
const IPSEC_SA_ENUM_TEMPLATE0 *enumTemplate,
HANDLE *enumHandle
);
DWORD WINAPI IPsecSaDbGetSecurityInfo0(
HANDLE engineHandle,
SECURITY_INFORMATION securityInfo,
PSID *sidOwner,
PSID *sidGroup,
PACL *dacl,
PACL *sacl,
PSECURITY_DESCRIPTOR *securityDescriptor
);
DWORD WINAPI IPsecSaDestroyEnumHandle0(
HANDLE engineHandle,
HANDLE enumHandle
);
DWORD WINAPI IPsecSaEnum0(
HANDLE engineHandle,
HANDLE enumHandle,
UINT32 numEntriesRequested,
IPSEC_SA_DETAILS0 ***entries,
UINT32 *numEntriesReturned
);
#endif /*(_WIN32_WINNT >= 0x0600)*/
#if (_WIN32_WINNT >= 0x0601)
DEFINE_GUID(FWPM_PROVIDER_IPSEC_DOS_CONFIG,0x3C6C0519,0xC05C,0x4BB9,0x83,0x38,0x23,0x27,0x81,0x4C,0xE8,0xBF);
typedef void ( CALLBACK *FWPM_NET_EVENT_CALLBACK0 )(
void *context,
const FWPM_NET_EVENT1 *event
);
typedef void ( CALLBACK *FWPM_SYSTEM_PORTS_CALLBACK0 )(
void *context,
const FWPM_SYSTEM_PORTS0 *sysPorts
);
DWORD WINAPI IkeextGetStatistics1(
HANDLE engineHandle,
IKEEXT_STATISTICS1 *ikeextStatistics
);
DWORD WINAPI IkeextSaEnum1(
HANDLE engineHandle,
HANDLE enumHandle,
UINT32 numEntriesRequested,
IKEEXT_SA_DETAILS1 ***entries,
UINT32 *numEntriesReturned
);
DWORD WINAPI IkeextSaGetById1(
HANDLE engineHandle,
UINT64 id,
GUID *saLookupContext,
IKEEXT_SA_DETAILS1 **sa
);
DWORD WINAPI FwpmIpsecTunnelAdd1(
HANDLE engineHandle,
UINT32 flags,
const FWPM_PROVIDER_CONTEXT1 *mainModePolicy,
const FWPM_PROVIDER_CONTEXT1 *tunnelPolicy,
UINT32 numFilterConditions,
const FWPM_FILTER_CONDITION0 *filterConditions,
const GUID *keyModKey,
PSECURITY_DESCRIPTOR sd
);
DWORD WINAPI IPsecDospGetSecurityInfo0(
HANDLE engineHandle,
SECURITY_INFORMATION securityInfo,
PSID *sidOwner,
PSID *sidGroup,
PACL *dacl,
PACL *sacl,
PSECURITY_DESCRIPTOR *securityDescriptor
);
DWORD WINAPI IPsecDospGetStatistics0(
HANDLE engineHandle,
IPSEC_DOSP_STATISTICS0 *idpStatistics
);
DWORD WINAPI IPsecDospSetSecurityInfo0(
HANDLE engineHandle,
SECURITY_INFORMATION securityInfo,
const SID *sidOwner,
const SID *sidGroup,
const ACL *dacl,
const ACL *sacl
);
DWORD WINAPI IPsecDospStateCreateEnumHandle0(
HANDLE engineHandle,
const IPSEC_DOSP_STATE_ENUM_TEMPLATE0 *enumTemplate,
HANDLE *enumHandle
);
DWORD WINAPI IPsecDospStateDestroyEnumHandle0(
HANDLE engineHandle,
HANDLE enumHandle
);
DWORD WINAPI IPsecDospStateEnum0(
HANDLE engineHandle,
HANDLE enumHandle,
UINT32 numEntriesRequested,
IPSEC_DOSP_STATE0 ***entries,
UINT32 *numEntries
);
DWORD WINAPI IPsecGetStatistics1(
HANDLE engineHandle,
IPSEC_STATISTICS1 *ipsecStatistics
);
DWORD WINAPI IPsecSaContextAddInbound1(
HANDLE engineHandle,
UINT64 id,
const IPSEC_SA_BUNDLE1 *inboundBundle
);
DWORD WINAPI IPsecSaContextAddOutbound1(
HANDLE engineHandle,
UINT64 id,
const IPSEC_SA_BUNDLE1 *outboundBundle
);
DWORD WINAPI IPsecSaContextCreate1(
HANDLE engineHandle,
const IPSEC_TRAFFIC1 *outboundTraffic,
const IPSEC_VIRTUAL_IF_TUNNEL_INFO0 *virtualIfTunnelInfo,
UINT64 *inboundFilterId,
UINT64 *id
);
DWORD WINAPI FwpmNetEventEnum1(
HANDLE engineHandle,
HANDLE enumHandle,
UINT32 numEntriesRequested,
FWPM_NET_EVENT1 ***entries,
UINT32 *numEntriesReturned
);
DWORD WINAPI FwpmNetEventSubscribe0(
HANDLE engineHandle,
const FWPM_NET_EVENT_SUBSCRIPTION0 *subscription,
FWPM_NET_EVENT_CALLBACK0 callback,
void *context,
HANDLE *eventsHandle
);
DWORD WINAPI FwpmNetEventSubscriptionsGet0(
HANDLE engineHandle,
FWPM_NET_EVENT_SUBSCRIPTION0 ***entries,
UINT32 *numEntries
);
DWORD WINAPI FwpmNetEventUnsubscribe0(
HANDLE engineHandle,
HANDLE eventsHandle
);
DWORD WINAPI FwpmProviderContextAdd1(
HANDLE engineHandle,
const FWPM_PROVIDER_CONTEXT1 *providerContext,
PSECURITY_DESCRIPTOR sd,
UINT64 *id
);
DWORD WINAPI FwpmProviderContextEnum1(
HANDLE engineHandle,
HANDLE enumHandle,
UINT32 numEntriesRequested,
FWPM_PROVIDER_CONTEXT1 ***entries,
UINT32 *numEntriesReturned
);
DWORD WINAPI FwpmProviderContextGetById1(
HANDLE engineHandle,
UINT64 id,
FWPM_PROVIDER_CONTEXT1 **providerContext
);
DWORD WINAPI FwpmProviderContextGetByKey1(
HANDLE engineHandle,
const GUID *key,
FWPM_PROVIDER_CONTEXT1 **providerContext
);
DWORD WINAPI FwpmSystemPortsGet0(
HANDLE engineHandle,
FWPM_SYSTEM_PORTS0 **sysPorts
);
DWORD WINAPI FwpmSystemPortsSubscribe0(
HANDLE engineHandle,
void *reserved,
FWPM_SYSTEM_PORTS_CALLBACK0 callback,
void *context,
HANDLE *sysPortsHandle
);
DWORD WINAPI FwpmSystemPortsUnsubscribe0(
HANDLE engineHandle,
HANDLE sysPortsHandle
);
DWORD WINAPI IPsecSaContextEnum1(
HANDLE engineHandle,
HANDLE enumHandle,
UINT32 numEntriesRequested,
IPSEC_SA_CONTEXT1 ***entries,
UINT32 *numEntriesReturned
);
DWORD WINAPI IPsecSaContextGetById1(
HANDLE engineHandle,
UINT64 id,
IPSEC_SA_CONTEXT1 **saContext
);
DWORD WINAPI IPsecSaContextGetSpi1(
HANDLE engineHandle,
UINT64 id,
const IPSEC_GETSPI1 *getSpi,
IPSEC_SA_SPI *inboundSpi
);
DWORD WINAPI IPsecSaContextUpdate0(
HANDLE engineHandle,
UINT32 flags,
const IPSEC_SA_CONTEXT1 *newValues
);
DWORD WINAPI IPsecSaEnum1(
HANDLE engineHandle,
HANDLE enumHandle,
UINT32 numEntriesRequested,
IPSEC_SA_DETAILS1 ***entries,
UINT32 *numEntriesReturned
);
DWORD WINAPI IPsecSaContextSetSpi0(
HANDLE engineHandle,
UINT64 id,
const IPSEC_GETSPI1 *getSpi,
IPSEC_SA_SPI inboundSpi
);
#endif /*(_WIN32_WINNT >= 0x0601)*/
#ifdef __cplusplus
}
#endif
#endif /*_INC_FWPMU*/