Generated from Manticore v1.1.6 • 388 packages. View on pkg.go.dev

msfasp

import "github.com/TheManticoreProject/Manticore/windows/protocols/ms-fasp"

Index

type FW\_ADAPTER

FW_ADAPTER ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_ADAPTER struct {
    PszFriendlyName *ndr.WSTR `ndr:"unique"`
    Guid            guid.GUID
}

type FW\_ADDRESSES

FW_ADDRESSES ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_ADDRESSES struct {
    DwV4AddressKeywords ndr.DWORD
    DwV6AddressKeywords ndr.DWORD
    V4SubNets           FW_IPV4_SUBNET_LIST
    V4Ranges            FW_IPV4_RANGE_LIST
    V6SubNets           FW_IPV6_SUBNET_LIST
    V6Ranges            FW_IPV6_RANGE_LIST
}

type FW\_ADDRESS\_KEYWORD

FW_ADDRESS_KEYWORD is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_ADDRESS_KEYWORD uint16
const (
    FW_ADDRESS_KEYWORD_NONE                     FW_ADDRESS_KEYWORD = 0x0000
    FW_ADDRESS_KEYWORD_LOCAL_SUBNET             FW_ADDRESS_KEYWORD = 0x0001
    FW_ADDRESS_KEYWORD_DNS                      FW_ADDRESS_KEYWORD = 0x0002
    FW_ADDRESS_KEYWORD_DHCP                     FW_ADDRESS_KEYWORD = 0x0004
    FW_ADDRESS_KEYWORD_WINS                     FW_ADDRESS_KEYWORD = 0x0008
    FW_ADDRESS_KEYWORD_DEFAULT_GATEWAY          FW_ADDRESS_KEYWORD = 0x0010
    FW_ADDRESS_KEYWORD_INTRANET                 FW_ADDRESS_KEYWORD = 0x0020
    FW_ADDRESS_KEYWORD_INTERNET                 FW_ADDRESS_KEYWORD = 0x0040
    FW_ADDRESS_KEYWORD_PLAYTO_RENDERERS         FW_ADDRESS_KEYWORD = 0x0080
    FW_ADDRESS_KEYWORD_REMOTE_INTRANET          FW_ADDRESS_KEYWORD = 0x0100
    FW_ADDRESS_KEYWORD_CAPTIVE_PORTAL           FW_ADDRESS_KEYWORD = 0x0200
    FW_ADDRESS_KEYWORD_INTERNAL_LOCAL_ADDRESSES FW_ADDRESS_KEYWORD = 0x0400
    FW_ADDRESS_KEYWORD_MAX_V2_10                FW_ADDRESS_KEYWORD = 0x0020
    FW_ADDRESS_KEYWORD_MAX_V2_29                FW_ADDRESS_KEYWORD = 0x0200
    FW_ADDRESS_KEYWORD_MAX_V2_33                FW_ADDRESS_KEYWORD = 0x0400
    FW_ADDRESS_KEYWORD_MAX                      FW_ADDRESS_KEYWORD = 0x0800
)

type FW\_AUTH\_CERT\_CRITERIA\_FLAGS

FW_AUTH_CERT_CRITERIA_FLAGS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_AUTH_CERT_CRITERIA_FLAGS uint16
const (
    FW_AUTH_CERT_CRITERIA_FLAGS_NONE           FW_AUTH_CERT_CRITERIA_FLAGS = 0x0000
    FW_AUTH_CERT_CRITERIA_FLAGS_FOLLOW_RENEWAL FW_AUTH_CERT_CRITERIA_FLAGS = 0x0001
    FW_AUTH_CERT_CRITERIA_FLAGS_MAX            FW_AUTH_CERT_CRITERIA_FLAGS = 0x0002
)

type FW\_AUTH\_INFO

FW_AUTH_INFO ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_AUTH_INFO struct {
    AuthMethod      FW_AUTH_METHOD
    Field           FW_AUTH_INFO_Field
    DwAuthInfoFlags ndr.DWORD
}

type FW\_AUTH\_INFO\_CERT

FW_AUTH_INFO_CERT is the certificate arm of FW_AUTH_INFO_Field: the local and peer certificate criteria ([MS-FASP] 2.2.51).

type FW_AUTH_INFO_CERT struct {
    MyCert   FW_CERT_INFO
    PeerCert FW_CERT_INFO
}

type FW\_AUTH\_INFO\_Field

FW_AUTH_INFO_Field is the AuthMethod-discriminated union of FW_AUTH_INFO ([MS-FASP] 2.2.51). Certificate methods (MACHINE_CERT=5, USER_CERT=7) carry a cert pair; Kerberos/reserved methods (MACHINE_KERB=2, USER_KERB=6, MACHINE_RESERVED=9, USER_RESERVED=10) carry principal id strings; every other method selects the empty ([default]) arm. The inline discriminant is transmitted per [C706] 14.3.8.

type FW_AUTH_INFO_Field struct {
    Tag             FW_AUTH_METHOD    `ndr:"switch,enum"`
    MachineCert     FW_AUTH_INFO_CERT `ndr:"case=5"`
    UserCert        FW_AUTH_INFO_CERT `ndr:"case=7"`
    MachineKerb     FW_AUTH_INFO_KERB `ndr:"case=2"`
    UserKerb        FW_AUTH_INFO_KERB `ndr:"case=6"`
    MachineReserved FW_AUTH_INFO_KERB `ndr:"case=9"`
    UserReserved    FW_AUTH_INFO_KERB `ndr:"case=10"`
}

type FW\_AUTH\_INFO\_KERB

FW_AUTH_INFO_KERB is the Kerberos/reserved arm of FW_AUTH_INFO_Field: the local and peer principal identifiers ([MS-FASP] 2.2.51).

type FW_AUTH_INFO_KERB struct {
    WszMyId   *ndr.WSTR `ndr:"unique"`
    WszPeerId *ndr.WSTR `ndr:"unique"`
}

type FW\_AUTH\_METHOD

FW_AUTH_METHOD is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_AUTH_METHOD uint16
const (
    FW_AUTH_METHOD_INVALID          FW_AUTH_METHOD = 0
    FW_AUTH_METHOD_ANONYMOUS        FW_AUTH_METHOD = 1
    FW_AUTH_METHOD_MACHINE_KERB     FW_AUTH_METHOD = 2
    FW_AUTH_METHOD_MACHINE_SHKEY    FW_AUTH_METHOD = 3
    FW_AUTH_METHOD_MACHINE_NTLM     FW_AUTH_METHOD = 4
    FW_AUTH_METHOD_MACHINE_CERT     FW_AUTH_METHOD = 5
    FW_AUTH_METHOD_USER_KERB        FW_AUTH_METHOD = 6
    FW_AUTH_METHOD_USER_CERT        FW_AUTH_METHOD = 7
    FW_AUTH_METHOD_USER_NTLM        FW_AUTH_METHOD = 8
    FW_AUTH_METHOD_MACHINE_RESERVED FW_AUTH_METHOD = 9
    FW_AUTH_METHOD_USER_RESERVED    FW_AUTH_METHOD = 10
    FW_AUTH_METHOD_MAX              FW_AUTH_METHOD = 11
    FW_AUTH_METHOD_MAX_2_10         FW_AUTH_METHOD = (FW_AUTH_METHOD_USER_NTLM + 1)
)

type FW\_AUTH\_SET

FW_AUTH_SET ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_AUTH_SET struct {
    PNext              *FW_AUTH_SET `ndr:"unique"`
    WSchemaVersion     uint16
    IpSecPhase         FW_IPSEC_PHASE
    WszSetId           *ndr.WSTR `ndr:"unique"`
    WszName            *ndr.WSTR `ndr:"unique"`
    WszDescription     *ndr.WSTR `ndr:"unique"`
    WszEmbeddedContext *ndr.WSTR `ndr:"unique"`
    DwNumSuites        ndr.DWORD
    PSuites            []FW_AUTH_SUITE `ndr:"unique,size_is=DwNumSuites"`
    Origin             FW_RULE_ORIGIN_TYPE
    WszGPOName         *ndr.WSTR `ndr:"unique"`
    Status             FW_RULE_STATUS
    DwAuthSetFlags     ndr.DWORD
}

type FW\_AUTH\_SET2\_10

FW_AUTH_SET2_10 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_AUTH_SET2_10 struct {
    PNext              *FW_AUTH_SET2_10 `ndr:"unique"`
    WSchemaVersion     uint16
    IpSecPhase         FW_IPSEC_PHASE
    WszSetId           *ndr.WSTR `ndr:"unique"`
    WszName            *ndr.WSTR `ndr:"unique"`
    WszDescription     *ndr.WSTR `ndr:"unique"`
    WszEmbeddedContext *ndr.WSTR `ndr:"unique"`
    DwNumSuites        ndr.DWORD
    PSuites            []FW_AUTH_SUITE2_10 `ndr:"unique,size_is=DwNumSuites"`
    Origin             FW_RULE_ORIGIN_TYPE
    WszGPOName         *ndr.WSTR `ndr:"unique"`
    Status             FW_RULE_STATUS
    DwAuthSetFlags     ndr.DWORD
}

type FW\_AUTH\_SET\_FLAGS

FW_AUTH_SET_FLAGS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_AUTH_SET_FLAGS uint16
const (
    FW_AUTH_SET_FLAGS_NONE FW_AUTH_SET_FLAGS = 0x00
    FW_AUTH_SET_FLAGS_MAX  FW_AUTH_SET_FLAGS = 0x01
)

type FW\_AUTH\_SUITE

FW_AUTH_SUITE ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_AUTH_SUITE struct {
    Method FW_AUTH_METHOD
    WFlags uint16
    Field  FW_AUTH_SUITE_Field
}

type FW\_AUTH\_SUITE2\_10

FW_AUTH_SUITE2_10 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_AUTH_SUITE2_10 struct {
    Method FW_AUTH_METHOD
    WFlags uint16
    Field  FW_AUTH_SUITE2_10_Field
}

type FW\_AUTH\_SUITE2\_10\_CERT

FW_AUTH_SUITE2_10_CERT is the certificate arm of FW_AUTH_SUITE2_10_Field ([MS-FASP] 2.2.52).

type FW_AUTH_SUITE2_10_CERT struct {
    WszCAName *ndr.WSTR `ndr:"ref"`
}

type FW\_AUTH\_SUITE2\_10\_Field

FW_AUTH_SUITE2_10_Field is the Method-discriminated union of FW_AUTH_SUITE2_10 ([MS-FASP] 2.2.52): certificate methods (MACHINE_CERT=5, USER_CERT=7) carry a CA name; MACHINE_SHKEY=3 carries a shared key; other methods select the empty ([default]) arm.

type FW_AUTH_SUITE2_10_Field struct {
    Tag          FW_AUTH_METHOD          `ndr:"switch,enum"`
    MachineCert  FW_AUTH_SUITE2_10_CERT  `ndr:"case=5"`
    UserCert     FW_AUTH_SUITE2_10_CERT  `ndr:"case=7"`
    MachineShkey FW_AUTH_SUITE2_10_SHKEY `ndr:"case=3"`
}

type FW\_AUTH\_SUITE2\_10\_SHKEY

FW_AUTH_SUITE2_10_SHKEY is the pre-shared-key arm of FW_AUTH_SUITE2_10_Field ([MS-FASP] 2.2.52).

type FW_AUTH_SUITE2_10_SHKEY struct {
    WszSHKey *ndr.WSTR `ndr:"ref"`
}

type FW\_AUTH\_SUITE\_CERT

FW_AUTH_SUITE_CERT is the certificate arm of FW_AUTH_SUITE_Field ([MS-FASP] 2.2.53).

type FW_AUTH_SUITE_CERT struct {
    WszCAName     *ndr.WSTR         `ndr:"ref"`
    PCertCriteria *FW_CERT_CRITERIA `ndr:"unique"`
}

type FW\_AUTH\_SUITE\_FLAGS

FW_AUTH_SUITE_FLAGS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_AUTH_SUITE_FLAGS uint16
const (
    FW_AUTH_SUITE_FLAGS_NONE                         FW_AUTH_SUITE_FLAGS = 0x0000
    FW_AUTH_SUITE_FLAGS_CERT_EXCLUDE_CA_NAME         FW_AUTH_SUITE_FLAGS = 0x0001
    FW_AUTH_SUITE_FLAGS_HEALTH_CERT                  FW_AUTH_SUITE_FLAGS = 0x0002
    FW_AUTH_SUITE_FLAGS_PERFORM_CERT_ACCOUNT_MAPPING FW_AUTH_SUITE_FLAGS = 0x0004
    FW_AUTH_SUITE_FLAGS_CERT_SIGNING_ECDSA256        FW_AUTH_SUITE_FLAGS = 0x0008
    FW_AUTH_SUITE_FLAGS_CERT_SIGNING_ECDSA384        FW_AUTH_SUITE_FLAGS = 0x0010
    FW_AUTH_SUITE_FLAGS_MAX_V2_1                     FW_AUTH_SUITE_FLAGS = 0x0020
    FW_AUTH_SUITE_FLAGS_INTERMEDIATE_CA              FW_AUTH_SUITE_FLAGS = 0x0020
    FW_AUTH_SUITE_FLAGS_MAX_V2_10                    FW_AUTH_SUITE_FLAGS = 0x0040
    FW_AUTH_SUITE_FLAGS_ALLOW_PROXY                  FW_AUTH_SUITE_FLAGS = 0x0040
    FW_AUTH_SUITE_FLAGS_MAX                          FW_AUTH_SUITE_FLAGS = 0x0080
)

type FW\_AUTH\_SUITE\_Field

FW_AUTH_SUITE_Field is the Method-discriminated union of FW_AUTH_SUITE ([MS-FASP] 2.2.53): certificate methods (MACHINE_CERT=5, USER_CERT=7) carry a CA name and optional criteria; MACHINE_SHKEY=3 carries a shared key; Kerberos methods (MACHINE_KERB=2, USER_KERB=6) carry an optional proxy server; other methods select the empty ([default]) arm.

type FW_AUTH_SUITE_Field struct {
    Tag          FW_AUTH_METHOD      `ndr:"switch,enum"`
    MachineCert  FW_AUTH_SUITE_CERT  `ndr:"case=5"`
    UserCert     FW_AUTH_SUITE_CERT  `ndr:"case=7"`
    MachineShkey FW_AUTH_SUITE_SHKEY `ndr:"case=3"`
    MachineKerb  FW_AUTH_SUITE_KERB  `ndr:"case=2"`
    UserKerb     FW_AUTH_SUITE_KERB  `ndr:"case=6"`
}

type FW\_AUTH\_SUITE\_KERB

FW_AUTH_SUITE_KERB is the Kerberos arm of FW_AUTH_SUITE_Field ([MS-FASP] 2.2.53).

type FW_AUTH_SUITE_KERB struct {
    WszProxyServer *ndr.WSTR `ndr:"unique"`
}

type FW\_AUTH\_SUITE\_SHKEY

FW_AUTH_SUITE_SHKEY is the pre-shared-key arm of FW_AUTH_SUITE_Field ([MS-FASP] 2.2.53).

type FW_AUTH_SUITE_SHKEY struct {
    WszSHKey *ndr.WSTR `ndr:"ref"`
}

type FW\_BYTE\_BLOB

FW_BYTE_BLOB ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_BYTE_BLOB struct {
    DwSize ndr.DWORD
    Blob   []uint8 `ndr:"unique,size_is=DwSize"`
}

type FW\_CERT\_CRITERIA

FW_CERT_CRITERIA ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_CERT_CRITERIA struct {
    WSchemaVersion   uint16
    WFlags           uint16
    CertCriteriaType FW_CERT_CRITERIA_TYPE
    NameType         FW_CERT_CRITERIA_NAME_TYPE
    WszName          *ndr.WSTR `ndr:"unique"`
    DwNumEku         ndr.DWORD
    PpEku            []LPSTR   `ndr:"unique,size_is=DwNumEku"`
    WszHash          *ndr.WSTR `ndr:"unique"`
}

type FW\_CERT\_CRITERIA\_NAME\_TYPE

FW_CERT_CRITERIA_NAME_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_CERT_CRITERIA_NAME_TYPE uint16
const (
    FW_CERT_CRITERIA_NAME_NONE   FW_CERT_CRITERIA_NAME_TYPE = 0
    FW_CERT_CRITERIA_NAME_DNS    FW_CERT_CRITERIA_NAME_TYPE = 1
    FW_CERT_CRITERIA_NAME_UPN    FW_CERT_CRITERIA_NAME_TYPE = 2
    FW_CERT_CRITERIA_NAME_RFC822 FW_CERT_CRITERIA_NAME_TYPE = 3
    FW_CERT_CRITERIA_NAME_CN     FW_CERT_CRITERIA_NAME_TYPE = 4
    FW_CERT_CRITERIA_NAME_OU     FW_CERT_CRITERIA_NAME_TYPE = 5
    FW_CERT_CRITERIA_NAME_O      FW_CERT_CRITERIA_NAME_TYPE = 6
    FW_CERT_CRITERIA_NAME_DC     FW_CERT_CRITERIA_NAME_TYPE = 7
    FW_CERT_CRITERIA_NAME_MAX    FW_CERT_CRITERIA_NAME_TYPE = 8
)

type FW\_CERT\_CRITERIA\_TYPE

FW_CERT_CRITERIA_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_CERT_CRITERIA_TYPE uint16
const (
    FW_CERT_CRITERIA_TYPE_BOTH       FW_CERT_CRITERIA_TYPE = 0
    FW_CERT_CRITERIA_TYPE_SELECTION  FW_CERT_CRITERIA_TYPE = 1
    FW_CERT_CRITERIA_TYPE_VALIDATION FW_CERT_CRITERIA_TYPE = 2
    FW_CERT_CRITERIA_TYPE_MAX        FW_CERT_CRITERIA_TYPE = 3
)

type FW\_CERT\_INFO

FW_CERT_INFO ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_CERT_INFO struct {
    SubjectName FW_BYTE_BLOB
    DwCertFlags ndr.DWORD
}

type FW\_CONFIG\_FLAGS

FW_CONFIG_FLAGS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_CONFIG_FLAGS uint16
const (
    FW_CONFIG_FLAG_RETURN_DEFAULT_IF_NOT_FOUND FW_CONFIG_FLAGS = 0x0001
)

FW_COOKIE_PAIR ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_COOKIE_PAIR struct {
    Initiator UINT64
    Responder UINT64
}

type FW\_CRYPTO\_ENCRYPTION\_TYPE

FW_CRYPTO_ENCRYPTION_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_CRYPTO_ENCRYPTION_TYPE uint16
const (
    FW_CRYPTO_ENCRYPTION_NONE       FW_CRYPTO_ENCRYPTION_TYPE = 0
    FW_CRYPTO_ENCRYPTION_DES        FW_CRYPTO_ENCRYPTION_TYPE = 1
    FW_CRYPTO_ENCRYPTION_3DES       FW_CRYPTO_ENCRYPTION_TYPE = 2
    FW_CRYPTO_ENCRYPTION_AES128     FW_CRYPTO_ENCRYPTION_TYPE = 3
    FW_CRYPTO_ENCRYPTION_AES192     FW_CRYPTO_ENCRYPTION_TYPE = 4
    FW_CRYPTO_ENCRYPTION_AES256     FW_CRYPTO_ENCRYPTION_TYPE = 5
    FW_CRYPTO_ENCRYPTION_AES_GCM128 FW_CRYPTO_ENCRYPTION_TYPE = 6
    FW_CRYPTO_ENCRYPTION_AES_GCM192 FW_CRYPTO_ENCRYPTION_TYPE = 7
    FW_CRYPTO_ENCRYPTION_AES_GCM256 FW_CRYPTO_ENCRYPTION_TYPE = 8
    FW_CRYPTO_ENCRYPTION_MAX        FW_CRYPTO_ENCRYPTION_TYPE = 9
    FW_CRYPTO_ENCRYPTION_MAX_V2_0   FW_CRYPTO_ENCRYPTION_TYPE = FW_CRYPTO_ENCRYPTION_AES_GCM128
)

type FW\_CRYPTO\_HASH\_TYPE

FW_CRYPTO_HASH_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_CRYPTO_HASH_TYPE uint16
const (
    FW_CRYPTO_HASH_NONE        FW_CRYPTO_HASH_TYPE = 0
    FW_CRYPTO_HASH_MD5         FW_CRYPTO_HASH_TYPE = 1
    FW_CRYPTO_HASH_SHA1        FW_CRYPTO_HASH_TYPE = 2
    FW_CRYPTO_HASH_SHA256      FW_CRYPTO_HASH_TYPE = 3
    FW_CRYPTO_HASH_SHA384      FW_CRYPTO_HASH_TYPE = 4
    FW_CRYPTO_HASH_AES_GMAC128 FW_CRYPTO_HASH_TYPE = 5
    FW_CRYPTO_HASH_AES_GMAC192 FW_CRYPTO_HASH_TYPE = 6
    FW_CRYPTO_HASH_AES_GMAC256 FW_CRYPTO_HASH_TYPE = 7
    FW_CRYPTO_HASH_MAX         FW_CRYPTO_HASH_TYPE = 8
    FW_CRYPTO_HASH_MAX_V2_0    FW_CRYPTO_HASH_TYPE = FW_CRYPTO_HASH_SHA256
)

type FW\_CRYPTO\_KEY\_EXCHANGE\_TYPE

FW_CRYPTO_KEY_EXCHANGE_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_CRYPTO_KEY_EXCHANGE_TYPE uint16
const (
    FW_CRYPTO_KEY_EXCHANGE_NONE      FW_CRYPTO_KEY_EXCHANGE_TYPE = 0
    FW_CRYPTO_KEY_EXCHANGE_DH1       FW_CRYPTO_KEY_EXCHANGE_TYPE = 1
    FW_CRYPTO_KEY_EXCHANGE_DH2       FW_CRYPTO_KEY_EXCHANGE_TYPE = 2
    FW_CRYPTO_KEY_EXCHANGE_ECDH256   FW_CRYPTO_KEY_EXCHANGE_TYPE = 3
    FW_CRYPTO_KEY_EXCHANGE_ECDH384   FW_CRYPTO_KEY_EXCHANGE_TYPE = 4
    FW_CRYPTO_KEY_EXCHANGE_DH2048    FW_CRYPTO_KEY_EXCHANGE_TYPE = 5
    FW_CRYPTO_KEY_EXCHANGE_DH24      FW_CRYPTO_KEY_EXCHANGE_TYPE = 6
    FW_CRYPTO_KEY_EXCHANGE_MAX       FW_CRYPTO_KEY_EXCHANGE_TYPE = 7
    FW_CRYPTO_KEY_EXCHANGE_DH14      FW_CRYPTO_KEY_EXCHANGE_TYPE = FW_CRYPTO_KEY_EXCHANGE_DH2048
    FW_CRYPTO_KEY_EXCHANGE_MAX_V2_10 FW_CRYPTO_KEY_EXCHANGE_TYPE = FW_CRYPTO_KEY_EXCHANGE_DH24
)

type FW\_CRYPTO\_PROTOCOL\_TYPE

FW_CRYPTO_PROTOCOL_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_CRYPTO_PROTOCOL_TYPE uint16
const (
    FW_CRYPTO_PROTOCOL_INVALID       FW_CRYPTO_PROTOCOL_TYPE = 0
    FW_CRYPTO_PROTOCOL_AH            FW_CRYPTO_PROTOCOL_TYPE = 1
    FW_CRYPTO_PROTOCOL_ESP           FW_CRYPTO_PROTOCOL_TYPE = 2
    FW_CRYPTO_PROTOCOL_BOTH          FW_CRYPTO_PROTOCOL_TYPE = 3
    FW_CRYPTO_PROTOCOL_AUTH_NO_ENCAP FW_CRYPTO_PROTOCOL_TYPE = 4
    FW_CRYPTO_PROTOCOL_MAX           FW_CRYPTO_PROTOCOL_TYPE = 5
    FW_CRYPTO_PROTOCOL_MAX_2_1       FW_CRYPTO_PROTOCOL_TYPE = (FW_CRYPTO_PROTOCOL_BOTH + 1)
)

type FW\_CRYPTO\_SET

FW_CRYPTO_SET ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_CRYPTO_SET struct {
    PNext              *FW_CRYPTO_SET `ndr:"unique"`
    WSchemaVersion     uint16
    IpSecPhase         FW_IPSEC_PHASE
    WszSetId           *ndr.WSTR `ndr:"unique"`
    WszName            *ndr.WSTR `ndr:"unique"`
    WszDescription     *ndr.WSTR `ndr:"unique"`
    WszEmbeddedContext *ndr.WSTR `ndr:"unique"`
    Field              FW_CRYPTO_SET_Field
    Origin             FW_RULE_ORIGIN_TYPE
    WszGPOName         *ndr.WSTR `ndr:"unique"`
    Status             FW_RULE_STATUS
    DwCryptoSetFlags   ndr.DWORD
}

type FW\_CRYPTO\_SET\_FLAGS

FW_CRYPTO_SET_FLAGS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_CRYPTO_SET_FLAGS uint16
const (
    FW_CRYPTO_SET_FLAGS_NONE FW_CRYPTO_SET_FLAGS = 0x00
    FW_CRYPTO_SET_FLAGS_MAX  FW_CRYPTO_SET_FLAGS = 0x01
)

type FW\_CRYPTO\_SET\_Field

FW_CRYPTO_SET_Field is the IpSecPhase-discriminated union of FW_CRYPTO_SET ([MS-FASP] 2.2.75): FW_IPSEC_PHASE_1 (1) carries the Phase 1 suites; FW_IPSEC_PHASE_2 (2) carries the Phase 2 suites. The inline discriminant is transmitted per [C706] 14.3.8.

type FW_CRYPTO_SET_Field struct {
    Tag    FW_IPSEC_PHASE       `ndr:"switch,enum"`
    Phase1 FW_CRYPTO_SET_PHASE1 `ndr:"case=1"`
    Phase2 FW_CRYPTO_SET_PHASE2 `ndr:"case=2"`
}

type FW\_CRYPTO\_SET\_PHASE1

FW_CRYPTO_SET_PHASE1 is the Phase 1 arm of FW_CRYPTO_SET_Field ([MS-FASP] 2.2.75).

type FW_CRYPTO_SET_PHASE1 struct {
    WFlags            uint16
    DwNumPhase1Suites ndr.DWORD
    PPhase1Suites     []FW_PHASE1_CRYPTO_SUITE `ndr:"unique,size_is=DwNumPhase1Suites"`
    DwTimeOutMinutes  ndr.DWORD
    DwTimeOutSessions ndr.DWORD
}

type FW\_CRYPTO\_SET\_PHASE2

FW_CRYPTO_SET_PHASE2 is the Phase 2 arm of FW_CRYPTO_SET_Field ([MS-FASP] 2.2.75).

type FW_CRYPTO_SET_PHASE2 struct {
    Pfs               FW_PHASE2_CRYPTO_PFS
    DwNumPhase2Suites ndr.DWORD
    PPhase2Suites     []FW_PHASE2_CRYPTO_SUITE `ndr:"unique,size_is=DwNumPhase2Suites"`
}

type FW\_CS\_RULE

FW_CS_RULE ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_CS_RULE struct {
    PNext                        *FW_CS_RULE `ndr:"unique"`
    WSchemaVersion               uint16
    WszRuleId                    *ndr.WSTR `ndr:"unique"`
    WszName                      *ndr.WSTR `ndr:"unique"`
    WszDescription               *ndr.WSTR `ndr:"unique"`
    DwProfiles                   ndr.DWORD
    Endpoint1                    FW_ADDRESSES
    Endpoint2                    FW_ADDRESSES
    LocalInterfaceIds            FW_INTERFACE_LUIDS
    DwLocalInterfaceTypes        ndr.DWORD
    DwLocalTunnelEndpointV4      ndr.DWORD
    LocalTunnelEndpointV6        [16]uint8
    DwRemoteTunnelEndpointV4     ndr.DWORD
    RemoteTunnelEndpointV6       [16]uint8
    Endpoint1Ports               FW_PORTS
    Endpoint2Ports               FW_PORTS
    WIpProtocol                  uint16
    WszPhase1AuthSet             *ndr.WSTR `ndr:"unique"`
    WszPhase2CryptoSet           *ndr.WSTR `ndr:"unique"`
    WszPhase2AuthSet             *ndr.WSTR `ndr:"unique"`
    Action                       FW_CS_RULE_ACTION
    WFlags                       uint16
    WszEmbeddedContext           *ndr.WSTR `ndr:"unique"`
    PlatformValidityList         FW_OS_PLATFORM_LIST
    Origin                       FW_RULE_ORIGIN_TYPE
    WszGPOName                   *ndr.WSTR `ndr:"unique"`
    Status                       FW_RULE_STATUS
    WszMMParentRuleId            *ndr.WSTR `ndr:"unique"`
    Reserved                     ndr.DWORD
    PMetaData                    []FW_OBJECT_METADATA `ndr:"unique,conformant"`
    WszRemoteTunnelEndpointFqdn  *ndr.WSTR            `ndr:"unique"`
    RemoteTunnelEndpoints        FW_ADDRESSES
    DwKeyModules                 ndr.DWORD
    FwdPathSALifetime            ndr.DWORD
    WszTransportMachineAuthzSDDL *ndr.WSTR `ndr:"unique"`
    WszTransportUserAuthzSDDL    *ndr.WSTR `ndr:"unique"`
}

type FW\_CS\_RULE2\_0

FW_CS_RULE2_0 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_CS_RULE2_0 struct {
    PNext                    *FW_CS_RULE2_0 `ndr:"unique"`
    WSchemaVersion           uint16
    WszRuleId                *ndr.WSTR `ndr:"unique"`
    WszName                  *ndr.WSTR `ndr:"unique"`
    WszDescription           *ndr.WSTR `ndr:"unique"`
    DwProfiles               ndr.DWORD
    Endpoint1                FW_ADDRESSES
    Endpoint2                FW_ADDRESSES
    LocalInterfaceIds        FW_INTERFACE_LUIDS
    DwLocalInterfaceTypes    ndr.DWORD
    DwLocalTunnelEndpointV4  ndr.DWORD
    LocalTunnelEndpointV6    [16]uint8
    DwRemoteTunnelEndpointV4 ndr.DWORD
    RemoteTunnelEndpointV6   [16]uint8
    Endpoint1Ports           FW_PORTS
    Endpoint2Ports           FW_PORTS
    WIpProtocol              uint16
    WszPhase1AuthSet         *ndr.WSTR `ndr:"unique"`
    WszPhase2CryptoSet       *ndr.WSTR `ndr:"unique"`
    WszPhase2AuthSet         *ndr.WSTR `ndr:"unique"`
    Action                   FW_CS_RULE_ACTION
    WFlags                   uint16
    WszEmbeddedContext       *ndr.WSTR `ndr:"unique"`
    PlatformValidityList     FW_OS_PLATFORM_LIST
    Origin                   FW_RULE_ORIGIN_TYPE
    WszGPOName               *ndr.WSTR `ndr:"unique"`
    Status                   FW_RULE_STATUS
}

type FW\_CS\_RULE2\_10

FW_CS_RULE2_10 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_CS_RULE2_10 struct {
    PNext                    *FW_CS_RULE2_10 `ndr:"unique"`
    WSchemaVersion           uint16
    WszRuleId                *ndr.WSTR `ndr:"unique"`
    WszName                  *ndr.WSTR `ndr:"unique"`
    WszDescription           *ndr.WSTR `ndr:"unique"`
    DwProfiles               ndr.DWORD
    Endpoint1                FW_ADDRESSES
    Endpoint2                FW_ADDRESSES
    LocalInterfaceIds        FW_INTERFACE_LUIDS
    DwLocalInterfaceTypes    ndr.DWORD
    DwLocalTunnelEndpointV4  ndr.DWORD
    LocalTunnelEndpointV6    [16]uint8
    DwRemoteTunnelEndpointV4 ndr.DWORD
    RemoteTunnelEndpointV6   [16]uint8
    Endpoint1Ports           FW_PORTS
    Endpoint2Ports           FW_PORTS
    WIpProtocol              uint16
    WszPhase1AuthSet         *ndr.WSTR `ndr:"unique"`
    WszPhase2CryptoSet       *ndr.WSTR `ndr:"unique"`
    WszPhase2AuthSet         *ndr.WSTR `ndr:"unique"`
    Action                   FW_CS_RULE_ACTION
    WFlags                   uint16
    WszEmbeddedContext       *ndr.WSTR `ndr:"unique"`
    PlatformValidityList     FW_OS_PLATFORM_LIST
    Origin                   FW_RULE_ORIGIN_TYPE
    WszGPOName               *ndr.WSTR `ndr:"unique"`
    Status                   FW_RULE_STATUS
    WszMMParentRuleId        *ndr.WSTR `ndr:"unique"`
    Reserved                 ndr.DWORD
    PMetaData                []FW_OBJECT_METADATA `ndr:"unique,conformant"`
}

type FW\_CS\_RULE\_ACTION

FW_CS_RULE_ACTION is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_CS_RULE_ACTION uint16
const (
    FW_CS_RULE_ACTION_INVALID       FW_CS_RULE_ACTION = 0
    FW_CS_RULE_ACTION_SECURE_SERVER FW_CS_RULE_ACTION = 1
    FW_CS_RULE_ACTION_BOUNDARY      FW_CS_RULE_ACTION = 2
    FW_CS_RULE_ACTION_SECURE        FW_CS_RULE_ACTION = 3
    FW_CS_RULE_ACTION_DO_NOT_SECURE FW_CS_RULE_ACTION = 4
    FW_CS_RULE_ACTION_MAX           FW_CS_RULE_ACTION = 5
)

type FW\_CS\_RULE\_FLAGS

FW_CS_RULE_FLAGS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_CS_RULE_FLAGS uint16
const (
    FW_CS_RULE_FLAGS_NONE                          FW_CS_RULE_FLAGS = 0x00
    FW_CS_RULE_FLAGS_ACTIVE                        FW_CS_RULE_FLAGS = 0x01
    FW_CS_RULE_FLAGS_DTM                           FW_CS_RULE_FLAGS = 0x02
    FW_CS_RULE_FLAGS_TUNNEL_BYPASS_IF_ENCRYPTED    FW_CS_RULE_FLAGS = 0x08
    FW_CS_RULE_FLAGS_OUTBOUND_CLEAR                FW_CS_RULE_FLAGS = 0x10
    FW_CS_RULE_FLAGS_APPLY_AUTHZ                   FW_CS_RULE_FLAGS = 0x20
    FW_CS_RULE_FLAGS_KEY_MANAGER_ALLOW_DICTATE_KEY FW_CS_RULE_FLAGS = 0x40
    FW_CS_RULE_FLAGS_KEY_MANAGER_ALLOW_NOTIFY_KEY  FW_CS_RULE_FLAGS = 0x80
    FW_CS_RULE_FLAGS_SECURITY_REALM                FW_CS_RULE_FLAGS = 0x100
    FW_CS_RULE_FLAGS_TUNNEL_TYPE_POINT_TO_SITE     FW_CS_RULE_FLAGS = 0x200
    FW_CS_RULE_FLAGS_MAX                           FW_CS_RULE_FLAGS = 0x400
    FW_CS_RULE_FLAGS_MAX_V2_1                      FW_CS_RULE_FLAGS = 0x02
    FW_CS_RULE_FLAGS_MAX_V2_8                      FW_CS_RULE_FLAGS = 0x04
    FW_CS_RULE_FLAGS_MAX_V2_10                     FW_CS_RULE_FLAGS = 0x40
    FW_CS_RULE_FLAGS_MAX_V2_20                     FW_CS_RULE_FLAGS = 0x100
)

type FW\_DATA\_TYPE

FW_DATA_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_DATA_TYPE uint16
const (
    FW_DATA_TYPE_EMPTY          FW_DATA_TYPE = 0
    FW_DATA_TYPE_UINT8          FW_DATA_TYPE = 1
    FW_DATA_TYPE_UINT16         FW_DATA_TYPE = 2
    FW_DATA_TYPE_UINT32         FW_DATA_TYPE = 3
    FW_DATA_TYPE_UINT64         FW_DATA_TYPE = 4
    FW_DATA_TYPE_UNICODE_STRING FW_DATA_TYPE = 5
)

type FW\_DIAG\_APP

FW_DIAG_APP ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_DIAG_APP struct {
    PszAppPath *ndr.WSTR `ndr:"unique"`
}

type FW\_DIRECTION

FW_DIRECTION is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_DIRECTION uint16
const (
    FW_DIR_INVALID FW_DIRECTION = 0
    FW_DIR_IN      FW_DIRECTION = 1
    FW_DIR_OUT     FW_DIRECTION = 2
    FW_DIR_MAX     FW_DIRECTION = 3
)

type FW\_DYNAMIC\_KEYWORD\_ADDRESS0

FW_DYNAMIC_KEYWORD_ADDRESS0 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_DYNAMIC_KEYWORD_ADDRESS0 struct {
    Id        guid.GUID
    Keyword   PCWSTR
    Flags     ndr.DWORD
    Addresses PCWSTR
}

type FW\_DYNAMIC\_KEYWORD\_ADDRESS\_DATA0

FW_DYNAMIC_KEYWORD_ADDRESS_DATA0 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_DYNAMIC_KEYWORD_ADDRESS_DATA0 struct {
    DynamicKeywordAddress FW_DYNAMIC_KEYWORD_ADDRESS0
    Next                  *FW_DYNAMIC_KEYWORD_ADDRESS_DATA0 `ndr:"unique"`
    SchemaVersion         uint16
    OriginType            FW_DYNAMIC_KEYWORD_ORIGIN_TYPE
}

type FW\_DYNAMIC\_KEYWORD\_ADDRESS\_ENUM\_FLAGS

FW_DYNAMIC_KEYWORD_ADDRESS_ENUM_FLAGS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_DYNAMIC_KEYWORD_ADDRESS_ENUM_FLAGS uint16
const (
    FW_DYNAMIC_KEYWORD_ADDRESS_ENUM_FLAGS_NONE             FW_DYNAMIC_KEYWORD_ADDRESS_ENUM_FLAGS = 0x0000
    FW_DYNAMIC_KEYWORD_ADDRESS_ENUM_FLAGS_AUTO_RESOLVE     FW_DYNAMIC_KEYWORD_ADDRESS_ENUM_FLAGS = 0x0001
    FW_DYNAMIC_KEYWORD_ADDRESS_ENUM_FLAGS_NON_AUTO_RESOLVE FW_DYNAMIC_KEYWORD_ADDRESS_ENUM_FLAGS = 0x0002
    FW_DYNAMIC_KEYWORD_ADDRESS_ENUM_FLAGS_ALL              FW_DYNAMIC_KEYWORD_ADDRESS_ENUM_FLAGS = 0x0003
    FW_DYNAMIC_KEYWORD_ADDRESS_ENUM_FLAGS_MAX              FW_DYNAMIC_KEYWORD_ADDRESS_ENUM_FLAGS = 0x0004
)

type FW\_DYNAMIC\_KEYWORD\_ADDRESS\_FLAGS

FW_DYNAMIC_KEYWORD_ADDRESS_FLAGS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_DYNAMIC_KEYWORD_ADDRESS_FLAGS uint16
const (
    FW_DYNAMIC_KEYWORD_ADDRESS_FLAGS_NONE         FW_DYNAMIC_KEYWORD_ADDRESS_FLAGS = 0x0000
    FW_DYNAMIC_KEYWORD_ADDRESS_FLAGS_AUTO_RESOLVE FW_DYNAMIC_KEYWORD_ADDRESS_FLAGS = 0x0001
    FW_DYNAMIC_KEYWORD_ADDRESS_FLAGS_MAX          FW_DYNAMIC_KEYWORD_ADDRESS_FLAGS = 0x0002
)

type FW\_DYNAMIC\_KEYWORD\_ADDRESS\_ID\_LIST

FW_DYNAMIC_KEYWORD_ADDRESS_ID_LIST ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_DYNAMIC_KEYWORD_ADDRESS_ID_LIST struct {
    DwNumIds ndr.DWORD
    Ids      []guid.GUID `ndr:"unique,size_is=DwNumIds"`
}

type FW\_DYNAMIC\_KEYWORD\_ADDRESS\_INTERNAL

FW_DYNAMIC_KEYWORD_ADDRESS_INTERNAL ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_DYNAMIC_KEYWORD_ADDRESS_INTERNAL struct {
    Next          *FW_DYNAMIC_KEYWORD_ADDRESS_INTERNAL `ndr:"unique"`
    SchemaVersion uint16
    Id            guid.GUID
    Keyword       PCWSTR
    Flags         ndr.DWORD
    Addresses     FW_ADDRESSES
    OriginType    FW_DYNAMIC_KEYWORD_ORIGIN_TYPE
}

type FW\_DYNAMIC\_KEYWORD\_ORIGIN\_TYPE

FW_DYNAMIC_KEYWORD_ORIGIN_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_DYNAMIC_KEYWORD_ORIGIN_TYPE uint16
const (
    FW_DYNAMIC_KEYWORD_ORIGIN_INVALID FW_DYNAMIC_KEYWORD_ORIGIN_TYPE = 0
    FW_DYNAMIC_KEYWORD_ORIGIN_LOCAL   FW_DYNAMIC_KEYWORD_ORIGIN_TYPE = 1
    FW_DYNAMIC_KEYWORD_ORIGIN_MDM     FW_DYNAMIC_KEYWORD_ORIGIN_TYPE = 2
    FW_DYNAMIC_KEYWORD_ORIGIN_MAX     FW_DYNAMIC_KEYWORD_ORIGIN_TYPE = 3
)

type FW\_ENDPOINTS

FW_ENDPOINTS ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_ENDPOINTS struct {
    IpVersion              FW_IP_VERSION
    DwSourceV4Address      ndr.DWORD
    DwDestinationV4Address ndr.DWORD
    SourceV6Address        [16]uint8
    DestinationV6Address   [16]uint8
}

type FW\_ENFORCEMENT\_STATE

FW_ENFORCEMENT_STATE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_ENFORCEMENT_STATE uint16
const (
    FW_ENFORCEMENT_STATE_INVALID                                  FW_ENFORCEMENT_STATE = 0
    FW_ENFORCEMENT_STATE_FULL                                     FW_ENFORCEMENT_STATE = 1
    FW_ENFORCEMENT_STATE_WF_OFF_IN_PROFILE                        FW_ENFORCEMENT_STATE = 2
    FW_ENFORCEMENT_STATE_CATEGORY_OFF                             FW_ENFORCEMENT_STATE = 3
    FW_ENFORCEMENT_STATE_DISABLED_OBJECT                          FW_ENFORCEMENT_STATE = 4
    FW_ENFORCEMENT_STATE_INACTIVE_PROFILE                         FW_ENFORCEMENT_STATE = 5
    FW_ENFORCEMENT_STATE_LOCAL_ADDRESS_RESOLUTION_EMPTY           FW_ENFORCEMENT_STATE = 6
    FW_ENFORCEMENT_STATE_REMOTE_ADDRESS_RESOLUTION_EMPTY          FW_ENFORCEMENT_STATE = 7
    FW_ENFORCEMENT_STATE_LOCAL_PORT_RESOLUTION_EMPTY              FW_ENFORCEMENT_STATE = 8
    FW_ENFORCEMENT_STATE_REMOTE_PORT_RESOLUTION_EMPTY             FW_ENFORCEMENT_STATE = 9
    FW_ENFORCEMENT_STATE_INTERFACE_RESOLUTION_EMPTY               FW_ENFORCEMENT_STATE = 10
    FW_ENFORCEMENT_STATE_APPLICATION_RESOLUTION_EMPTY             FW_ENFORCEMENT_STATE = 11
    FW_ENFORCEMENT_STATE_REMOTE_MACHINE_EMPTY                     FW_ENFORCEMENT_STATE = 12
    FW_ENFORCEMENT_STATE_REMOTE_USER_EMPTY                        FW_ENFORCEMENT_STATE = 13
    FW_ENFORCEMENT_STATE_LOCAL_GLOBAL_OPEN_PORTS_DISALLOWED       FW_ENFORCEMENT_STATE = 14
    FW_ENFORCEMENT_STATE_LOCAL_AUTHORIZED_APPLICATIONS_DISALLOWED FW_ENFORCEMENT_STATE = 15
    FW_ENFORCEMENT_STATE_LOCAL_FIREWALL_RULES_DISALLOWED          FW_ENFORCEMENT_STATE = 16
    FW_ENFORCEMENT_STATE_LOCAL_CONSEC_RULES_DISALLOWED            FW_ENFORCEMENT_STATE = 17
    FW_ENFORCEMENT_STATE_MISMATCHED_PLATFORM                      FW_ENFORCEMENT_STATE = 18
    FW_ENFORCEMENT_STATE_OPTIMIZED_OUT                            FW_ENFORCEMENT_STATE = 19
    FW_ENFORCEMENT_STATE_LOCAL_USER_EMPTY                         FW_ENFORCEMENT_STATE = 20
    FW_ENFORCEMENT_STATE_TRANSPORT_MACHINE_SD_EMPTY               FW_ENFORCEMENT_STATE = 21
    FW_ENFORCEMENT_STATE_TRANSPORT_USER_SD_EMPTY                  FW_ENFORCEMENT_STATE = 22
    FW_ENFORCEMENT_STATE_TUPLE_RESOLUTION_EMPTY                   FW_ENFORCEMENT_STATE = 23
    FW_ENFORCEMENT_STATE_NETNAME_RESOLUTION_EMPTY                 FW_ENFORCEMENT_STATE = 24
    FW_ENFORCEMENT_STATE_DUPLICATE                                FW_ENFORCEMENT_STATE = 25
    FW_ENFORCEMENT_STATE_MAX                                      FW_ENFORCEMENT_STATE = 26
)

type FW\_ENUM\_RULES\_FLAGS

FW_ENUM_RULES_FLAGS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_ENUM_RULES_FLAGS uint16
const (
    FW_ENUM_RULES_FLAG_NONE                FW_ENUM_RULES_FLAGS = 0x0000
    FW_ENUM_RULES_FLAG_RESOLVE_NAME        FW_ENUM_RULES_FLAGS = 0x0001
    FW_ENUM_RULES_FLAG_RESOLVE_DESCRIPTION FW_ENUM_RULES_FLAGS = 0x0002
    FW_ENUM_RULES_FLAG_RESOLVE_APPLICATION FW_ENUM_RULES_FLAGS = 0x0004
    FW_ENUM_RULES_FLAG_RESOLVE_KEYWORD     FW_ENUM_RULES_FLAGS = 0x0008
    FW_ENUM_RULES_FLAG_RESOLVE_GPO_NAME    FW_ENUM_RULES_FLAGS = 0x0010
    FW_ENUM_RULES_FLAG_EFFECTIVE           FW_ENUM_RULES_FLAGS = 0x0020
    FW_ENUM_RULES_FLAG_INCLUDE_METADATA    FW_ENUM_RULES_FLAGS = 0x0040
    FW_ENUM_RULES_FLAG_MAX                 FW_ENUM_RULES_FLAGS = 0x0080
)

type FW\_GLOBAL\_CONFIG

FW_GLOBAL_CONFIG is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_GLOBAL_CONFIG uint16
const (
    FW_GLOBAL_CONFIG_INVALID                                           FW_GLOBAL_CONFIG = 0
    FW_GLOBAL_CONFIG_POLICY_VERSION_SUPPORTED                          FW_GLOBAL_CONFIG = 1
    FW_GLOBAL_CONFIG_CURRENT_PROFILE                                   FW_GLOBAL_CONFIG = 2
    FW_GLOBAL_CONFIG_DISABLE_STATEFUL_FTP                              FW_GLOBAL_CONFIG = 3
    FW_GLOBAL_CONFIG_DISABLE_STATEFUL_PPTP                             FW_GLOBAL_CONFIG = 4
    FW_GLOBAL_CONFIG_SA_IDLE_TIME                                      FW_GLOBAL_CONFIG = 5
    FW_GLOBAL_CONFIG_PRESHARED_KEY_ENCODING                            FW_GLOBAL_CONFIG = 6
    FW_GLOBAL_CONFIG_IPSEC_EXEMPT                                      FW_GLOBAL_CONFIG = 7
    FW_GLOBAL_CONFIG_CRL_CHECK                                         FW_GLOBAL_CONFIG = 8
    FW_GLOBAL_CONFIG_IPSEC_THROUGH_NAT                                 FW_GLOBAL_CONFIG = 9
    FW_GLOBAL_CONFIG_POLICY_VERSION                                    FW_GLOBAL_CONFIG = 10
    FW_GLOBAL_CONFIG_BINARY_VERSION_SUPPORTED                          FW_GLOBAL_CONFIG = 11
    FW_GLOBAL_CONFIG_IPSEC_TUNNEL_REMOTE_MACHINE_AUTHORIZATION_LIST    FW_GLOBAL_CONFIG = 12
    FW_GLOBAL_CONFIG_IPSEC_TUNNEL_REMOTE_USER_AUTHORIZATION_LIST       FW_GLOBAL_CONFIG = 13
    FW_GLOBAL_CONFIG_OPPORTUNISTICALLY_MATCH_AUTH_SET_PER_KM           FW_GLOBAL_CONFIG = 14
    FW_GLOBAL_CONFIG_IPSEC_TRANSPORT_REMOTE_MACHINE_AUTHORIZATION_LIST FW_GLOBAL_CONFIG = 15
    FW_GLOBAL_CONFIG_IPSEC_TRANSPORT_REMOTE_USER_AUTHORIZATION_LIST    FW_GLOBAL_CONFIG = 16
    FW_GLOBAL_CONFIG_ENABLE_PACKET_QUEUE                               FW_GLOBAL_CONFIG = 17
    FW_GLOBAL_CONFIG_MAX                                               FW_GLOBAL_CONFIG = 18
)

type FW\_GLOBAL\_CONFIG\_ENABLE\_PACKET\_QUEUE\_FLAGS

FW_GLOBAL_CONFIG_ENABLE_PACKET_QUEUE_FLAGS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_GLOBAL_CONFIG_ENABLE_PACKET_QUEUE_FLAGS uint16
const (
    FW_GLOBAL_CONFIG_PACKET_QUEUE_NONE    FW_GLOBAL_CONFIG_ENABLE_PACKET_QUEUE_FLAGS = 0
    FW_GLOBAL_CONFIG_PACKET_QUEUE_INBOUND FW_GLOBAL_CONFIG_ENABLE_PACKET_QUEUE_FLAGS = 1
    FW_GLOBAL_CONFIG_PACKET_QUEUE_FORWARD FW_GLOBAL_CONFIG_ENABLE_PACKET_QUEUE_FLAGS = 2
    FW_GLOBAL_CONFIG_PACKET_QUEUE_MAX     FW_GLOBAL_CONFIG_ENABLE_PACKET_QUEUE_FLAGS = 3
)

type FW\_GLOBAL\_CONFIG\_IPSEC\_EXEMPT\_VALUES

FW_GLOBAL_CONFIG_IPSEC_EXEMPT_VALUES is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_GLOBAL_CONFIG_IPSEC_EXEMPT_VALUES uint16
const (
    FW_GLOBAL_CONFIG_IPSEC_EXEMPT_NONE              FW_GLOBAL_CONFIG_IPSEC_EXEMPT_VALUES = 0x0000
    FW_GLOBAL_CONFIG_IPSEC_EXEMPT_NEIGHBOR_DISC     FW_GLOBAL_CONFIG_IPSEC_EXEMPT_VALUES = 0x0001
    FW_GLOBAL_CONFIG_IPSEC_EXEMPT_ICMP              FW_GLOBAL_CONFIG_IPSEC_EXEMPT_VALUES = 0x0002
    FW_GLOBAL_CONFIG_IPSEC_EXEMPT_ROUTER_DISC       FW_GLOBAL_CONFIG_IPSEC_EXEMPT_VALUES = 0x0004
    FW_GLOBAL_CONFIG_IPSEC_EXEMPT_NEIGHBOR_DISC_RFC FW_GLOBAL_CONFIG_IPSEC_EXEMPT_VALUES = 0x0005
    FW_GLOBAL_CONFIG_IPSEC_EXEMPT_DHCP              FW_GLOBAL_CONFIG_IPSEC_EXEMPT_VALUES = 0x0008
    FW_GLOBAL_CONFIG_IPSEC_EXEMPT_MAX               FW_GLOBAL_CONFIG_IPSEC_EXEMPT_VALUES = 0x0010
)

type FW\_GLOBAL\_CONFIG\_IPSEC\_THROUGH\_NAT\_VALUES

FW_GLOBAL_CONFIG_IPSEC_THROUGH_NAT_VALUES is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_GLOBAL_CONFIG_IPSEC_THROUGH_NAT_VALUES uint16
const (
    FW_GLOBAL_CONFIG_IPSEC_THROUGH_NAT_NEVER                        FW_GLOBAL_CONFIG_IPSEC_THROUGH_NAT_VALUES = 0
    FW_GLOBAL_CONFIG_IPSEC_THROUGH_NAT_SERVER_BEHIND_NAT            FW_GLOBAL_CONFIG_IPSEC_THROUGH_NAT_VALUES = 1
    FW_GLOBAL_CONFIG_IPSEC_THROUGH_NAT_SERVER_AND_CLIENT_BEHIND_NAT FW_GLOBAL_CONFIG_IPSEC_THROUGH_NAT_VALUES = 2
    FW_GLOBAL_CONFIG_IPSEC_THROUGH_NAT_MAX                          FW_GLOBAL_CONFIG_IPSEC_THROUGH_NAT_VALUES = 3
)

type FW\_GLOBAL\_CONFIG\_PRESHARED\_KEY\_ENCODING\_VALUES

FW_GLOBAL_CONFIG_PRESHARED_KEY_ENCODING_VALUES is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_GLOBAL_CONFIG_PRESHARED_KEY_ENCODING_VALUES uint16
const (
    FW_GLOBAL_CONFIG_PRESHARED_KEY_ENCODING_NONE  FW_GLOBAL_CONFIG_PRESHARED_KEY_ENCODING_VALUES = 0
    FW_GLOBAL_CONFIG_PRESHARED_KEY_ENCODING_UTF_8 FW_GLOBAL_CONFIG_PRESHARED_KEY_ENCODING_VALUES = 1
    FW_GLOBAL_CONFIG_PRESHARED_KEY_ENCODING_MAX   FW_GLOBAL_CONFIG_PRESHARED_KEY_ENCODING_VALUES = 2
)

type FW\_HYPERV\_NETWORK\_TYPE

FW_HYPERV_NETWORK_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_HYPERV_NETWORK_TYPE uint16
const (
    FW_HYPERV_NETWORK_TYPE_INVALID FW_HYPERV_NETWORK_TYPE = 0x0
    FW_HYPERV_NETWORK_TYPE_FSE     FW_HYPERV_NETWORK_TYPE = 0x1
    FW_HYPERV_NETWORK_TYPE_NAT     FW_HYPERV_NETWORK_TYPE = 0x2
    FW_HYPERV_NETWORK_TYPE_MAX     FW_HYPERV_NETWORK_TYPE = 0x4
)

type FW\_HYPERV\_PORT0

FW_HYPERV_PORT0 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_HYPERV_PORT0 struct {
    Next          *FW_HYPERV_PORT0 `ndr:"unique"`
    SwitchName    *ndr.WSTR        `ndr:"unique"`
    PortName      *ndr.WSTR        `ndr:"unique"`
    VmCreatorId   guid.GUID
    InterfaceGuid guid.GUID
    PartitionGuid guid.GUID
    Flags         ndr.DWORD
}

type FW\_HYPERV\_PORT1

FW_HYPERV_PORT1 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_HYPERV_PORT1 struct {
    Next                      *FW_HYPERV_PORT1 `ndr:"unique"`
    SwitchName                *ndr.WSTR        `ndr:"unique"`
    PortName                  *ndr.WSTR        `ndr:"unique"`
    VmCreatorId               guid.GUID
    InterfaceGuid             guid.GUID
    PartitionGuid             guid.GUID
    Flags                     ndr.DWORD
    ProfileType               FW_PROFILE_TYPE
    NetworkType               FW_HYPERV_NETWORK_TYPE
    ConstrainedInterfaceAlias *ndr.WSTR `ndr:"unique"`
}

type FW\_HYPERV\_PORT\_FLAGS

FW_HYPERV_PORT_FLAGS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_HYPERV_PORT_FLAGS uint16
const (
    FW_HYPERV_PORT_FLAGS_NONE                  FW_HYPERV_PORT_FLAGS = 0x0
    FW_HYPERV_PORT_FLAGS_CONSTRAINED_INTERFACE FW_HYPERV_PORT_FLAGS = 0x1
    FW_HYPERV_PORT_FLAGS_MAX                   FW_HYPERV_PORT_FLAGS = 0x2
)

type FW\_HYPERV\_PROFILE\_CONFIG

FW_HYPERV_PROFILE_CONFIG is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_HYPERV_PROFILE_CONFIG uint16
const (
    FW_HYPERV_PROFILE_CONFIG_INVALID                  FW_HYPERV_PROFILE_CONFIG = 0
    FW_HYPERV_PROFILE_CONFIG_ENABLED                  FW_HYPERV_PROFILE_CONFIG = 1
    FW_HYPERV_PROFILE_CONFIG_ALLOW_LOCAL_POLICY_MERGE FW_HYPERV_PROFILE_CONFIG = 2
    FW_HYPERV_PROFILE_CONFIG_MAX                      FW_HYPERV_PROFILE_CONFIG = 3
)

type FW\_HYPERV\_RULE0

FW_HYPERV_RULE0 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_HYPERV_RULE0 struct {
    Next            *FW_HYPERV_RULE0 `ndr:"unique"`
    SchemaVersion   uint16
    RuleId          *ndr.WSTR `ndr:"unique"`
    RuleName        *ndr.WSTR `ndr:"unique"`
    Priority        UINT16
    Direction       FW_DIRECTION
    VmCreatorId     guid.GUID
    Protocol        uint16
    LocalAddresses  FW_ADDRESSES
    LocalPorts      FW_PORTS
    RemoteAddresses FW_ADDRESSES
    RemotePorts     FW_PORTS
    Action          FW_RULE_ACTION
    Flags           uint16
    Status          FW_HYPERV_RULE_STATUS
    Origin          FW_RULE_ORIGIN_TYPE
    MetadataList    FW_HYPERV_RULE_METADATA_LIST
}

type FW\_HYPERV\_RULE1

FW_HYPERV_RULE1 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_HYPERV_RULE1 struct {
    Next            *FW_HYPERV_RULE1 `ndr:"unique"`
    SchemaVersion   uint16
    RuleId          *ndr.WSTR `ndr:"unique"`
    RuleName        *ndr.WSTR `ndr:"unique"`
    Priority        UINT16
    Direction       FW_DIRECTION
    VmCreatorId     guid.GUID
    Protocol        uint16
    LocalAddresses  FW_ADDRESSES
    LocalPorts      FW_PORTS
    RemoteAddresses FW_ADDRESSES
    RemotePorts     FW_PORTS
    Action          FW_RULE_ACTION
    Flags           uint16
    Status          FW_HYPERV_RULE_STATUS
    Origin          FW_RULE_ORIGIN_TYPE
    MetadataList    FW_HYPERV_RULE_METADATA_LIST
    ProfileTypes    ndr.DWORD
}

type FW\_HYPERV\_RULE\_FLAGS

FW_HYPERV_RULE_FLAGS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_HYPERV_RULE_FLAGS uint16
const (
    FW_HYPERV_RULE_FLAGS_NONE                  FW_HYPERV_RULE_FLAGS = 0x0000
    FW_HYPERV_RULE_FLAGS_ACTIVE                FW_HYPERV_RULE_FLAGS = 0x0001 // = FW_RULE_FLAGS_ACTIVE
    FW_HYPERV_RULE_FLAGS_CONSTRAINED_INTERFACE FW_HYPERV_RULE_FLAGS = 0x0002
    FW_HYPERV_RULE_FLAGS_MAX_V2_32             FW_HYPERV_RULE_FLAGS = 0x0004
    FW_HYPERV_RULE_FLAGS_INTERNAL_MIN_PRIORITY FW_HYPERV_RULE_FLAGS = 0x0004
    FW_HYPERV_RULE_FLAGS_MAX_V2_33             FW_HYPERV_RULE_FLAGS = 0x0008
    FW_HYPERV_RULE_FLAGS_MAX                   FW_HYPERV_RULE_FLAGS = 0x0008
)

type FW\_HYPERV\_RULE\_METADATA

FW_HYPERV_RULE_METADATA ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_HYPERV_RULE_METADATA struct {
    SwitchName       *ndr.WSTR `ndr:"unique"`
    PortName         *ndr.WSTR `ndr:"unique"`
    EnforcementState FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE
}

type FW\_HYPERV\_RULE\_METADATA\_LIST

FW_HYPERV_RULE_METADATA_LIST ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_HYPERV_RULE_METADATA_LIST struct {
    NumEntries ndr.DWORD
    List       []FW_HYPERV_RULE_METADATA `ndr:"unique,size_is=NumEntries"`
}

type FW\_HYPERV\_RULE\_PORT\_ENFORCEMENT\_STATE

FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE uint16
const (
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_INVALID                                           FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 0
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_ENFORCED                                          FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 1
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_ERROR                                             FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 2
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_ENFORCED_EMPTY_RESOLUTION                         FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 3
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_PORT_NOT_FOUND                                    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 4
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_RULE_INACTIVE                                     FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 5
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_VM_CREATOR_NOT_APPLICABLE                         FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 6
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_PROFILE_NOT_APPLICABLE                            FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 7
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_PROFILE_DISABLED                                  FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 8
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_PROFILE_LOCAL_RULES_DISALLOWED                    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 9
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_CONSTRAINED_INTERFACE_NOT_APPLICABLE              FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 10
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_NAT_INBOUND_NOT_APPLICABLE                        FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 11
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_NAT_LOCAL_ADDRESS_NOT_SUPPORTED                   FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 12
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_HOST_POLICY_MERGE_DISABLED                        FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 13
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_HOST_FIREWALL_PROFILE_DISABLED                    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 14
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_HOST_FIREWALL_DEFAULT_ACTION_CONFLICT             FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 15
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_HOST_FIREWALL_PROFILE_LOCAL_POLICY_MERGE_DISABLED FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 16
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_HOST_FIREWALL_RULE_CATEGORY_DISABLED              FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 17
    FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE_MAX                                               FW_HYPERV_RULE_PORT_ENFORCEMENT_STATE = 18
)

type FW\_HYPERV\_RULE\_STATUS

FW_HYPERV_RULE_STATUS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_HYPERV_RULE_STATUS uint16
const (
    FW_HYPERV_RULE_STATUS_INVALID             FW_HYPERV_RULE_STATUS = 0
    FW_HYPERV_RULE_STATUS_OK                  FW_HYPERV_RULE_STATUS = 1
    FW_HYPERV_RULE_STATUS_PARTIALLY_ENFORCED  FW_HYPERV_RULE_STATUS = 2
    FW_HYPERV_RULE_STATUS_NO_APPLICABLE_PORTS FW_HYPERV_RULE_STATUS = 3
    FW_HYPERV_RULE_STATUS_PARSING_ERROR       FW_HYPERV_RULE_STATUS = 4
    FW_HYPERV_RULE_STATUS_ERROR               FW_HYPERV_RULE_STATUS = 5
    FW_HYPERV_RULE_STATUS_MAX                 FW_HYPERV_RULE_STATUS = 6
)

type FW\_HYPERV\_VM\_CONFIG

FW_HYPERV_VM_CONFIG is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_HYPERV_VM_CONFIG uint16
const (
    FW_HYPERV_VM_CONFIG_INVALID                 FW_HYPERV_VM_CONFIG = 0
    FW_HYPERV_VM_CONFIG_LOOPBACK_ENABLED        FW_HYPERV_VM_CONFIG = 1
    FW_HYPERV_VM_CONFIG_ALLOW_HOST_POLICY_MERGE FW_HYPERV_VM_CONFIG = 2
    FW_HYPERV_VM_CONFIG_MAX                     FW_HYPERV_VM_CONFIG = 3
)

type FW\_HYPERV\_VM\_CONFIG\_VALUE0

FW_HYPERV_VM_CONFIG_VALUE0 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_HYPERV_VM_CONFIG_VALUE0 struct {
    PdwVal *ndr.DWORD `ndr:"unique"`
}

type FW\_HYPERV\_VM\_CREATOR0

FW_HYPERV_VM_CREATOR0 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_HYPERV_VM_CREATOR0 struct {
    Next          *FW_HYPERV_VM_CREATOR0 `ndr:"unique"`
    SchemaVersion uint16
    Id            guid.GUID
    FriendlyName  *ndr.WSTR `ndr:"unique"`
}

type FW\_ICMP\_TYPE\_CODE

FW_ICMP_TYPE_CODE ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_ICMP_TYPE_CODE struct {
    BType uint8
    WCode uint16
}

type FW\_ICMP\_TYPE\_CODE\_LIST

FW_ICMP_TYPE_CODE_LIST ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_ICMP_TYPE_CODE_LIST struct {
    DwNumEntries ndr.DWORD
    PEntries     []FW_ICMP_TYPE_CODE `ndr:"unique,size_is=DwNumEntries"`
}

type FW\_INTERFACE\_LUIDS

FW_INTERFACE_LUIDS ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_INTERFACE_LUIDS struct {
    DwNumLUIDs ndr.DWORD
    PLUIDs     []guid.GUID `ndr:"unique,size_is=DwNumLUIDs"`
}

type FW\_INTERFACE\_TYPE

FW_INTERFACE_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_INTERFACE_TYPE uint16
const (
    FW_INTERFACE_TYPE_ALL           FW_INTERFACE_TYPE = 0x0000
    FW_INTERFACE_TYPE_LAN           FW_INTERFACE_TYPE = 0x0001
    FW_INTERFACE_TYPE_WIRELESS      FW_INTERFACE_TYPE = 0x0002
    FW_INTERFACE_TYPE_REMOTE_ACCESS FW_INTERFACE_TYPE = 0x0004
    FW_INTERFACE_TYPE_MOBILE_BBAND  FW_INTERFACE_TYPE = 0x0008
    FW_INTERFACE_TYPE_MAX           FW_INTERFACE_TYPE = 0x0010
    FW_INTERFACE_TYPE_MAX_V2_23     FW_INTERFACE_TYPE = 0x0008
)

type FW\_IPSEC\_PHASE

FW_IPSEC_PHASE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_IPSEC_PHASE uint16
const (
    FW_IPSEC_PHASE_INVALID FW_IPSEC_PHASE = 0
    FW_IPSEC_PHASE_1       FW_IPSEC_PHASE = 1
    FW_IPSEC_PHASE_2       FW_IPSEC_PHASE = 2
    FW_IPSEC_PHASE_MAX     FW_IPSEC_PHASE = 3
)

type FW\_IPV4\_ADDRESS\_RANGE

FW_IPV4_ADDRESS_RANGE ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_IPV4_ADDRESS_RANGE struct {
    DwBegin ndr.DWORD
    DwEnd   ndr.DWORD
}

type FW\_IPV4\_RANGE\_LIST

FW_IPV4_RANGE_LIST ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_IPV4_RANGE_LIST struct {
    DwNumEntries ndr.DWORD
    PRanges      []FW_IPV4_ADDRESS_RANGE `ndr:"unique,size_is=DwNumEntries"`
}

type FW\_IPV4\_SUBNET

FW_IPV4_SUBNET ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_IPV4_SUBNET struct {
    DwAddress    ndr.DWORD
    DwSubNetMask ndr.DWORD
}

type FW\_IPV4\_SUBNET\_LIST

FW_IPV4_SUBNET_LIST ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_IPV4_SUBNET_LIST struct {
    DwNumEntries ndr.DWORD
    PSubNets     []FW_IPV4_SUBNET `ndr:"unique,size_is=DwNumEntries"`
}

type FW\_IPV6\_ADDRESS\_RANGE

FW_IPV6_ADDRESS_RANGE ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_IPV6_ADDRESS_RANGE struct {
    Begin [16]uint8
    End   [16]uint8
}

type FW\_IPV6\_RANGE\_LIST

FW_IPV6_RANGE_LIST ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_IPV6_RANGE_LIST struct {
    DwNumEntries ndr.DWORD
    PRanges      []FW_IPV6_ADDRESS_RANGE `ndr:"unique,size_is=DwNumEntries"`
}

type FW\_IPV6\_SUBNET

FW_IPV6_SUBNET ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_IPV6_SUBNET struct {
    Address         [16]uint8
    DwNumPrefixBits ndr.DWORD
}

type FW\_IPV6\_SUBNET\_LIST

FW_IPV6_SUBNET_LIST ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_IPV6_SUBNET_LIST struct {
    DwNumEntries ndr.DWORD
    PSubNets     []FW_IPV6_SUBNET `ndr:"unique,size_is=DwNumEntries"`
}

type FW\_IP\_VERSION

FW_IP_VERSION is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_IP_VERSION uint16
const (
    FW_IP_VERSION_INVALID FW_IP_VERSION = 0
    FW_IP_VERSION_V4      FW_IP_VERSION = 1
    FW_IP_VERSION_V6      FW_IP_VERSION = 2
    FW_IP_VERSION_MAX     FW_IP_VERSION = 3
)

type FW\_KEY\_MODULE

FW_KEY_MODULE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_KEY_MODULE uint16
const (
    FW_KEY_MODULE_DEFAULT FW_KEY_MODULE = 0x0
    FW_KEY_MODULE_IKEv1   FW_KEY_MODULE = 0x1
    FW_KEY_MODULE_AUTHIP  FW_KEY_MODULE = 0x2
    FW_KEY_MODULE_IKEv2   FW_KEY_MODULE = 0x4
    FW_KEY_MODULE_MAX     FW_KEY_MODULE = 0x8
)

type FW\_MATCH\_KEY

FW_MATCH_KEY is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_MATCH_KEY uint16
const (
    FW_MATCH_KEY_PROFILE               FW_MATCH_KEY = 0
    FW_MATCH_KEY_STATUS                FW_MATCH_KEY = 1
    FW_MATCH_KEY_OBJECTID              FW_MATCH_KEY = 2
    FW_MATCH_KEY_FILTERID              FW_MATCH_KEY = 3
    FW_MATCH_KEY_APP_PATH              FW_MATCH_KEY = 4
    FW_MATCH_KEY_PROTOCOL              FW_MATCH_KEY = 5
    FW_MATCH_KEY_LOCAL_PORT            FW_MATCH_KEY = 6
    FW_MATCH_KEY_REMOTE_PORT           FW_MATCH_KEY = 7
    FW_MATCH_KEY_GROUP                 FW_MATCH_KEY = 8
    FW_MATCH_KEY_SVC_NAME              FW_MATCH_KEY = 9
    FW_MATCH_KEY_DIRECTION             FW_MATCH_KEY = 10
    FW_MATCH_KEY_LOCAL_USER_OWNER      FW_MATCH_KEY = 11
    FW_MATCH_KEY_PACKAGE_ID            FW_MATCH_KEY = 12
    FW_MATCH_KEY_FQBN                  FW_MATCH_KEY = 13
    FW_MATCH_KEY_COMPARTMENT_ID        FW_MATCH_KEY = 14
    FW_MATCH_KEY_REMOTE_USER_AUTH_LIST FW_MATCH_KEY = 15
    FW_MATCH_KEY_PACKAGE_FAMILY_NAME   FW_MATCH_KEY = 16
    FW_MATCH_KEY_MAX                   FW_MATCH_KEY = 17
)

type FW\_MATCH\_TYPE

FW_MATCH_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_MATCH_TYPE uint16
const (
    FW_MATCH_TYPE_TRAFFIC_MATCH FW_MATCH_TYPE = 0
    FW_MATCH_TYPE_EQUAL         FW_MATCH_TYPE = 1
    FW_MATCH_TYPE_MAX           FW_MATCH_TYPE = 2
)

type FW\_MATCH\_VALUE

FW_MATCH_VALUE ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_MATCH_VALUE struct {
    Type  FW_DATA_TYPE
    Field FW_MATCH_VALUE_Field
}

type FW\_MATCH\_VALUE\_Field

FW_MATCH_VALUE_Field is the type-discriminated union of FW_MATCH_VALUE ([MS-FASP] 2.2.101): integer arms for UINT8..UINT64, a string arm for FW_DATA_TYPE_UNICODE_STRING (5), and an empty ([case] FW_DATA_TYPE_EMPTY=0) arm.

type FW_MATCH_VALUE_Field struct {
    Tag    FW_DATA_TYPE          `ndr:"switch,enum"`
    UInt8  UINT8                 `ndr:"case=1"`
    UInt16 UINT16                `ndr:"case=2"`
    UInt32 UINT32                `ndr:"case=3"`
    UInt64 UINT64                `ndr:"case=4"`
    Str    FW_MATCH_VALUE_STRING `ndr:"case=5"`
}

type FW\_MATCH\_VALUE\_STRING

FW_MATCH_VALUE_STRING is the Unicode-string arm of FW_MATCH_VALUE_Field ([MS-FASP] 2.2.101).

type FW_MATCH_VALUE_STRING struct {
    WszString *ndr.WSTR `ndr:"unique"`
}

type FW\_MM\_RULE

FW_MM_RULE ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_MM_RULE struct {
    PNext                *FW_MM_RULE `ndr:"unique"`
    WSchemaVersion       uint16
    WszRuleId            *ndr.WSTR `ndr:"unique"`
    WszName              *ndr.WSTR `ndr:"unique"`
    WszDescription       *ndr.WSTR `ndr:"unique"`
    DwProfiles           ndr.DWORD
    Endpoint1            FW_ADDRESSES
    Endpoint2            FW_ADDRESSES
    WszPhase1AuthSet     *ndr.WSTR `ndr:"unique"`
    WszPhase1CryptoSet   *ndr.WSTR `ndr:"unique"`
    WFlags               uint16
    WszEmbeddedContext   *ndr.WSTR `ndr:"unique"`
    PlatformValidityList FW_OS_PLATFORM_LIST
    Origin               FW_RULE_ORIGIN_TYPE
    WszGPOName           *ndr.WSTR `ndr:"unique"`
    Status               FW_RULE_STATUS
    Reserved             ndr.DWORD
    PMetaData            []FW_OBJECT_METADATA `ndr:"unique,conformant"`
}

type FW\_NETWORK

FW_NETWORK ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_NETWORK struct {
    PszName     *ndr.WSTR `ndr:"unique"`
    ProfileType FW_PROFILE_TYPE
}

type FW\_NETWORK\_NAMES

FW_NETWORK_NAMES ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_NETWORK_NAMES struct {
    DwNumEntries ndr.DWORD
    WszNames     []*ndr.WSTR `ndr:"unique,size_is=DwNumEntries,elem=unique"`
}

type FW\_OBJECT\_CTRL\_FLAG

FW_OBJECT_CTRL_FLAG is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_OBJECT_CTRL_FLAG uint16
const (
    FW_OBJECT_CTRL_FLAG_INCLUDE_METADATA FW_OBJECT_CTRL_FLAG = 0x0001
)

type FW\_OBJECT\_METADATA

FW_OBJECT_METADATA ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_OBJECT_METADATA struct {
    QwFilterContextID  UINT64
    DwNumEntries       ndr.DWORD
    PEnforcementStates []FW_ENFORCEMENT_STATE `ndr:"unique,size_is=DwNumEntries"`
}

type FW\_OS\_PLATFORM

FW_OS_PLATFORM ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_OS_PLATFORM struct {
    BPlatform     uint8
    BMajorVersion uint8
    BMinorVersion uint8
    Reserved      uint8
}

type FW\_OS\_PLATFORM\_LIST

FW_OS_PLATFORM_LIST ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_OS_PLATFORM_LIST struct {
    DwNumEntries ndr.DWORD
    PPlatforms   []FW_OS_PLATFORM `ndr:"unique,size_is=DwNumEntries"`
}

type FW\_OS\_PLATFORM\_OP

FW_OS_PLATFORM_OP is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_OS_PLATFORM_OP uint16
const (
    FW_OS_PLATFORM_OP_EQ         FW_OS_PLATFORM_OP = 0
    FW_OS_PLATFORM_OP_GTEQ       FW_OS_PLATFORM_OP = 1
    FW_OS_PLATFORM_OP_MAX        FW_OS_PLATFORM_OP = 2
    FW_OS_PLATFORM_OP_FIELD_SIZE FW_OS_PLATFORM_OP = 5
    FW_OS_PLATFORM_OP_FIELD_MASK FW_OS_PLATFORM_OP = 0xF8
)

type FW\_PHASE1\_CRYPTO\_FLAGS

FW_PHASE1_CRYPTO_FLAGS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_PHASE1_CRYPTO_FLAGS uint16
const (
    FW_PHASE1_CRYPTO_FLAGS_NONE           FW_PHASE1_CRYPTO_FLAGS = 0x00
    FW_PHASE1_CRYPTO_FLAGS_DO_NOT_SKIP_DH FW_PHASE1_CRYPTO_FLAGS = 0x01
    FW_PHASE1_CRYPTO_FLAGS_MAX            FW_PHASE1_CRYPTO_FLAGS = 0x02
)

type FW\_PHASE1\_CRYPTO\_SUITE

FW_PHASE1_CRYPTO_SUITE ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_PHASE1_CRYPTO_SUITE struct {
    KeyExchange          FW_CRYPTO_KEY_EXCHANGE_TYPE
    Encryption           FW_CRYPTO_ENCRYPTION_TYPE
    Hash                 FW_CRYPTO_HASH_TYPE
    DwP1CryptoSuiteFlags ndr.DWORD
}

type FW\_PHASE1\_KEY\_MODULE\_TYPE

FW_PHASE1_KEY_MODULE_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_PHASE1_KEY_MODULE_TYPE uint16
const (
    FW_PHASE1_KEY_MODULE_INVALID FW_PHASE1_KEY_MODULE_TYPE = 0
    FW_PHASE1_KEY_MODULE_IKE     FW_PHASE1_KEY_MODULE_TYPE = 1
    FW_PHASE1_KEY_MODULE_AUTH_IP FW_PHASE1_KEY_MODULE_TYPE = 2
    FW_PHASE1_KEY_MODULE_IKEV2   FW_PHASE1_KEY_MODULE_TYPE = 3
    FW_PHASE1_KEY_MODULE_MAX     FW_PHASE1_KEY_MODULE_TYPE = 4
)

type FW\_PHASE1\_SA\_DETAILS

FW_PHASE1_SA_DETAILS ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_PHASE1_SA_DETAILS struct {
    SaId                      UINT64
    KeyModuleType             FW_PHASE1_KEY_MODULE_TYPE
    Endpoints                 FW_ENDPOINTS
    SelectedProposal          FW_PHASE1_CRYPTO_SUITE
    DwProposalLifetimeKBytes  ndr.DWORD
    DwProposalLifetimeMinutes ndr.DWORD
    DwProposalMaxNumPhase2    ndr.DWORD
    CookiePair                FW_COOKIE_PAIR
    PFirstAuth                *FW_AUTH_INFO `ndr:"unique"`
    PSecondAuth               *FW_AUTH_INFO `ndr:"unique"`
    DwP1SaFlags               ndr.DWORD
}

type FW\_PHASE2\_CRYPTO\_PFS

FW_PHASE2_CRYPTO_PFS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_PHASE2_CRYPTO_PFS uint16
const (
    FW_PHASE2_CRYPTO_PFS_INVALID   FW_PHASE2_CRYPTO_PFS = 0
    FW_PHASE2_CRYPTO_PFS_DISABLE   FW_PHASE2_CRYPTO_PFS = 1
    FW_PHASE2_CRYPTO_PFS_PHASE1    FW_PHASE2_CRYPTO_PFS = 2
    FW_PHASE2_CRYPTO_PFS_DH1       FW_PHASE2_CRYPTO_PFS = 3
    FW_PHASE2_CRYPTO_PFS_DH2       FW_PHASE2_CRYPTO_PFS = 4
    FW_PHASE2_CRYPTO_PFS_DH2048    FW_PHASE2_CRYPTO_PFS = 5
    FW_PHASE2_CRYPTO_PFS_ECDH256   FW_PHASE2_CRYPTO_PFS = 6
    FW_PHASE2_CRYPTO_PFS_ECDH384   FW_PHASE2_CRYPTO_PFS = 7
    FW_PHASE2_CRYPTO_PFS_DH24      FW_PHASE2_CRYPTO_PFS = 8
    FW_PHASE2_CRYPTO_PFS_MAX       FW_PHASE2_CRYPTO_PFS = 9
    FW_PHASE2_CRYPTO_PFS_MAX_V2_10 FW_PHASE2_CRYPTO_PFS = FW_PHASE2_CRYPTO_PFS_DH24
)

type FW\_PHASE2\_CRYPTO\_SUITE

FW_PHASE2_CRYPTO_SUITE ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_PHASE2_CRYPTO_SUITE struct {
    Protocol             FW_CRYPTO_PROTOCOL_TYPE
    AhHash               FW_CRYPTO_HASH_TYPE
    EspHash              FW_CRYPTO_HASH_TYPE
    Encryption           FW_CRYPTO_ENCRYPTION_TYPE
    DwTimeoutMinutes     ndr.DWORD
    DwTimeoutKBytes      ndr.DWORD
    DwP2CryptoSuiteFlags ndr.DWORD
}

type FW\_PHASE2\_SA\_DETAILS

FW_PHASE2_SA_DETAILS ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_PHASE2_SA_DETAILS struct {
    SaId              UINT64
    Direction         FW_DIRECTION
    Endpoints         FW_ENDPOINTS
    WLocalPort        uint16
    WRemotePort       uint16
    WIpProtocol       uint16
    SelectedProposal  FW_PHASE2_CRYPTO_SUITE
    Pfs               FW_PHASE2_CRYPTO_PFS
    TransportFilterId guid.GUID
    DwP2SaFlags       ndr.DWORD
}

type FW\_PHASE2\_TRAFFIC\_TYPE

FW_PHASE2_TRAFFIC_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_PHASE2_TRAFFIC_TYPE uint16
const (
    FW_PHASE2_TRAFFIC_TYPE_INVALID   FW_PHASE2_TRAFFIC_TYPE = 0
    FW_PHASE2_TRAFFIC_TYPE_TRANSPORT FW_PHASE2_TRAFFIC_TYPE = 1
    FW_PHASE2_TRAFFIC_TYPE_TUNNEL    FW_PHASE2_TRAFFIC_TYPE = 2
    FW_PHASE2_TRAFFIC_TYPE_MAX       FW_PHASE2_TRAFFIC_TYPE = 3
)

type FW\_POLICY\_ACCESS\_RIGHT

FW_POLICY_ACCESS_RIGHT is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_POLICY_ACCESS_RIGHT uint16
const (
    FW_POLICY_ACCESS_RIGHT_INVALID    FW_POLICY_ACCESS_RIGHT = 0
    FW_POLICY_ACCESS_RIGHT_READ       FW_POLICY_ACCESS_RIGHT = 1
    FW_POLICY_ACCESS_RIGHT_READ_WRITE FW_POLICY_ACCESS_RIGHT = 2
    FW_POLICY_ACCESS_RIGHT_MAX        FW_POLICY_ACCESS_RIGHT = 3
)

type FW\_POLICY\_STORE\_FLAGS

FW_POLICY_STORE_FLAGS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_POLICY_STORE_FLAGS uint16
const (
    FW_POLICY_STORE_FLAGS_NONE                             FW_POLICY_STORE_FLAGS = 0x0000
    FW_POLICY_STORE_FLAGS_DELETE_DYNAMIC_RULES_AFTER_CLOSE FW_POLICY_STORE_FLAGS = 0x0001
    FW_POLICY_STORE_FLAGS_OPEN_GP_CACHE                    FW_POLICY_STORE_FLAGS = 0x0002
    FW_POLICY_STORE_FLAGS_USE_GP_CACHE                     FW_POLICY_STORE_FLAGS = 0x0004
    FW_POLICY_STORE_FLAGS_SAVE_GP_CACHE                    FW_POLICY_STORE_FLAGS = 0x0008
    FW_POLICY_STORE_FLAGS_NOT_USED_VALUE_16                FW_POLICY_STORE_FLAGS = 0x0010
    FW_POLICY_STORE_FLAGS_MAX                              FW_POLICY_STORE_FLAGS = 0x0020
)

type FW\_POLICY\_STORE\_HANDLE

FW_POLICY_STORE_HANDLE is an RPC context handle: 20 bytes ([MS-RPCE] 2.3.2.2, [MS-FASP] 2.2.2).

type FW_POLICY_STORE_HANDLE [20]byte

type FW\_PORTS

FW_PORTS ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_PORTS struct {
    WPortKeywords uint16
    Ports         FW_PORT_RANGE_LIST
}

type FW\_PORT\_KEYWORD

FW_PORT_KEYWORD is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_PORT_KEYWORD uint16
const (
    FW_PORT_KEYWORD_NONE              FW_PORT_KEYWORD = 0x00
    FW_PORT_KEYWORD_DYNAMIC_RPC_PORTS FW_PORT_KEYWORD = 0x01
    FW_PORT_KEYWORD_RPC_EP            FW_PORT_KEYWORD = 0x02
    FW_PORT_KEYWORD_TEREDO_PORT       FW_PORT_KEYWORD = 0x04
    FW_PORT_KEYWORD_IP_TLS_IN         FW_PORT_KEYWORD = 0x08
    FW_PORT_KEYWORD_IP_TLS_OUT        FW_PORT_KEYWORD = 0x10
    FW_PORT_KEYWORD_DHCP              FW_PORT_KEYWORD = 0x20
    FW_PORT_KEYWORD_PLAYTO_DISCOVERY  FW_PORT_KEYWORD = 0x40
    FW_PORT_KEYWORD_MDNS              FW_PORT_KEYWORD = 0x80
    FW_PORT_KEYWORD_CORTANA_OUT       FW_PORT_KEYWORD = 0x100
    FW_PORT_KEYWORD_PROXIMAL_TCP_CDP  FW_PORT_KEYWORD = 0x200
    FW_PORT_KEYWORD_MAX               FW_PORT_KEYWORD = 0x400
    FW_PORT_KEYWORD_MAX_V2_1          FW_PORT_KEYWORD = 0x08
    FW_PORT_KEYWORD_MAX_V2_10         FW_PORT_KEYWORD = 0x20
    FW_PORT_KEYWORD_MAX_V2_20         FW_PORT_KEYWORD = 0x80
    FW_PORT_KEYWORD_MAX_V2_24         FW_PORT_KEYWORD = 0x100
    FW_PORT_KEYWORD_MAX_V2_25         FW_PORT_KEYWORD = 0x200
)

type FW\_PORT\_RANGE

FW_PORT_RANGE ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_PORT_RANGE struct {
    WBegin uint16
    WEnd   uint16
}

type FW\_PORT\_RANGE\_LIST

FW_PORT_RANGE_LIST ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_PORT_RANGE_LIST struct {
    DwNumEntries ndr.DWORD
    PPorts       []FW_PORT_RANGE `ndr:"unique,size_is=DwNumEntries"`
}

type FW\_PRODUCT

FW_PRODUCT ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_PRODUCT struct {
    DwFlags                   ndr.DWORD
    DwNumRuleCategories       ndr.DWORD
    PRuleCategories           []FW_RULE_CATEGORY `ndr:"unique,size_is=DwNumRuleCategories"`
    PszDisplayName            *ndr.WSTR          `ndr:"unique"`
    PszPathToSignedProductExe *ndr.WSTR          `ndr:"unique"`
}

type FW\_PRODUCT\_HANDLE

FW_PRODUCT_HANDLE is an RPC context handle: 20 bytes ([MS-RPCE] 2.3.2.2, [MS-FASP]).

type FW_PRODUCT_HANDLE [20]byte

type FW\_PROFILE\_CONFIG

FW_PROFILE_CONFIG is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_PROFILE_CONFIG uint16
const (
    FW_PROFILE_CONFIG_INVALID                                             FW_PROFILE_CONFIG = 0
    FW_PROFILE_CONFIG_ENABLE_FW                                           FW_PROFILE_CONFIG = 1
    FW_PROFILE_CONFIG_DISABLE_STEALTH_MODE                                FW_PROFILE_CONFIG = 2
    FW_PROFILE_CONFIG_SHIELDED                                            FW_PROFILE_CONFIG = 3
    FW_PROFILE_CONFIG_DISABLE_UNICAST_RESPONSES_TO_MULTICAST_BROADCAST    FW_PROFILE_CONFIG = 4
    FW_PROFILE_CONFIG_LOG_DROPPED_PACKETS                                 FW_PROFILE_CONFIG = 5
    FW_PROFILE_CONFIG_LOG_SUCCESS_CONNECTIONS                             FW_PROFILE_CONFIG = 6
    FW_PROFILE_CONFIG_LOG_IGNORED_RULES                                   FW_PROFILE_CONFIG = 7
    FW_PROFILE_CONFIG_LOG_MAX_FILE_SIZE                                   FW_PROFILE_CONFIG = 8
    FW_PROFILE_CONFIG_LOG_FILE_PATH                                       FW_PROFILE_CONFIG = 9
    FW_PROFILE_CONFIG_DISABLE_INBOUND_NOTIFICATIONS                       FW_PROFILE_CONFIG = 10
    FW_PROFILE_CONFIG_AUTH_APPS_ALLOW_USER_PREF_MERGE                     FW_PROFILE_CONFIG = 11
    FW_PROFILE_CONFIG_GLOBAL_PORTS_ALLOW_USER_PREF_MERGE                  FW_PROFILE_CONFIG = 12
    FW_PROFILE_CONFIG_ALLOW_LOCAL_POLICY_MERGE                            FW_PROFILE_CONFIG = 13
    FW_PROFILE_CONFIG_ALLOW_LOCAL_IPSEC_POLICY_MERGE                      FW_PROFILE_CONFIG = 14
    FW_PROFILE_CONFIG_DISABLED_INTERFACES                                 FW_PROFILE_CONFIG = 15
    FW_PROFILE_CONFIG_DEFAULT_OUTBOUND_ACTION                             FW_PROFILE_CONFIG = 16
    FW_PROFILE_CONFIG_DEFAULT_INBOUND_ACTION                              FW_PROFILE_CONFIG = 17
    FW_PROFILE_CONFIG_DISABLE_STEALTH_MODE_IPSEC_SECURED_PACKET_EXEMPTION FW_PROFILE_CONFIG = 18
    FW_PROFILE_CONFIG_MAX                                                 FW_PROFILE_CONFIG = 19
)

type FW\_PROFILE\_CONFIG\_VALUE

FW_PROFILE_CONFIG_VALUE is the FW_PROFILE_CONFIG-discriminated union returned/accepted by the per-profile configuration methods ([MS-FASP] 2.2.62). The selected arm depends on the configuration option: FW_PROFILE_CONFIG_LOG_FILE_PATH (9) carries a path string, FW_PROFILE_CONFIG_DISABLED_INTERFACES (15) carries an interface LUID list, and every DWORD-valued option carries a pointer to its value. FW_PROFILE_CONFIG_INVALID (0), FW_PROFILE_CONFIG_MAX (19) and any unlisted option select the empty ([default]) arm. The inline discriminant is transmitted per [C706] 14.3.8.

type FW_PROFILE_CONFIG_VALUE struct {
    Tag                                              FW_PROFILE_CONFIG   `ndr:"switch,enum"`
    WszStr                                           *ndr.WSTR           `ndr:"case=9,unique"`
    PDisabledInterfaces                              *FW_INTERFACE_LUIDS `ndr:"case=15,unique"`
    PdwEnableFW                                      *ndr.DWORD          `ndr:"case=1,unique"`
    PdwDisableStealthMode                            *ndr.DWORD          `ndr:"case=2,unique"`
    PdwShielded                                      *ndr.DWORD          `ndr:"case=3,unique"`
    PdwDisableUnicastResponses                       *ndr.DWORD          `ndr:"case=4,unique"`
    PdwLogDroppedPackets                             *ndr.DWORD          `ndr:"case=5,unique"`
    PdwLogSuccessConnections                         *ndr.DWORD          `ndr:"case=6,unique"`
    PdwLogIgnoredRules                               *ndr.DWORD          `ndr:"case=7,unique"`
    PdwLogMaxFileSize                                *ndr.DWORD          `ndr:"case=8,unique"`
    PdwDisableInboundNotifications                   *ndr.DWORD          `ndr:"case=10,unique"`
    PdwAuthAppsAllowUserPrefMerge                    *ndr.DWORD          `ndr:"case=11,unique"`
    PdwGlobalPortsAllowUserPrefMerge                 *ndr.DWORD          `ndr:"case=12,unique"`
    PdwAllowLocalPolicyMerge                         *ndr.DWORD          `ndr:"case=13,unique"`
    PdwAllowLocalIpsecPolicyMerge                    *ndr.DWORD          `ndr:"case=14,unique"`
    PdwDefaultOutboundAction                         *ndr.DWORD          `ndr:"case=16,unique"`
    PdwDefaultInboundAction                          *ndr.DWORD          `ndr:"case=17,unique"`
    PdwDisableStealthModeIpsecSecuredPacketExemption *ndr.DWORD          `ndr:"case=18,unique"`
}

type FW\_PROFILE\_TYPE

FW_PROFILE_TYPE is an NDR enum, transmitted as a 4-byte v1_enum value ([C706] 14.3.6.4, [MS-FASP]).

type FW_PROFILE_TYPE uint32
const (
    FW_PROFILE_TYPE_INVALID  FW_PROFILE_TYPE = 0
    FW_PROFILE_TYPE_DOMAIN   FW_PROFILE_TYPE = 0x001
    FW_PROFILE_TYPE_STANDARD FW_PROFILE_TYPE = 0x002
    FW_PROFILE_TYPE_PRIVATE  FW_PROFILE_TYPE = FW_PROFILE_TYPE_STANDARD
    FW_PROFILE_TYPE_PUBLIC   FW_PROFILE_TYPE = 0x004
    FW_PROFILE_TYPE_ALL      FW_PROFILE_TYPE = 0x7FFFFFFF
    FW_PROFILE_TYPE_CURRENT  FW_PROFILE_TYPE = 0x80000000
    FW_PROFILE_TYPE_NONE     FW_PROFILE_TYPE = FW_PROFILE_TYPE_CURRENT + 1
)

type FW\_QUERY

FW_QUERY ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_QUERY struct {
    WSchemaVersion uint16
    DwNumEntries   UINT32
    ORConditions   []FW_QUERY_CONDITIONS `ndr:"unique,size_is=DwNumEntries"`
    Status         FW_RULE_STATUS
}

type FW\_QUERY\_CONDITION

FW_QUERY_CONDITION ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_QUERY_CONDITION struct {
    MatchKey   FW_MATCH_KEY
    MatchType  FW_MATCH_TYPE
    MatchValue FW_MATCH_VALUE
}

type FW\_QUERY\_CONDITIONS

FW_QUERY_CONDITIONS ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_QUERY_CONDITIONS struct {
    DwNumEntries    ndr.DWORD
    AndedConditions []FW_QUERY_CONDITION `ndr:"unique,size_is=DwNumEntries"`
}

type FW\_RULE

FW_RULE ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_RULE struct {
    PNext                             *FW_RULE `ndr:"unique"`
    WSchemaVersion                    uint16
    WszRuleId                         *ndr.WSTR `ndr:"unique"`
    WszName                           *ndr.WSTR `ndr:"unique"`
    WszDescription                    *ndr.WSTR `ndr:"unique"`
    DwProfiles                        ndr.DWORD
    Direction                         FW_DIRECTION
    WIpProtocol                       uint16
    Field                             FW_RULE_Field
    LocalAddresses                    FW_ADDRESSES
    RemoteAddresses                   FW_ADDRESSES
    LocalInterfaceIds                 FW_INTERFACE_LUIDS
    DwLocalInterfaceTypes             ndr.DWORD
    WszLocalApplication               *ndr.WSTR `ndr:"unique"`
    WszLocalService                   *ndr.WSTR `ndr:"unique"`
    Action                            FW_RULE_ACTION
    WFlags                            uint16
    WszRemoteMachineAuthorizationList *ndr.WSTR `ndr:"unique"`
    WszRemoteUserAuthorizationList    *ndr.WSTR `ndr:"unique"`
    WszEmbeddedContext                *ndr.WSTR `ndr:"unique"`
    PlatformValidityList              FW_OS_PLATFORM_LIST
    Status                            FW_RULE_STATUS
    Origin                            FW_RULE_ORIGIN_TYPE
    WszGPOName                        *ndr.WSTR `ndr:"unique"`
    Reserved                          ndr.DWORD
    PMetaData                         []FW_OBJECT_METADATA `ndr:"unique,conformant"`
    WszLocalUserAuthorizationList     *ndr.WSTR            `ndr:"unique"`
    WszPackageId                      *ndr.WSTR            `ndr:"unique"`
    WszLocalUserOwner                 *ndr.WSTR            `ndr:"unique"`
    DwTrustTupleKeywords              ndr.DWORD
    OnNetworkNames                    FW_NETWORK_NAMES
    WszSecurityRealmId                *ndr.WSTR `ndr:"unique"`
    WFlags2                           uint16
    RemoteOutServerNames              FW_NETWORK_NAMES
    WszFqbn                           *ndr.WSTR `ndr:"unique"`
    CompartmentId                     ndr.DWORD
    ProviderContextKey                guid.GUID
    RemoteDynamicKeywordAddresses     FW_DYNAMIC_KEYWORD_ADDRESS_ID_LIST
    WszPackageFamilyName              *ndr.WSTR `ndr:"unique"`
}

type FW\_RULE2\_0

FW_RULE2_0 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_RULE2_0 struct {
    PNext                             *FW_RULE2_0 `ndr:"unique"`
    WSchemaVersion                    uint16
    WszRuleId                         *ndr.WSTR `ndr:"unique"`
    WszName                           *ndr.WSTR `ndr:"unique"`
    WszDescription                    *ndr.WSTR `ndr:"unique"`
    DwProfiles                        ndr.DWORD
    Direction                         FW_DIRECTION
    WIpProtocol                       uint16
    Field                             FW_RULE2_0_Field
    LocalAddresses                    FW_ADDRESSES
    RemoteAddresses                   FW_ADDRESSES
    LocalInterfaceIds                 FW_INTERFACE_LUIDS
    DwLocalInterfaceTypes             ndr.DWORD
    WszLocalApplication               *ndr.WSTR `ndr:"unique"`
    WszLocalService                   *ndr.WSTR `ndr:"unique"`
    Action                            FW_RULE_ACTION
    WFlags                            uint16
    WszRemoteMachineAuthorizationList *ndr.WSTR `ndr:"unique"`
    WszRemoteUserAuthorizationList    *ndr.WSTR `ndr:"unique"`
    WszEmbeddedContext                *ndr.WSTR `ndr:"unique"`
    PlatformValidityList              FW_OS_PLATFORM_LIST
    Status                            FW_RULE_STATUS
    Origin                            FW_RULE_ORIGIN_TYPE
    WszGPOName                        *ndr.WSTR `ndr:"unique"`
    Reserved                          ndr.DWORD
}

type FW\_RULE2\_0\_Field

FW_RULE2_0_Field is the wIpProtocol-discriminated union ([MS-FASP] 2.2.36 FW_RULE): the port list arm is selected for TCP (6) and UDP (17); the ICMP type/code list for ICMPv4 (1) and ICMPv6 (58); all other protocols select the empty ([default]) arm. switch_type is WORD, so the inline discriminant Tag is a uint16 ([C706] 14.3.8).

type FW_RULE2_0_Field struct {
    Tag            uint16                 `ndr:"switch"`
    PortsTCP       FW_RULE_PROTOCOL_PORTS `ndr:"case=6"`
    PortsUDP       FW_RULE_PROTOCOL_PORTS `ndr:"case=17"`
    V4TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=1"`
    V6TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=58"`
}

type FW\_RULE2\_10

FW_RULE2_10 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_RULE2_10 struct {
    PNext                             *FW_RULE2_10 `ndr:"unique"`
    WSchemaVersion                    uint16
    WszRuleId                         *ndr.WSTR `ndr:"unique"`
    WszName                           *ndr.WSTR `ndr:"unique"`
    WszDescription                    *ndr.WSTR `ndr:"unique"`
    DwProfiles                        ndr.DWORD
    Direction                         FW_DIRECTION
    WIpProtocol                       uint16
    Field                             FW_RULE2_10_Field
    LocalAddresses                    FW_ADDRESSES
    RemoteAddresses                   FW_ADDRESSES
    LocalInterfaceIds                 FW_INTERFACE_LUIDS
    DwLocalInterfaceTypes             ndr.DWORD
    WszLocalApplication               *ndr.WSTR `ndr:"unique"`
    WszLocalService                   *ndr.WSTR `ndr:"unique"`
    Action                            FW_RULE_ACTION
    WFlags                            uint16
    WszRemoteMachineAuthorizationList *ndr.WSTR `ndr:"unique"`
    WszRemoteUserAuthorizationList    *ndr.WSTR `ndr:"unique"`
    WszEmbeddedContext                *ndr.WSTR `ndr:"unique"`
    PlatformValidityList              FW_OS_PLATFORM_LIST
    Status                            FW_RULE_STATUS
    Origin                            FW_RULE_ORIGIN_TYPE
    WszGPOName                        *ndr.WSTR `ndr:"unique"`
    Reserved                          ndr.DWORD
    PMetaData                         []FW_OBJECT_METADATA `ndr:"unique,conformant"`
}

type FW\_RULE2\_10\_Field

FW_RULE2_10_Field is the wIpProtocol-discriminated union ([MS-FASP] 2.2.36 FW_RULE): the port list arm is selected for TCP (6) and UDP (17); the ICMP type/code list for ICMPv4 (1) and ICMPv6 (58); all other protocols select the empty ([default]) arm. switch_type is WORD, so the inline discriminant Tag is a uint16 ([C706] 14.3.8).

type FW_RULE2_10_Field struct {
    Tag            uint16                 `ndr:"switch"`
    PortsTCP       FW_RULE_PROTOCOL_PORTS `ndr:"case=6"`
    PortsUDP       FW_RULE_PROTOCOL_PORTS `ndr:"case=17"`
    V4TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=1"`
    V6TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=58"`
}

type FW\_RULE2\_20

FW_RULE2_20 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_RULE2_20 struct {
    PNext                             *FW_RULE2_20 `ndr:"unique"`
    WSchemaVersion                    uint16
    WszRuleId                         *ndr.WSTR `ndr:"unique"`
    WszName                           *ndr.WSTR `ndr:"unique"`
    WszDescription                    *ndr.WSTR `ndr:"unique"`
    DwProfiles                        ndr.DWORD
    Direction                         FW_DIRECTION
    WIpProtocol                       uint16
    Field                             FW_RULE2_20_Field
    LocalAddresses                    FW_ADDRESSES
    RemoteAddresses                   FW_ADDRESSES
    LocalInterfaceIds                 FW_INTERFACE_LUIDS
    DwLocalInterfaceTypes             ndr.DWORD
    WszLocalApplication               *ndr.WSTR `ndr:"unique"`
    WszLocalService                   *ndr.WSTR `ndr:"unique"`
    Action                            FW_RULE_ACTION
    WFlags                            uint16
    WszRemoteMachineAuthorizationList *ndr.WSTR `ndr:"unique"`
    WszRemoteUserAuthorizationList    *ndr.WSTR `ndr:"unique"`
    WszEmbeddedContext                *ndr.WSTR `ndr:"unique"`
    PlatformValidityList              FW_OS_PLATFORM_LIST
    Status                            FW_RULE_STATUS
    Origin                            FW_RULE_ORIGIN_TYPE
    WszGPOName                        *ndr.WSTR `ndr:"unique"`
    Reserved                          ndr.DWORD
    PMetaData                         []FW_OBJECT_METADATA `ndr:"unique,conformant"`
    WszLocalUserAuthorizationList     *ndr.WSTR            `ndr:"unique"`
    WszPackageId                      *ndr.WSTR            `ndr:"unique"`
    WszLocalUserOwner                 *ndr.WSTR            `ndr:"unique"`
    DwTrustTupleKeywords              ndr.DWORD
}

type FW\_RULE2\_20\_Field

FW_RULE2_20_Field is the wIpProtocol-discriminated union ([MS-FASP] 2.2.36 FW_RULE): the port list arm is selected for TCP (6) and UDP (17); the ICMP type/code list for ICMPv4 (1) and ICMPv6 (58); all other protocols select the empty ([default]) arm. switch_type is WORD, so the inline discriminant Tag is a uint16 ([C706] 14.3.8).

type FW_RULE2_20_Field struct {
    Tag            uint16                 `ndr:"switch"`
    PortsTCP       FW_RULE_PROTOCOL_PORTS `ndr:"case=6"`
    PortsUDP       FW_RULE_PROTOCOL_PORTS `ndr:"case=17"`
    V4TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=1"`
    V6TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=58"`
}

type FW\_RULE2\_24

FW_RULE2_24 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_RULE2_24 struct {
    PNext                             *FW_RULE2_24 `ndr:"unique"`
    WSchemaVersion                    uint16
    WszRuleId                         *ndr.WSTR `ndr:"unique"`
    WszName                           *ndr.WSTR `ndr:"unique"`
    WszDescription                    *ndr.WSTR `ndr:"unique"`
    DwProfiles                        ndr.DWORD
    Direction                         FW_DIRECTION
    WIpProtocol                       uint16
    Field                             FW_RULE2_24_Field
    LocalAddresses                    FW_ADDRESSES
    RemoteAddresses                   FW_ADDRESSES
    LocalInterfaceIds                 FW_INTERFACE_LUIDS
    DwLocalInterfaceTypes             ndr.DWORD
    WszLocalApplication               *ndr.WSTR `ndr:"unique"`
    WszLocalService                   *ndr.WSTR `ndr:"unique"`
    Action                            FW_RULE_ACTION
    WFlags                            uint16
    WszRemoteMachineAuthorizationList *ndr.WSTR `ndr:"unique"`
    WszRemoteUserAuthorizationList    *ndr.WSTR `ndr:"unique"`
    WszEmbeddedContext                *ndr.WSTR `ndr:"unique"`
    PlatformValidityList              FW_OS_PLATFORM_LIST
    Status                            FW_RULE_STATUS
    Origin                            FW_RULE_ORIGIN_TYPE
    WszGPOName                        *ndr.WSTR `ndr:"unique"`
    Reserved                          ndr.DWORD
    PMetaData                         []FW_OBJECT_METADATA `ndr:"unique,conformant"`
    WszLocalUserAuthorizationList     *ndr.WSTR            `ndr:"unique"`
    WszPackageId                      *ndr.WSTR            `ndr:"unique"`
    WszLocalUserOwner                 *ndr.WSTR            `ndr:"unique"`
    DwTrustTupleKeywords              ndr.DWORD
    OnNetworkNames                    FW_NETWORK_NAMES
    WszSecurityRealmId                *ndr.WSTR `ndr:"unique"`
}

type FW\_RULE2\_24\_Field

FW_RULE2_24_Field is the wIpProtocol-discriminated union ([MS-FASP] 2.2.36 FW_RULE): the port list arm is selected for TCP (6) and UDP (17); the ICMP type/code list for ICMPv4 (1) and ICMPv6 (58); all other protocols select the empty ([default]) arm. switch_type is WORD, so the inline discriminant Tag is a uint16 ([C706] 14.3.8).

type FW_RULE2_24_Field struct {
    Tag            uint16                 `ndr:"switch"`
    PortsTCP       FW_RULE_PROTOCOL_PORTS `ndr:"case=6"`
    PortsUDP       FW_RULE_PROTOCOL_PORTS `ndr:"case=17"`
    V4TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=1"`
    V6TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=58"`
}

type FW\_RULE2\_25

FW_RULE2_25 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_RULE2_25 struct {
    PNext                             *FW_RULE2_25 `ndr:"unique"`
    WSchemaVersion                    uint16
    WszRuleId                         *ndr.WSTR `ndr:"unique"`
    WszName                           *ndr.WSTR `ndr:"unique"`
    WszDescription                    *ndr.WSTR `ndr:"unique"`
    DwProfiles                        ndr.DWORD
    Direction                         FW_DIRECTION
    WIpProtocol                       uint16
    Field                             FW_RULE2_25_Field
    LocalAddresses                    FW_ADDRESSES
    RemoteAddresses                   FW_ADDRESSES
    LocalInterfaceIds                 FW_INTERFACE_LUIDS
    DwLocalInterfaceTypes             ndr.DWORD
    WszLocalApplication               *ndr.WSTR `ndr:"unique"`
    WszLocalService                   *ndr.WSTR `ndr:"unique"`
    Action                            FW_RULE_ACTION
    WFlags                            uint16
    WszRemoteMachineAuthorizationList *ndr.WSTR `ndr:"unique"`
    WszRemoteUserAuthorizationList    *ndr.WSTR `ndr:"unique"`
    WszEmbeddedContext                *ndr.WSTR `ndr:"unique"`
    PlatformValidityList              FW_OS_PLATFORM_LIST
    Status                            FW_RULE_STATUS
    Origin                            FW_RULE_ORIGIN_TYPE
    WszGPOName                        *ndr.WSTR `ndr:"unique"`
    Reserved                          ndr.DWORD
    PMetaData                         []FW_OBJECT_METADATA `ndr:"unique,conformant"`
    WszLocalUserAuthorizationList     *ndr.WSTR            `ndr:"unique"`
    WszPackageId                      *ndr.WSTR            `ndr:"unique"`
    WszLocalUserOwner                 *ndr.WSTR            `ndr:"unique"`
    DwTrustTupleKeywords              ndr.DWORD
    OnNetworkNames                    FW_NETWORK_NAMES
    WszSecurityRealmId                *ndr.WSTR `ndr:"unique"`
    WFlags2                           uint16
}

type FW\_RULE2\_25\_Field

FW_RULE2_25_Field is the wIpProtocol-discriminated union ([MS-FASP] 2.2.36 FW_RULE): the port list arm is selected for TCP (6) and UDP (17); the ICMP type/code list for ICMPv4 (1) and ICMPv6 (58); all other protocols select the empty ([default]) arm. switch_type is WORD, so the inline discriminant Tag is a uint16 ([C706] 14.3.8).

type FW_RULE2_25_Field struct {
    Tag            uint16                 `ndr:"switch"`
    PortsTCP       FW_RULE_PROTOCOL_PORTS `ndr:"case=6"`
    PortsUDP       FW_RULE_PROTOCOL_PORTS `ndr:"case=17"`
    V4TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=1"`
    V6TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=58"`
}

type FW\_RULE2\_26

FW_RULE2_26 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_RULE2_26 struct {
    PNext                             *FW_RULE2_26 `ndr:"unique"`
    WSchemaVersion                    uint16
    WszRuleId                         *ndr.WSTR `ndr:"unique"`
    WszName                           *ndr.WSTR `ndr:"unique"`
    WszDescription                    *ndr.WSTR `ndr:"unique"`
    DwProfiles                        ndr.DWORD
    Direction                         FW_DIRECTION
    WIpProtocol                       uint16
    Field                             FW_RULE2_26_Field
    LocalAddresses                    FW_ADDRESSES
    RemoteAddresses                   FW_ADDRESSES
    LocalInterfaceIds                 FW_INTERFACE_LUIDS
    DwLocalInterfaceTypes             ndr.DWORD
    WszLocalApplication               *ndr.WSTR `ndr:"unique"`
    WszLocalService                   *ndr.WSTR `ndr:"unique"`
    Action                            FW_RULE_ACTION
    WFlags                            uint16
    WszRemoteMachineAuthorizationList *ndr.WSTR `ndr:"unique"`
    WszRemoteUserAuthorizationList    *ndr.WSTR `ndr:"unique"`
    WszEmbeddedContext                *ndr.WSTR `ndr:"unique"`
    PlatformValidityList              FW_OS_PLATFORM_LIST
    Status                            FW_RULE_STATUS
    Origin                            FW_RULE_ORIGIN_TYPE
    WszGPOName                        *ndr.WSTR `ndr:"unique"`
    Reserved                          ndr.DWORD
    PMetaData                         []FW_OBJECT_METADATA `ndr:"unique,conformant"`
    WszLocalUserAuthorizationList     *ndr.WSTR            `ndr:"unique"`
    WszPackageId                      *ndr.WSTR            `ndr:"unique"`
    WszLocalUserOwner                 *ndr.WSTR            `ndr:"unique"`
    DwTrustTupleKeywords              ndr.DWORD
    OnNetworkNames                    FW_NETWORK_NAMES
    WszSecurityRealmId                *ndr.WSTR `ndr:"unique"`
    WFlags2                           uint16
    RemoteOutServerNames              FW_NETWORK_NAMES
}

type FW\_RULE2\_26\_Field

FW_RULE2_26_Field is the wIpProtocol-discriminated union ([MS-FASP] 2.2.36 FW_RULE): the port list arm is selected for TCP (6) and UDP (17); the ICMP type/code list for ICMPv4 (1) and ICMPv6 (58); all other protocols select the empty ([default]) arm. switch_type is WORD, so the inline discriminant Tag is a uint16 ([C706] 14.3.8).

type FW_RULE2_26_Field struct {
    Tag            uint16                 `ndr:"switch"`
    PortsTCP       FW_RULE_PROTOCOL_PORTS `ndr:"case=6"`
    PortsUDP       FW_RULE_PROTOCOL_PORTS `ndr:"case=17"`
    V4TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=1"`
    V6TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=58"`
}

type FW\_RULE2\_27

FW_RULE2_27 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_RULE2_27 struct {
    PNext                             *FW_RULE2_27 `ndr:"unique"`
    WSchemaVersion                    uint16
    WszRuleId                         *ndr.WSTR `ndr:"unique"`
    WszName                           *ndr.WSTR `ndr:"unique"`
    WszDescription                    *ndr.WSTR `ndr:"unique"`
    DwProfiles                        ndr.DWORD
    Direction                         FW_DIRECTION
    WIpProtocol                       uint16
    Field                             FW_RULE2_27_Field
    LocalAddresses                    FW_ADDRESSES
    RemoteAddresses                   FW_ADDRESSES
    LocalInterfaceIds                 FW_INTERFACE_LUIDS
    DwLocalInterfaceTypes             ndr.DWORD
    WszLocalApplication               *ndr.WSTR `ndr:"unique"`
    WszLocalService                   *ndr.WSTR `ndr:"unique"`
    Action                            FW_RULE_ACTION
    WFlags                            uint16
    WszRemoteMachineAuthorizationList *ndr.WSTR `ndr:"unique"`
    WszRemoteUserAuthorizationList    *ndr.WSTR `ndr:"unique"`
    WszEmbeddedContext                *ndr.WSTR `ndr:"unique"`
    PlatformValidityList              FW_OS_PLATFORM_LIST
    Status                            FW_RULE_STATUS
    Origin                            FW_RULE_ORIGIN_TYPE
    WszGPOName                        *ndr.WSTR `ndr:"unique"`
    Reserved                          ndr.DWORD
    PMetaData                         []FW_OBJECT_METADATA `ndr:"unique,conformant"`
    WszLocalUserAuthorizationList     *ndr.WSTR            `ndr:"unique"`
    WszPackageId                      *ndr.WSTR            `ndr:"unique"`
    WszLocalUserOwner                 *ndr.WSTR            `ndr:"unique"`
    DwTrustTupleKeywords              ndr.DWORD
    OnNetworkNames                    FW_NETWORK_NAMES
    WszSecurityRealmId                *ndr.WSTR `ndr:"unique"`
    WFlags2                           uint16
    RemoteOutServerNames              FW_NETWORK_NAMES
    WszFqbn                           *ndr.WSTR `ndr:"unique"`
    CompartmentId                     ndr.DWORD
}

type FW\_RULE2\_27\_Field

FW_RULE2_27_Field is the wIpProtocol-discriminated union ([MS-FASP] 2.2.36 FW_RULE): the port list arm is selected for TCP (6) and UDP (17); the ICMP type/code list for ICMPv4 (1) and ICMPv6 (58); all other protocols select the empty ([default]) arm. switch_type is WORD, so the inline discriminant Tag is a uint16 ([C706] 14.3.8).

type FW_RULE2_27_Field struct {
    Tag            uint16                 `ndr:"switch"`
    PortsTCP       FW_RULE_PROTOCOL_PORTS `ndr:"case=6"`
    PortsUDP       FW_RULE_PROTOCOL_PORTS `ndr:"case=17"`
    V4TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=1"`
    V6TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=58"`
}

type FW\_RULE2\_31

FW_RULE2_31 ([MS-FASP]). Generated by tools/idlgen; verify pointer/array tags.

type FW_RULE2_31 struct {
    PNext                             *FW_RULE2_31 `ndr:"unique"`
    WSchemaVersion                    uint16
    WszRuleId                         *ndr.WSTR `ndr:"unique"`
    WszName                           *ndr.WSTR `ndr:"unique"`
    WszDescription                    *ndr.WSTR `ndr:"unique"`
    DwProfiles                        ndr.DWORD
    Direction                         FW_DIRECTION
    WIpProtocol                       uint16
    Field                             FW_RULE2_31_Field
    LocalAddresses                    FW_ADDRESSES
    RemoteAddresses                   FW_ADDRESSES
    LocalInterfaceIds                 FW_INTERFACE_LUIDS
    DwLocalInterfaceTypes             ndr.DWORD
    WszLocalApplication               *ndr.WSTR `ndr:"unique"`
    WszLocalService                   *ndr.WSTR `ndr:"unique"`
    Action                            FW_RULE_ACTION
    WFlags                            uint16
    WszRemoteMachineAuthorizationList *ndr.WSTR `ndr:"unique"`
    WszRemoteUserAuthorizationList    *ndr.WSTR `ndr:"unique"`
    WszEmbeddedContext                *ndr.WSTR `ndr:"unique"`
    PlatformValidityList              FW_OS_PLATFORM_LIST
    Status                            FW_RULE_STATUS
    Origin                            FW_RULE_ORIGIN_TYPE
    WszGPOName                        *ndr.WSTR `ndr:"unique"`
    Reserved                          ndr.DWORD
    PMetaData                         []FW_OBJECT_METADATA `ndr:"unique,conformant"`
    WszLocalUserAuthorizationList     *ndr.WSTR            `ndr:"unique"`
    WszPackageId                      *ndr.WSTR            `ndr:"unique"`
    WszLocalUserOwner                 *ndr.WSTR            `ndr:"unique"`
    DwTrustTupleKeywords              ndr.DWORD
    OnNetworkNames                    FW_NETWORK_NAMES
    WszSecurityRealmId                *ndr.WSTR `ndr:"unique"`
    WFlags2                           uint16
    RemoteOutServerNames              FW_NETWORK_NAMES
    WszFqbn                           *ndr.WSTR `ndr:"unique"`
    CompartmentId                     ndr.DWORD
    ProviderContextKey                guid.GUID
    RemoteDynamicKeywordAddresses     FW_DYNAMIC_KEYWORD_ADDRESS_ID_LIST
}

type FW\_RULE2\_31\_Field

FW_RULE2_31_Field is the wIpProtocol-discriminated union ([MS-FASP] 2.2.36 FW_RULE): the port list arm is selected for TCP (6) and UDP (17); the ICMP type/code list for ICMPv4 (1) and ICMPv6 (58); all other protocols select the empty ([default]) arm. switch_type is WORD, so the inline discriminant Tag is a uint16 ([C706] 14.3.8).

type FW_RULE2_31_Field struct {
    Tag            uint16                 `ndr:"switch"`
    PortsTCP       FW_RULE_PROTOCOL_PORTS `ndr:"case=6"`
    PortsUDP       FW_RULE_PROTOCOL_PORTS `ndr:"case=17"`
    V4TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=1"`
    V6TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=58"`
}

type FW\_RULE\_ACTION

FW_RULE_ACTION is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_RULE_ACTION uint16
const (
    FW_RULE_ACTION_INVALID      FW_RULE_ACTION = 0
    FW_RULE_ACTION_ALLOW_BYPASS FW_RULE_ACTION = 1
    FW_RULE_ACTION_BLOCK        FW_RULE_ACTION = 2
    FW_RULE_ACTION_ALLOW        FW_RULE_ACTION = 3
    FW_RULE_ACTION_MAX          FW_RULE_ACTION = 4
)

type FW\_RULE\_CATEGORY

FW_RULE_CATEGORY is an NDR enum, transmitted as a 4-byte v1_enum value ([C706] 14.3.6.4, [MS-FASP]).

type FW_RULE_CATEGORY uint32
const (
    FW_RULE_CATEGORY_BOOT     FW_RULE_CATEGORY = 0
    FW_RULE_CATEGORY_STEALTH  FW_RULE_CATEGORY = 1
    FW_RULE_CATEGORY_FIREWALL FW_RULE_CATEGORY = 2
    FW_RULE_CATEGORY_CONSEC   FW_RULE_CATEGORY = 3
    FW_RULE_CATEGORY_MAX      FW_RULE_CATEGORY = 4
)

type FW\_RULE\_DUPLICATE\_STATUS\_FLAGS

FW_RULE_DUPLICATE_STATUS_FLAGS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_RULE_DUPLICATE_STATUS_FLAGS uint16
const (
    FW_DUPLICATE_STATUS_FLAGS_EVALUATING    FW_RULE_DUPLICATE_STATUS_FLAGS = 0x0001
    FW_DUPLICATE_STATUS_FLAGS_HAS_DUPLICATE FW_RULE_DUPLICATE_STATUS_FLAGS = 0x0002
    FW_DUPLICATE_STATUS_FLAGS_IS_ENFORCED   FW_RULE_DUPLICATE_STATUS_FLAGS = 0x0004
)

type FW\_RULE\_FLAGS

FW_RULE_FLAGS is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_RULE_FLAGS uint16
const (
    FW_RULE_FLAGS_NONE                                FW_RULE_FLAGS = 0x0000
    FW_RULE_FLAGS_ACTIVE                              FW_RULE_FLAGS = 0x0001
    FW_RULE_FLAGS_AUTHENTICATE                        FW_RULE_FLAGS = 0x0002
    FW_RULE_FLAGS_AUTHENTICATE_WITH_ENCRYPTION        FW_RULE_FLAGS = 0x0004
    FW_RULE_FLAGS_ROUTEABLE_ADDRS_TRAVERSE            FW_RULE_FLAGS = 0x0008
    FW_RULE_FLAGS_LOOSE_SOURCE_MAPPED                 FW_RULE_FLAGS = 0x00010
    FW_RULE_FLAGS_MAX_V2_1                            FW_RULE_FLAGS = 0x0020
    FW_RULE_FLAGS_AUTH_WITH_NO_ENCAPSULATION          FW_RULE_FLAGS = 0x0020
    FW_RULE_FLAGS_MAX_V2_9                            FW_RULE_FLAGS = 0x0040
    FW_RULE_FLAGS_AUTH_WITH_ENC_NEGOTIATE             FW_RULE_FLAGS = 0x0040
    FW_RULE_FLAGS_ROUTEABLE_ADDRS_TRAVERSE_DEFER_APP  FW_RULE_FLAGS = 0x0080
    FW_RULE_FLAGS_ROUTEABLE_ADDRS_TRAVERSE_DEFER_USER FW_RULE_FLAGS = 0x0100
    FW_RULE_FLAGS_AUTHENTICATE_BYPASS_OUTBOUND        FW_RULE_FLAGS = 0x0200
    FW_RULE_FLAGS_MAX_V2_10                           FW_RULE_FLAGS = 0x0400
    FW_RULE_FLAGS_ALLOW_PROFILE_CROSSING              FW_RULE_FLAGS = 0x0400
    FW_RULE_FLAGS_LOCAL_ONLY_MAPPED                   FW_RULE_FLAGS = 0x0800
    FW_RULE_FLAGS_MAX_V2_20                           FW_RULE_FLAGS = 0x1000
    FW_RULE_FLAGS_LUA_CONDITIONAL_ACE                 FW_RULE_FLAGS = 0x1000
    FW_RULE_FLAGS_BIND_TO_INTERFACE                   FW_RULE_FLAGS = 0x2000
    FW_RULE_FLAGS_MAX                                 FW_RULE_FLAGS = 0x4000
)

type FW\_RULE\_FLAGS2

FW_RULE_FLAGS2 is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_RULE_FLAGS2 uint16
const (
    FW_RULE_FLAGS2_NONE                          FW_RULE_FLAGS2 = 0x0000
    FW_RULE_FLAGS2_SYSTEMOS_ONLY                 FW_RULE_FLAGS2 = 0x0001
    FW_RULE_FLAGS2_GAMEOS_ONLY                   FW_RULE_FLAGS2 = 0x0002
    FW_RULE_FLAGS2_DEVMODE                       FW_RULE_FLAGS2 = 0x0004
    FW_RULE_FLAGS_MAX_V2_26                      FW_RULE_FLAGS2 = 0x0008
    FW_RULE_FLAGS2_NOT_USED_VALUE_8              FW_RULE_FLAGS2 = 0x0008
    FW_RULE_FLAGS2_EMPTY_REMOTENAME              FW_RULE_FLAGS2 = 0x0010
    FW_RULE_FLAGS2_NOT_REMOTENAME                FW_RULE_FLAGS2 = 0x0020
    FW_RULE_FLAGS2_NOT_USED_VALUE_64             FW_RULE_FLAGS2 = 0x0040
    FW_RULE_FLAGS2_CALLOUT_AND_AUDIT             FW_RULE_FLAGS2 = 0x0080
    FW_RULE_FLAGS2_APP_LOOPBACK                  FW_RULE_FLAGS2 = 0x0100
    FW_RULE_FLAGS2_NOT_USED_VALUE_512            FW_RULE_FLAGS2 = 0x0200
    FW_RULE_FLAGS2_NOT_USED_VALUE_1024           FW_RULE_FLAGS2 = 0x0400
    FW_RULE_FLAGS2_NOT_USED_VALUE_2048           FW_RULE_FLAGS2 = 0x0800
    FW_RULE_FLAGS2_INDIRECT_NAME_RESOLVED        FW_RULE_FLAGS2 = 0x1000
    FW_RULE_FLAGS2_INDIRECT_DESCRIPTION_RESOLVED FW_RULE_FLAGS2 = 0x2000
    FW_RULE_FLAGS2_MAX                           FW_RULE_FLAGS2 = 0x2000
)

type FW\_RULE\_Field

FW_RULE_Field is the wIpProtocol-discriminated union ([MS-FASP] 2.2.36 FW_RULE): the port list arm is selected for TCP (6) and UDP (17); the ICMP type/code list for ICMPv4 (1) and ICMPv6 (58); all other protocols select the empty ([default]) arm. switch_type is WORD, so the inline discriminant Tag is a uint16 ([C706] 14.3.8).

type FW_RULE_Field struct {
    Tag            uint16                 `ndr:"switch"`
    PortsTCP       FW_RULE_PROTOCOL_PORTS `ndr:"case=6"`
    PortsUDP       FW_RULE_PROTOCOL_PORTS `ndr:"case=17"`
    V4TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=1"`
    V6TypeCodeList FW_ICMP_TYPE_CODE_LIST `ndr:"case=58"`
}

type FW\_RULE\_ORIGIN\_TYPE

FW_RULE_ORIGIN_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_RULE_ORIGIN_TYPE uint16
const (
    FW_RULE_ORIGIN_INVALID      FW_RULE_ORIGIN_TYPE = 0
    FW_RULE_ORIGIN_LOCAL        FW_RULE_ORIGIN_TYPE = 1
    FW_RULE_ORIGIN_GP           FW_RULE_ORIGIN_TYPE = 2
    FW_RULE_ORIGIN_DYNAMIC      FW_RULE_ORIGIN_TYPE = 3
    FW_RULE_ORIGIN_AUTOGEN      FW_RULE_ORIGIN_TYPE = 4
    FW_RULE_ORIGIN_HARDCODED    FW_RULE_ORIGIN_TYPE = 5
    FW_RULE_ORIGIN_MDM          FW_RULE_ORIGIN_TYPE = 6
    FW_RULE_ORIGIN_MAX          FW_RULE_ORIGIN_TYPE = 7
    FW_RULE_ORIGIN_HOST_LOCAL   FW_RULE_ORIGIN_TYPE = 8
    FW_RULE_ORIGIN_HOST_GP      FW_RULE_ORIGIN_TYPE = 9
    FW_RULE_ORIGIN_HOST_DYNAMIC FW_RULE_ORIGIN_TYPE = 10
    FW_RULE_ORIGIN_HOST_MDM     FW_RULE_ORIGIN_TYPE = 11
    FW_RULE_ORIGIN_HOST_MAX     FW_RULE_ORIGIN_TYPE = 12
)

type FW\_RULE\_PROTOCOL\_PORTS

FW_RULE_PROTOCOL_PORTS is the TCP/UDP arm shared by every FW_RULE*_Field union (wIpProtocol 6 or 17): the local and remote port lists ([MS-FASP] 2.2.36).

type FW_RULE_PROTOCOL_PORTS struct {
    LocalPorts  FW_PORTS
    RemotePorts FW_PORTS
}

type FW\_RULE\_STATUS

FW_RULE_STATUS is an NDR enum, transmitted as a 4-byte v1_enum value ([C706] 14.3.6.4, [MS-FASP]).

type FW_RULE_STATUS uint32
const (
    FW_RULE_STATUS_OK                                                             FW_RULE_STATUS = 0x00010000
    FW_RULE_STATUS_PARTIALLY_IGNORED                                              FW_RULE_STATUS = 0x00020000
    FW_RULE_STATUS_IGNORED                                                        FW_RULE_STATUS = 0x00040000
    FW_RULE_STATUS_PARSING_ERROR                                                  FW_RULE_STATUS = 0x00080000
    FW_RULE_STATUS_PARSING_ERROR_NAME                                             FW_RULE_STATUS = 0x00080001
    FW_RULE_STATUS_PARSING_ERROR_DESC                                             FW_RULE_STATUS = 0x00080002
    FW_RULE_STATUS_PARSING_ERROR_APP                                              FW_RULE_STATUS = 0x00080003
    FW_RULE_STATUS_PARSING_ERROR_SVC                                              FW_RULE_STATUS = 0x00080004
    FW_RULE_STATUS_PARSING_ERROR_RMA                                              FW_RULE_STATUS = 0x00080005
    FW_RULE_STATUS_PARSING_ERROR_RUA                                              FW_RULE_STATUS = 0x00080006
    FW_RULE_STATUS_PARSING_ERROR_EMBD                                             FW_RULE_STATUS = 0x00080007
    FW_RULE_STATUS_PARSING_ERROR_RULE_ID                                          FW_RULE_STATUS = 0x00080008
    FW_RULE_STATUS_PARSING_ERROR_PHASE1_AUTH                                      FW_RULE_STATUS = 0x00080009
    FW_RULE_STATUS_PARSING_ERROR_PHASE2_CRYPTO                                    FW_RULE_STATUS = 0x0008000A
    FW_RULE_STATUS_PARSING_ERROR_PHASE2_AUTH                                      FW_RULE_STATUS = 0x0008000B
    FW_RULE_STATUS_PARSING_ERROR_RESOLVE_APP                                      FW_RULE_STATUS = 0x0008000C
    FW_RULE_STATUS_PARSING_ERROR_MAINMODE_ID                                      FW_RULE_STATUS = 0x0008000D
    FW_RULE_STATUS_PARSING_ERROR_PHASE1_CRYPTO                                    FW_RULE_STATUS = 0x0008000E
    FW_RULE_STATUS_PARSING_ERROR_REMOTE_ENDPOINTS                                 FW_RULE_STATUS = 0x0008000F
    FW_RULE_STATUS_PARSING_ERROR_REMOTE_ENDPOINT_FQDN                             FW_RULE_STATUS = 0x00080010
    FW_RULE_STATUS_PARSING_ERROR_KEY_MODULE                                       FW_RULE_STATUS = 0x00080011
    FW_RULE_STATUS_PARSING_ERROR_LUA                                              FW_RULE_STATUS = 0x00080012
    FW_RULE_STATUS_PARSING_ERROR_FWD_LIFETIME                                     FW_RULE_STATUS = 0x00080013
    FW_RULE_STATUS_PARSING_ERROR_TRANSPORT_MACHINE_AUTHZ_SDDL                     FW_RULE_STATUS = 0x00080014
    FW_RULE_STATUS_PARSING_ERROR_TRANSPORT_USER_AUTHZ_SDDL                        FW_RULE_STATUS = 0x00080015
    FW_RULE_STATUS_PARSING_ERROR_NETNAMES_STRING                                  FW_RULE_STATUS = 0x00080016
    FW_RULE_STATUS_PARSING_ERROR_SECURITY_REALM_ID_STRING                         FW_RULE_STATUS = 0x00080017
    FW_RULE_STATUS_PARSING_ERROR_FQBN_STRING                                      FW_RULE_STATUS = 0x00080018
    FW_RULE_STATUS_SEMANTIC_ERROR                                                 FW_RULE_STATUS = 0x00100000
    FW_RULE_STATUS_SEMANTIC_ERROR_RULE_ID                                         FW_RULE_STATUS = 0x00100010
    FW_RULE_STATUS_SEMANTIC_ERROR_PORTS                                           FW_RULE_STATUS = 0x00100020
    FW_RULE_STATUS_SEMANTIC_ERROR_PORT_KEYW                                       FW_RULE_STATUS = 0x00100021
    FW_RULE_STATUS_SEMANTIC_ERROR_PORT_RANGE                                      FW_RULE_STATUS = 0x00100022
    FW_RULE_STATUS_SEMANTIC_ERROR_PORTRANGE_RESTRICTION                           FW_RULE_STATUS = 0x00100023
    FW_RULE_STATUS_SEMANTIC_ERROR_ADDR_V4_SUBNETS                                 FW_RULE_STATUS = 0x00100040
    FW_RULE_STATUS_SEMANTIC_ERROR_ADDR_V6_SUBNETS                                 FW_RULE_STATUS = 0x00100041
    FW_RULE_STATUS_SEMANTIC_ERROR_ADDR_V4_RANGES                                  FW_RULE_STATUS = 0x00100042
    FW_RULE_STATUS_SEMANTIC_ERROR_ADDR_V6_RANGES                                  FW_RULE_STATUS = 0x00100043
    FW_RULE_STATUS_SEMANTIC_ERROR_ADDR_RANGE                                      FW_RULE_STATUS = 0x00100044
    FW_RULE_STATUS_SEMANTIC_ERROR_ADDR_MASK                                       FW_RULE_STATUS = 0x00100045
    FW_RULE_STATUS_SEMANTIC_ERROR_ADDR_PREFIX                                     FW_RULE_STATUS = 0x00100046
    FW_RULE_STATUS_SEMANTIC_ERROR_ADDR_KEYW                                       FW_RULE_STATUS = 0x00100047
    FW_RULE_STATUS_SEMANTIC_ERROR_LADDR_PROP                                      FW_RULE_STATUS = 0x00100048
    FW_RULE_STATUS_SEMANTIC_ERROR_RADDR_PROP                                      FW_RULE_STATUS = 0x00100049
    FW_RULE_STATUS_SEMANTIC_ERROR_ADDR_V6                                         FW_RULE_STATUS = 0x0010004A
    FW_RULE_STATUS_SEMANTIC_ERROR_LADDR_INTF                                      FW_RULE_STATUS = 0x0010004B
    FW_RULE_STATUS_SEMANTIC_ERROR_ADDR_V4                                         FW_RULE_STATUS = 0x0010004C
    FW_RULE_STATUS_SEMANTIC_ERROR_TUNNEL_ENDPOINT_ADDR                            FW_RULE_STATUS = 0x0010004D
    FW_RULE_STATUS_SEMANTIC_ERROR_DTE_VER                                         FW_RULE_STATUS = 0x0010004E
    FW_RULE_STATUS_SEMANTIC_ERROR_DTE_MISMATCH_ADDR                               FW_RULE_STATUS = 0x0010004F
    FW_RULE_STATUS_SEMANTIC_ERROR_PROFILE                                         FW_RULE_STATUS = 0x00100050
    FW_RULE_STATUS_SEMANTIC_ERROR_ICMP                                            FW_RULE_STATUS = 0x00100060
    FW_RULE_STATUS_SEMANTIC_ERROR_ICMP_CODE                                       FW_RULE_STATUS = 0x00100061
    FW_RULE_STATUS_SEMANTIC_ERROR_IF_ID                                           FW_RULE_STATUS = 0x00100070
    FW_RULE_STATUS_SEMANTIC_ERROR_IF_TYPE                                         FW_RULE_STATUS = 0x00100071
    FW_RULE_STATUS_SEMANTIC_ERROR_ACTION                                          FW_RULE_STATUS = 0x00100080
    FW_RULE_STATUS_SEMANTIC_ERROR_ALLOW_BYPASS                                    FW_RULE_STATUS = 0x00100081
    FW_RULE_STATUS_SEMANTIC_ERROR_DO_NOT_SECURE                                   FW_RULE_STATUS = 0x00100082
    FW_RULE_STATUS_SEMANTIC_ERROR_ACTION_BLOCK_IS_ENCRYPTED_SECURE                FW_RULE_STATUS = 0x00100083
    FW_RULE_STATUS_SEMANTIC_ERROR_INCOMPATIBLE_FLAG_OR_ACTION_WITH_SECURITY_REALM FW_RULE_STATUS = 0x00100084
    FW_RULE_STATUS_SEMANTIC_ERROR_DIR                                             FW_RULE_STATUS = 0x00100090
    FW_RULE_STATUS_SEMANTIC_ERROR_PROT                                            FW_RULE_STATUS = 0x001000A0
    FW_RULE_STATUS_SEMANTIC_ERROR_PROT_PROP                                       FW_RULE_STATUS = 0x001000A1
    FW_RULE_STATUS_SEMANTIC_ERROR_DEFER_EDGE_PROP                                 FW_RULE_STATUS = 0x001000A2
    FW_RULE_STATUS_SEMANTIC_ERROR_ALLOW_BYPASS_OUTBOUND                           FW_RULE_STATUS = 0x001000A3
    FW_RULE_STATUS_SEMANTIC_ERROR_DEFER_USER_INVALID_RULE                         FW_RULE_STATUS = 0x001000A4
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS                                           FW_RULE_STATUS = 0x001000B0
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_AUTO_AUTH                                 FW_RULE_STATUS = 0x001000B1
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_AUTO_BLOCK                                FW_RULE_STATUS = 0x001000B2
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_AUTO_DYN_RPC                              FW_RULE_STATUS = 0x001000B3
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_AUTHENTICATE_ENCRYPT                      FW_RULE_STATUS = 0x001000B4
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_AUTH_WITH_ENC_NEGOTIATE_VER               FW_RULE_STATUS = 0x001000B5
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_AUTH_WITH_ENC_NEGOTIATE                   FW_RULE_STATUS = 0x001000B6
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_ESP_NO_ENCAP_VER                          FW_RULE_STATUS = 0x001000B7
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_ESP_NO_ENCAP                              FW_RULE_STATUS = 0x001000B8
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_TUNNEL_AUTH_MODES_VER                     FW_RULE_STATUS = 0x001000B9
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_TUNNEL_AUTH_MODES                         FW_RULE_STATUS = 0x001000BA
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_IP_HTTPS_VER                              FW_RULE_STATUS = 0x001000BB
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_IP_TLS_VER                                FW_RULE_STATUS = 0x001000BB
    FW_RULE_STATUS_SEMANTIC_ERROR_PORTRANGE_VER                                   FW_RULE_STATUS = 0x001000BC
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_ADDRS_TRAVERSE_DEFER_VER                  FW_RULE_STATUS = 0x001000BD
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_AUTH_WITH_ENC_NEGOTIATE_OUTBOUND          FW_RULE_STATUS = 0x001000BE
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_AUTHENTICATE_WITH_OUTBOUND_BYPASS_VER     FW_RULE_STATUS = 0x001000BF
    FW_RULE_STATUS_SEMANTIC_ERROR_REMOTE_AUTH_LIST                                FW_RULE_STATUS = 0x001000C0
    FW_RULE_STATUS_SEMANTIC_ERROR_REMOTE_USER_LIST                                FW_RULE_STATUS = 0x001000C1
    FW_RULE_STATUS_SEMANTIC_ERROR_LOCAL_USER_LIST                                 FW_RULE_STATUS = 0x001000C2
    FW_RULE_STATUS_SEMANTIC_ERROR_LUA_VER                                         FW_RULE_STATUS = 0x001000C3
    FW_RULE_STATUS_SEMANTIC_ERROR_LOCAL_USER_OWNER                                FW_RULE_STATUS = 0x001000C4
    FW_RULE_STATUS_SEMANTIC_ERROR_LOCAL_USER_OWNER_VER                            FW_RULE_STATUS = 0x001000C5
    FW_RULE_STATUS_SEMANTIC_ERROR_LUA_CONDITIONAL_VER                             FW_RULE_STATUS = 0x001000C6
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_SYSTEMOS_GAMEOS                           FW_RULE_STATUS = 0x001000C7
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_CORTANA_VER                               FW_RULE_STATUS = 0x001000C8
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_REMOTENAME                                FW_RULE_STATUS = 0x001000C9
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_ALLOW_PROFILE_CROSSING_VER                FW_RULE_STATUS = 0x001000D0
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_LOCAL_ONLY_MAPPED_VER                     FW_RULE_STATUS = 0x001000D1
    FW_RULE_STATUS_SEMANTIC_ERROR_PLATFORM                                        FW_RULE_STATUS = 0x001000E0
    FW_RULE_STATUS_SEMANTIC_ERROR_PLATFORM_OP_VER                                 FW_RULE_STATUS = 0x001000E1
    FW_RULE_STATUS_SEMANTIC_ERROR_PLATFORM_OP                                     FW_RULE_STATUS = 0x001000E2
    FW_RULE_STATUS_SEMANTIC_ERROR_DTE_NOANY_ADDR                                  FW_RULE_STATUS = 0x001000F0
    FW_RULE_STATUS_SEMANTIC_ERROR_TUNNEL_EXEMPT_WITH_GATEWAY                      FW_RULE_STATUS = 0x001000F1
    FW_RULE_STATUS_SEMANTIC_ERROR_TUNNEL_EXEMPT_VER                               FW_RULE_STATUS = 0x001000F2
    FW_RULE_STATUS_SEMANTIC_ERROR_ADDR_KEYWORD_VER                                FW_RULE_STATUS = 0x001000F3
    FW_RULE_STATUS_SEMANTIC_ERROR_KEY_MODULE_VER                                  FW_RULE_STATUS = 0x001000F4
    FW_RULE_STATUS_SEMANTIC_ERROR_APP_CONTAINER_PACKAGE_ID                        FW_RULE_STATUS = 0x00100100
    FW_RULE_STATUS_SEMANTIC_ERROR_APP_CONTAINER_PACKAGE_ID_VER                    FW_RULE_STATUS = 0x00100101
    FW_RULE_STATUS_SEMANTIC_ERROR_TRUST_TUPLE_KEYWORD_INCOMPATIBLE                FW_RULE_STATUS = 0x00100200
    FW_RULE_STATUS_SEMANTIC_ERROR_TRUST_TUPLE_KEYWORD_INVALID                     FW_RULE_STATUS = 0x00100201
    FW_RULE_STATUS_SEMANTIC_ERROR_TRUST_TUPLE_KEYWORD_VER                         FW_RULE_STATUS = 0x00100202
    FW_RULE_STATUS_SEMANTIC_ERROR_INTERFACE_TYPES_VER                             FW_RULE_STATUS = 0x00100301
    FW_RULE_STATUS_SEMANTIC_ERROR_NETNAMES_VER                                    FW_RULE_STATUS = 0x00100401
    FW_RULE_STATUS_SEMANTIC_ERROR_SECURITY_REALM_ID_VER                           FW_RULE_STATUS = 0x00100402
    FW_RULE_STATUS_SEMANTIC_ERROR_SYSTEMOS_GAMEOS_VER                             FW_RULE_STATUS = 0x00100403
    FW_RULE_STATUS_SEMANTIC_ERROR_DEVMODE_VER                                     FW_RULE_STATUS = 0x00100404
    FW_RULE_STATUS_SEMANTIC_ERROR_REMOTE_SERVERNAME_VER                           FW_RULE_STATUS = 0x00100405
    FW_RULE_STATUS_SEMANTIC_ERROR_FQBN_VER                                        FW_RULE_STATUS = 0x00100406
    FW_RULE_STATUS_SEMANTIC_ERROR_COMPARTMENT_ID_VER                              FW_RULE_STATUS = 0x00100407
    FW_RULE_STATUS_SEMANTIC_ERROR_CALLOUT_AND_AUDIT_VER                           FW_RULE_STATUS = 0x00100408
    FW_RULE_STATUS_SEMANTIC_ERROR_APPCONTAINER_LOOPBACK_VER                       FW_RULE_STATUS = 0x00100409
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE1_AUTH_SET_ID                              FW_RULE_STATUS = 0x00100500
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE2_CRYPTO_SET_ID                            FW_RULE_STATUS = 0x00100510
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE1_CRYPTO_SET_ID                            FW_RULE_STATUS = 0x00100511
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_KEY_MANAGER_DICTATE_VER                   FW_RULE_STATUS = 0x00100512
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_KEY_MANAGER_NOTIFY_VER                    FW_RULE_STATUS = 0x00100513
    FW_RULE_STATUS_SEMANTIC_ERROR_TRANSPORT_MACHINE_AUTHZ_VER                     FW_RULE_STATUS = 0x00100514
    FW_RULE_STATUS_SEMANTIC_ERROR_TRANSPORT_USER_AUTHZ_VER                        FW_RULE_STATUS = 0x00100515
    FW_RULE_STATUS_SEMANTIC_ERROR_TRANSPORT_MACHINE_AUTHZ_ON_TUNNEL               FW_RULE_STATUS = 0x00100516
    FW_RULE_STATUS_SEMANTIC_ERROR_TRANSPORT_USER_AUTHZ_ON_TUNNEL                  FW_RULE_STATUS = 0x00100517
    FW_RULE_STATUS_SEMANTIC_ERROR_PER_RULE_AND_GLOBAL_AUTHZ                       FW_RULE_STATUS = 0x00100518
    FW_RULE_STATUS_SEMANTIC_ERROR_FLAGS_SECURITY_REALM                            FW_RULE_STATUS = 0x00100519
    FW_RULE_STATUS_SEMANTIC_ERROR_SET_ID                                          FW_RULE_STATUS = 0x00101000
    FW_RULE_STATUS_SEMANTIC_ERROR_IPSEC_PHASE                                     FW_RULE_STATUS = 0x00101010
    FW_RULE_STATUS_SEMANTIC_ERROR_EMPTY_SUITES                                    FW_RULE_STATUS = 0x00101020
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE1_AUTH_METHOD                              FW_RULE_STATUS = 0x00101030
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE2_AUTH_METHOD                              FW_RULE_STATUS = 0x00101031
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_METHOD_ANONYMOUS                           FW_RULE_STATUS = 0x00101032
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_METHOD_DUPLICATE                           FW_RULE_STATUS = 0x00101033
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_METHOD_VER                                 FW_RULE_STATUS = 0x00101034
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_SUITE_FLAGS                                FW_RULE_STATUS = 0x00101040
    FW_RULE_STATUS_SEMANTIC_ERROR_HEALTH_CERT                                     FW_RULE_STATUS = 0x00101041
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_SIGNCERT_VER                               FW_RULE_STATUS = 0x00101042
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_INTERMEDIATE_CA_VER                        FW_RULE_STATUS = 0x00101043
    FW_RULE_STATUS_SEMANTIC_ERROR_MACHINE_SHKEY                                   FW_RULE_STATUS = 0x00101050
    FW_RULE_STATUS_SEMANTIC_ERROR_CA_NAME                                         FW_RULE_STATUS = 0x00101060
    FW_RULE_STATUS_SEMANTIC_ERROR_MIXED_CERTS                                     FW_RULE_STATUS = 0x00101061
    FW_RULE_STATUS_SEMANTIC_ERROR_NON_CONTIGUOUS_CERTS                            FW_RULE_STATUS = 0x00101062
    FW_RULE_STATUS_SEMANTIC_ERROR_MIXED_CA_TYPE_IN_BLOCK                          FW_RULE_STATUS = 0x00101063
    FW_RULE_STATUS_SEMANTIC_ERROR_MACHINE_USER_AUTH                               FW_RULE_STATUS = 0x00101070
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_CERT_CRITERIA_VER                          FW_RULE_STATUS = 0x00101071
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_CERT_CRITERIA_VER_MISMATCH                 FW_RULE_STATUS = 0x00101072
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_CERT_CRITERIA_RENEWAL_HASH                 FW_RULE_STATUS = 0x00101073
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_CERT_CRITERIA_INVALID_HASH                 FW_RULE_STATUS = 0x00101074
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_CERT_CRITERIA_INVALID_EKU                  FW_RULE_STATUS = 0x00101075
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_CERT_CRITERIA_INVALID_NAME_TYPE            FW_RULE_STATUS = 0x00101076
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_CERT_CRITERIA_INVALID_NAME                 FW_RULE_STATUS = 0x00101077
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_CERT_CRITERIA_INVALID_CRITERIA_TYPE        FW_RULE_STATUS = 0x00101078
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_CERT_CRITERIA_MISSING_CRITERIA             FW_RULE_STATUS = 0x00101079
    FW_RULE_STATUS_SEMANTIC_ERROR_PROXY_SERVER                                    FW_RULE_STATUS = 0x00101080
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_PROXY_SERVER_VER                           FW_RULE_STATUS = 0x00101081
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE1_CRYPTO_NON_DEFAULT_ID                    FW_RULE_STATUS = 0x00105000
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE1_CRYPTO_FLAGS                             FW_RULE_STATUS = 0x00105001
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE1_CRYPTO_TIMEOUT_MINUTES                   FW_RULE_STATUS = 0x00105002
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE1_CRYPTO_TIMEOUT_SESSIONS                  FW_RULE_STATUS = 0x00105003
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE1_CRYPTO_KEY_EXCHANGE                      FW_RULE_STATUS = 0x00105004
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE1_CRYPTO_ENCRYPTION                        FW_RULE_STATUS = 0x00105005
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE1_CRYPTO_HASH                              FW_RULE_STATUS = 0x00105006
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE1_CRYPTO_ENCRYPTION_VER                    FW_RULE_STATUS = 0x00105007
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE1_CRYPTO_HASH_VER                          FW_RULE_STATUS = 0x00105008
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE1_CRYPTO_KEY_EXCH_VER                      FW_RULE_STATUS = 0x00105009
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE2_CRYPTO_PFS                               FW_RULE_STATUS = 0x00105020
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE2_CRYPTO_PROTOCOL                          FW_RULE_STATUS = 0x00105021
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE2_CRYPTO_ENCRYPTION                        FW_RULE_STATUS = 0x00105022
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE2_CRYPTO_HASH                              FW_RULE_STATUS = 0x00105023
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE2_CRYPTO_TIMEOUT_MINUTES                   FW_RULE_STATUS = 0x00105024
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE2_CRYPTO_TIMEOUT_KBYTES                    FW_RULE_STATUS = 0x00105025
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE2_CRYPTO_ENCRYPTION_VER                    FW_RULE_STATUS = 0x00105026
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE2_CRYPTO_HASH_VER                          FW_RULE_STATUS = 0x00105027
    FW_RULE_STATUS_SEMANTIC_ERROR_PHASE2_CRYPTO_PFS_VER                           FW_RULE_STATUS = 0x00105028
    FW_RULE_STATUS_SEMANTIC_ERROR_CRYPTO_ENCR_HASH                                FW_RULE_STATUS = 0x00105040
    FW_RULE_STATUS_SEMANTIC_ERROR_CRYPTO_ENCR_HASH_COMPAT                         FW_RULE_STATUS = 0x00105041
    FW_RULE_STATUS_SEMANTIC_ERROR_SCHEMA_VERSION                                  FW_RULE_STATUS = 0x00105050
    FW_RULE_STATUS_SEMANTIC_ERROR_QUERY_OR_AND_CONDITIONS                         FW_RULE_STATUS = 0x00106000
    FW_RULE_STATUS_SEMANTIC_ERROR_QUERY_AND_CONDITIONS                            FW_RULE_STATUS = 0x00106001
    FW_RULE_STATUS_SEMANTIC_ERROR_QUERY_CONDITION_KEY                             FW_RULE_STATUS = 0x00106002
    FW_RULE_STATUS_SEMANTIC_ERROR_QUERY_CONDITION_MATCH_TYPE                      FW_RULE_STATUS = 0x00106003
    FW_RULE_STATUS_SEMANTIC_ERROR_QUERY_CONDITION_DATA_TYPE                       FW_RULE_STATUS = 0x00106004
    FW_RULE_STATUS_SEMANTIC_ERROR_QUERY_CONDITION_KEY_AND_DATA_TYPE               FW_RULE_STATUS = 0x00106005
    FW_RULE_STATUS_SEMANTIC_ERROR_QUERY_KEYS_PROTOCOL_PORT                        FW_RULE_STATUS = 0x00106006
    FW_RULE_STATUS_SEMANTIC_ERROR_QUERY_KEY_PROFILE                               FW_RULE_STATUS = 0x00106007
    FW_RULE_STATUS_SEMANTIC_ERROR_QUERY_KEY_STATUS                                FW_RULE_STATUS = 0x00106008
    FW_RULE_STATUS_SEMANTIC_ERROR_QUERY_KEY_FILTERID                              FW_RULE_STATUS = 0x00106009
    FW_RULE_STATUS_SEMANTIC_ERROR_QUERY_KEY_APP_PATH                              FW_RULE_STATUS = 0x00106010
    FW_RULE_STATUS_SEMANTIC_ERROR_QUERY_KEY_PROTOCOL                              FW_RULE_STATUS = 0x00106011
    FW_RULE_STATUS_SEMANTIC_ERROR_QUERY_KEY_LOCAL_PORT                            FW_RULE_STATUS = 0x00106012
    FW_RULE_STATUS_SEMANTIC_ERROR_QUERY_KEY_REMOTE_PORT                           FW_RULE_STATUS = 0x00106013
    FW_RULE_STATUS_SEMANTIC_ERROR_QUERY_KEY_SVC_NAME                              FW_RULE_STATUS = 0x00106015
    FW_RULE_STATUS_SEMANTIC_ERROR_REQUIRE_IN_CLEAR_OUT_ON_TRANSPORT               FW_RULE_STATUS = 0x00107000
    FW_RULE_STATUS_SEMANTIC_ERROR_BYPASS_TUNNEL_IF_SECURE_ON_TRANSPORT            FW_RULE_STATUS = 0x00107001
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_NOENCAP_ON_TUNNEL                          FW_RULE_STATUS = 0x00107002
    FW_RULE_STATUS_SEMANTIC_ERROR_AUTH_NOENCAP_ON_PSK                             FW_RULE_STATUS = 0x00107003
    FW_RULE_STATUS_SEMANTIC_ERROR_REMOTE_DYNAMIC_KEYWORD_ADDRESSES                FW_RULE_STATUS = 0x00107004
    FW_RULE_STATUS_SEMANTIC_ERROR_PACKAGE_FAMILY_NAME_FIELD_NOT_FOUND             FW_RULE_STATUS = 0x00107005
    FW_RULE_STATUS_RUNTIME_ERROR                                                  FW_RULE_STATUS = 0x00200000
    FW_RULE_STATUS_RUNTIME_ERROR_PHASE1_AUTH_NOT_FOUND                            FW_RULE_STATUS = 0x00200001
    FW_RULE_STATUS_RUNTIME_ERROR_PHASE2_AUTH_NOT_FOUND                            FW_RULE_STATUS = 0x00200002
    FW_RULE_STATUS_RUNTIME_ERROR_PHASE2_CRYPTO_NOT_FOUND                          FW_RULE_STATUS = 0x00200003
    FW_RULE_STATUS_RUNTIME_ERROR_AUTH_MCHN_SHKEY_MISMATCH                         FW_RULE_STATUS = 0x00200004
    FW_RULE_STATUS_RUNTIME_ERROR_PHASE1_CRYPTO_NOT_FOUND                          FW_RULE_STATUS = 0x00200005
    FW_RULE_STATUS_RUNTIME_ERROR_AUTH_NOENCAP_ON_TUNNEL                           FW_RULE_STATUS = 0x00200006
    FW_RULE_STATUS_RUNTIME_ERROR_AUTH_NOENCAP_ON_PSK                              FW_RULE_STATUS = 0x00200007
    FW_RULE_STATUS_RUNTIME_ERROR_KEY_MODULE_AUTH_MISMATCH                         FW_RULE_STATUS = 0x00200008
    FW_RULE_STATUS_ERROR                                                          FW_RULE_STATUS = 0x00380000
    FW_RULE_STATUS_ALL                                                            FW_RULE_STATUS = 0xFFFF0000
)

type FW\_RULE\_STATUS\_CLASS

FW_RULE_STATUS_CLASS is an NDR enum, transmitted as a 4-byte v1_enum value ([C706] 14.3.6.4, [MS-FASP]).

type FW_RULE_STATUS_CLASS uint32
const (
    FW_RULE_STATUS_CLASS_OK                FW_RULE_STATUS_CLASS = FW_RULE_STATUS_CLASS(FW_RULE_STATUS_OK)
    FW_RULE_STATUS_CLASS_PARTIALLY_IGNORED FW_RULE_STATUS_CLASS = FW_RULE_STATUS_CLASS(FW_RULE_STATUS_PARTIALLY_IGNORED)
    FW_RULE_STATUS_CLASS_IGNORED           FW_RULE_STATUS_CLASS = FW_RULE_STATUS_CLASS(FW_RULE_STATUS_IGNORED)
    FW_RULE_STATUS_CLASS_PARSING_ERROR     FW_RULE_STATUS_CLASS = FW_RULE_STATUS_CLASS(FW_RULE_STATUS_PARSING_ERROR)
    FW_RULE_STATUS_CLASS_SEMANTIC_ERROR    FW_RULE_STATUS_CLASS = FW_RULE_STATUS_CLASS(FW_RULE_STATUS_SEMANTIC_ERROR)
    FW_RULE_STATUS_CLASS_RUNTIME_ERROR     FW_RULE_STATUS_CLASS = FW_RULE_STATUS_CLASS(FW_RULE_STATUS_RUNTIME_ERROR)
    FW_RULE_STATUS_CLASS_ERROR             FW_RULE_STATUS_CLASS = FW_RULE_STATUS_CLASS(FW_RULE_STATUS_ERROR)
    FW_RULE_STATUS_CLASS_ALL               FW_RULE_STATUS_CLASS = FW_RULE_STATUS_CLASS(FW_RULE_STATUS_ALL)
)

type FW\_STORE\_TYPE

FW_STORE_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_STORE_TYPE uint16
const (
    FW_STORE_TYPE_INVALID           FW_STORE_TYPE = 0
    FW_STORE_TYPE_GP_RSOP           FW_STORE_TYPE = 1
    FW_STORE_TYPE_LOCAL             FW_STORE_TYPE = 2
    FW_STORE_TYPE_NOT_USED_VALUE_3  FW_STORE_TYPE = 3
    FW_STORE_TYPE_NOT_USED_VALUE_4  FW_STORE_TYPE = 4
    FW_STORE_TYPE_DYNAMIC           FW_STORE_TYPE = 5
    FW_STORE_TYPE_GPO               FW_STORE_TYPE = 6
    FW_STORE_TYPE_DEFAULTS          FW_STORE_TYPE = 7
    FW_STORE_TYPE_NOT_USED_VALUE_8  FW_STORE_TYPE = 8
    FW_STORE_TYPE_NOT_USED_VALUE_9  FW_STORE_TYPE = 9
    FW_STORE_TYPE_NOT_USED_VALUE_10 FW_STORE_TYPE = 10
    FW_STORE_TYPE_NOT_USED_VALUE_11 FW_STORE_TYPE = 11
    FW_STORE_TYPE_NOT_USED_VALUE_12 FW_STORE_TYPE = 12
    FW_STORE_TYPE_MAX               FW_STORE_TYPE = 13
)

type FW\_TRANSACTIONAL\_STATE

FW_TRANSACTIONAL_STATE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_TRANSACTIONAL_STATE uint16
const (
    FW_TRANSACTIONAL_STATE_NONE     FW_TRANSACTIONAL_STATE = 0
    FW_TRANSACTIONAL_STATE_NO_FLUSH FW_TRANSACTIONAL_STATE = 1
    FW_TRANSACTIONAL_STATE_MAX      FW_TRANSACTIONAL_STATE = 2
)

type FW\_TRUST\_TUPLE\_KEYWORD

FW_TRUST_TUPLE_KEYWORD is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-FASP]).

type FW_TRUST_TUPLE_KEYWORD uint16
const (
    FW_TRUST_TUPLE_KEYWORD_NONE              FW_TRUST_TUPLE_KEYWORD = 0x0000
    FW_TRUST_TUPLE_KEYWORD_PROXIMITY         FW_TRUST_TUPLE_KEYWORD = 0x0001
    FW_TRUST_TUPLE_KEYWORD_PROXIMITY_SHARING FW_TRUST_TUPLE_KEYWORD = 0x0002
    FW_TRUST_TUPLE_KEYWORD_WFD_PRINT         FW_TRUST_TUPLE_KEYWORD = 0x0004
    FW_TRUST_TUPLE_KEYWORD_WFD_DISPLAY       FW_TRUST_TUPLE_KEYWORD = 0x0008
    FW_TRUST_TUPLE_KEYWORD_WFD_DEVICES       FW_TRUST_TUPLE_KEYWORD = 0x0010
    FW_TRUST_TUPLE_KEYWORD_WFD_KM_DRIVER     FW_TRUST_TUPLE_KEYWORD = 0x0020
    FW_TRUST_TUPLE_KEYWORD_UPNP              FW_TRUST_TUPLE_KEYWORD = 0x0040
    FW_TRUST_TUPLE_KEYWORD_WFD_CDP           FW_TRUST_TUPLE_KEYWORD = 0x0080
    FW_TRUST_TUPLE_KEYWORD_MAX               FW_TRUST_TUPLE_KEYWORD = 0x0100
    FW_TRUST_TUPLE_KEYWORD_MAX_V2_20         FW_TRUST_TUPLE_KEYWORD = 0x0004
    FW_TRUST_TUPLE_KEYWORD_MAX_V2_26         FW_TRUST_TUPLE_KEYWORD = 0x0020
    FW_TRUST_TUPLE_KEYWORD_MAX_V2_27         FW_TRUST_TUPLE_KEYWORD = 0x0080
)

type LPSTR

LPSTR is a pointer to a null-terminated ANSI string (wtypes LPSTR) ([MS-FASP]).

type LPSTR = *ndr.STR

type PCWSTR

PCWSTR is a pointer to a null-terminated constant wide string (wtypes LPCWSTR) ([MS-FASP]).

type PCWSTR = *ndr.WSTR

type PFW\_POLICY\_STORE\_HANDLE

PFW_POLICY_STORE_HANDLE is an alias for FW_POLICY_STORE_HANDLE ([MS-FASP]).

type PFW_POLICY_STORE_HANDLE = FW_POLICY_STORE_HANDLE

type PWSTR

PWSTR is a pointer to a null-terminated wide string (wtypes LPWSTR) ([MS-FASP]).

type PWSTR = *ndr.WSTR

type UINT16

UINT16 is the wtypes 16-bit unsigned integer ([MS-DTYP]); a scalar typedef ([MS-FASP]).

type UINT16 = uint16

type UINT32

UINT32 is the wtypes 32-bit unsigned integer ([MS-DTYP]); a scalar typedef ([MS-FASP]).

type UINT32 = uint32

type UINT64

UINT64 is the wtypes 64-bit unsigned integer ([MS-DTYP]); a scalar typedef ([MS-FASP]).

type UINT64 = uint64

type UINT8

UINT8 is the wtypes 8-bit unsigned integer ([MS-DTYP]); a scalar typedef ([MS-FASP]).

type UINT8 = uint8