blob: 7dcd1fda25b919e51204547eb9f6e93302d90d2e [file] [log] [blame]
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the w64 mingw-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>
#if (_WIN32_WINNT >= 0x0600)
#ifdef __cplusplus
extern "C" {
#endif
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
);
#ifdef __cplusplus
}
#endif
#endif /*(_WIN32_WINNT >= 0x0600)*/
#endif /*_INC_FWPMU*/