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_ICFTYPES 7 #define _INC_ICFTYPES 8 9 #ifdef __cplusplus 10 extern "C" { 11 #endif 12 13 typedef enum _NET_FW_ACTION { 14 NET_FW_ACTION_BLOCK = 0, 15 NET_FW_ACTION_ALLOW, 16 NET_FW_ACTION_MAX 17 } NET_FW_ACTION; 18 19 typedef enum _NET_FW_MODIFY_STATE { 20 NET_FW_MODIFY_STATE_OK = 0, 21 NET_FW_MODIFY_STATE_GP_OVERRIDE, 22 NET_FW_MODIFY_STATE_INBOUND_BLOCKED 23 } NET_FW_MODIFY_STATE; 24 25 typedef enum NET_FW_PROFILE_TYPE_ { 26 NET_FW_PROFILE_DOMAIN = 0, 27 NET_FW_PROFILE_STANDARD, 28 NET_FW_PROFILE_CURRENT, 29 NET_FW_PROFILE_TYPE_MAX 30 } NET_FW_PROFILE_TYPE; 31 32 typedef enum NET_FW_PROFILE_TYPE2_ { 33 NET_FW_PROFILE2_DOMAIN = 0x0001, 34 NET_FW_PROFILE2_PRIVATE = 0x0002, 35 NET_FW_PROFILE2_PUBLIC = 0x0004, 36 NET_FW_PROFILE2_ALL = 0x7FFFFFFF 37 } NET_FW_PROFILE_TYPE2; 38 39 typedef enum NET_FW_RULE_DIRECTION_ { 40 NET_FW_RULE_DIR_IN = 1, 41 NET_FW_RULE_DIR_OUT, 42 NET_FW_RULE_DIR_MAX 43 } NET_FW_RULE_DIRECTION; 44 45 typedef enum NET_FW_SCOPE_ { 46 NET_FW_SCOPE_ALL = 0, 47 NET_FW_SCOPE_LOCAL_SUBNET, 48 NET_FW_SCOPE_CUSTOM, 49 NET_FW_SCOPE_MAX 50 } NET_FW_SCOPE; 51 52 typedef enum NET_FW_IP_VERSION_ { 53 NET_FW_IP_VERSION_V4 = 0, 54 NET_FW_IP_VERSION_V6, 55 NET_FW_IP_VERSION_ANY, 56 NET_FW_IP_VERSION_MAX 57 } NET_FW_IP_VERSION; 58 59 typedef enum NET_FW_IP_PROTOCOL_ { 60 NET_FW_IP_PROTOCOL_TCP = 6, 61 NET_FW_IP_PROTOCOL_UDP = 17, 62 NET_FW_IP_PROTOCOL_ANY = 256 63 } NET_FW_IP_PROTOCOL; 64 65 typedef enum NET_FW_POLICY_TYPE_ { 66 NET_FW_POLICY_GROUP = 0, 67 NET_FW_POLICY_LOCAL, 68 NET_FW_POLICY_EFFECTIVE, 69 NET_FW_POLICY_TYPE_MAX 70 } NET_FW_POLICY_TYPE; 71 72 typedef enum NET_FW_SERVICE_TYPE_ { 73 NET_FW_SERVICE_FILE_AND_PRINT = 0, 74 NET_FW_SERVICE_UPNP, 75 NET_FW_SERVICE_REMOTE_DESKTOP, 76 NET_FW_SERVICE_NONE, 77 NET_FW_SERVICE_TYPE_MAX 78 } NET_FW_SERVICE_TYPE; 79 80 typedef enum NET_FW_EDGE_TRAVERSAL_TYPE_ { 81 NET_FW_EDGE_TRAVERSAL_TYPE_DENY = 0, 82 NET_FW_EDGE_TRAVERSAL_TYPE_ALLOW, 83 NET_FW_EDGE_TRAVERSAL_TYPE_DEFER_TO_APP, 84 NET_FW_EDGE_TRAVERSAL_TYPE_DEFER_TO_USER 85 } NET_FW_EDGE_TRAVERSAL_TYPE; 86 87 typedef enum NET_FW_RULE_CATEGORY_ { 88 NET_FW_RULE_CATEGORY_BOOT = 0, 89 NET_FW_RULE_CATEGORY_STEALTH = 1, 90 NET_FW_RULE_CATEGORY_FIREWALL = 2, 91 NET_FW_RULE_CATEGORY_CONSEC = 3, 92 NET_FW_RULE_CATEGORY_MAX = 4 93 } NET_FW_RULE_CATEGORY; 94 95 #ifdef __cplusplus 96 } 97 #endif 98 99 #endif /*_INC_ICFTYPES*/ 100