/* Copyright (c) Microsoft Corporation SYNOPSIS Defines public datatypes used by the ICF API. */ import "wtypes.idl"; // Represents the different policy types understood by the firewall. typedef enum NET_FW_POLICY_TYPE_ { NET_FW_POLICY_GROUP, NET_FW_POLICY_LOCAL, NET_FW_POLICY_EFFECTIVE, NET_FW_POLICY_TYPE_MAX } NET_FW_POLICY_TYPE; // Represents the different profile types that make up a firewall policy. // Maintained for compatibility with INetFwMgr interface typedef enum NET_FW_PROFILE_TYPE_ { NET_FW_PROFILE_DOMAIN, NET_FW_PROFILE_STANDARD, NET_FW_PROFILE_CURRENT, NET_FW_PROFILE_TYPE_MAX } NET_FW_PROFILE_TYPE; // Represents the different profile types that make up a firewall policy. typedef enum NET_FW_PROFILE_TYPE2_ { NET_FW_PROFILE2_DOMAIN = 0x0001, NET_FW_PROFILE2_PRIVATE = 0x0002, NET_FW_PROFILE2_PUBLIC = 0x0004, NET_FW_PROFILE2_ALL = 0x7FFFFFFF } NET_FW_PROFILE_TYPE2; // Used to specify the IP version for a port. typedef enum NET_FW_IP_VERSION_ { NET_FW_IP_VERSION_V4, NET_FW_IP_VERSION_V6, NET_FW_IP_VERSION_ANY, NET_FW_IP_VERSION_MAX } NET_FW_IP_VERSION; // Used to specify the scope of addresses from which a port can listen. typedef enum NET_FW_SCOPE_ { NET_FW_SCOPE_ALL, NET_FW_SCOPE_LOCAL_SUBNET, NET_FW_SCOPE_CUSTOM, NET_FW_SCOPE_MAX } NET_FW_SCOPE; // Used to specify the IP protocol when opening/closing firewall ports. typedef enum NET_FW_IP_PROTOCOL_ { NET_FW_IP_PROTOCOL_TCP = 6, NET_FW_IP_PROTOCOL_UDP = 17, NET_FW_IP_PROTOCOL_ANY = 256 } NET_FW_IP_PROTOCOL; // Well-known services that can be authorized to listen through the firewall. (WinXP compatability) typedef enum NET_FW_SERVICE_TYPE_ { NET_FW_SERVICE_FILE_AND_PRINT, NET_FW_SERVICE_UPNP, NET_FW_SERVICE_REMOTE_DESKTOP, NET_FW_SERVICE_NONE, NET_FW_SERVICE_TYPE_MAX } NET_FW_SERVICE_TYPE; // Used to specify the direction for the rule typedef enum NET_FW_RULE_DIRECTION_ { NET_FW_RULE_DIR_IN = 1, NET_FW_RULE_DIR_OUT, NET_FW_RULE_DIR_MAX } NET_FW_RULE_DIRECTION; // Used to specify the action for a rule or a default setting typedef enum NET_FW_ACTION_ { NET_FW_ACTION_BLOCK, NET_FW_ACTION_ALLOW, NET_FW_ACTION_MAX } NET_FW_ACTION; // Used to specify the modifiable state of current policy typedef enum NET_FW_MODIFY_STATE_ { NET_FW_MODIFY_STATE_OK, // Changing or adding a firewall rule (or group) to // the current profile will take effect. NET_FW_MODIFY_STATE_GP_OVERRIDE, // Changing or adding a firewall rule (or group) to // the current profile will not take effect becuase group // policy overrides it. NET_FW_MODIFY_STATE_INBOUND_BLOCKED // Changing or adding an inbound firewall rule (or group) to // the current profile will not take effect becuase unsolicited // inbound traffic is not allowed. } NET_FW_MODIFY_STATE;