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