golang.zx2c4.com/wireguard/windows@v0.5.4-0.20230123132234-dcc0eb72a04b/tunnel/firewall/types_windows_32.go (about)

     1  //go:build 386 || arm
     2  
     3  /* SPDX-License-Identifier: MIT
     4   *
     5   * Copyright (C) 2019-2022 WireGuard LLC. All Rights Reserved.
     6   */
     7  
     8  package firewall
     9  
    10  import "golang.org/x/sys/windows"
    11  
    12  const (
    13  	wtFwpByteBlob_Size        = 8
    14  	wtFwpByteBlob_data_Offset = 4
    15  
    16  	wtFwpConditionValue0_Size         = 8
    17  	wtFwpConditionValue0_uint8_Offset = 4
    18  
    19  	wtFwpmDisplayData0_Size               = 8
    20  	wtFwpmDisplayData0_description_Offset = 4
    21  
    22  	wtFwpmFilter0_Size                       = 152
    23  	wtFwpmFilter0_displayData_Offset         = 16
    24  	wtFwpmFilter0_flags_Offset               = 24
    25  	wtFwpmFilter0_providerKey_Offset         = 28
    26  	wtFwpmFilter0_providerData_Offset        = 32
    27  	wtFwpmFilter0_layerKey_Offset            = 40
    28  	wtFwpmFilter0_subLayerKey_Offset         = 56
    29  	wtFwpmFilter0_weight_Offset              = 72
    30  	wtFwpmFilter0_numFilterConditions_Offset = 80
    31  	wtFwpmFilter0_filterCondition_Offset     = 84
    32  	wtFwpmFilter0_action_Offset              = 88
    33  	wtFwpmFilter0_providerContextKey_Offset  = 112
    34  	wtFwpmFilter0_reserved_Offset            = 128
    35  	wtFwpmFilter0_filterID_Offset            = 136
    36  	wtFwpmFilter0_effectiveWeight_Offset     = 144
    37  
    38  	wtFwpmFilterCondition0_Size                  = 28
    39  	wtFwpmFilterCondition0_matchType_Offset      = 16
    40  	wtFwpmFilterCondition0_conditionValue_Offset = 20
    41  
    42  	wtFwpmSession0_Size                        = 48
    43  	wtFwpmSession0_displayData_Offset          = 16
    44  	wtFwpmSession0_flags_Offset                = 24
    45  	wtFwpmSession0_txnWaitTimeoutInMSec_Offset = 28
    46  	wtFwpmSession0_processId_Offset            = 32
    47  	wtFwpmSession0_sid_Offset                  = 36
    48  	wtFwpmSession0_username_Offset             = 40
    49  	wtFwpmSession0_kernelMode_Offset           = 44
    50  
    51  	wtFwpmSublayer0_Size                = 44
    52  	wtFwpmSublayer0_displayData_Offset  = 16
    53  	wtFwpmSublayer0_flags_Offset        = 24
    54  	wtFwpmSublayer0_providerKey_Offset  = 28
    55  	wtFwpmSublayer0_providerData_Offset = 32
    56  	wtFwpmSublayer0_weight_Offset       = 40
    57  
    58  	wtFwpProvider0_Size                = 40
    59  	wtFwpProvider0_displayData_Offset  = 16
    60  	wtFwpProvider0_flags_Offset        = 24
    61  	wtFwpProvider0_providerData_Offset = 28
    62  	wtFwpProvider0_serviceName_Offset  = 36
    63  
    64  	wtFwpTokenInformation_Size = 16
    65  
    66  	wtFwpValue0_Size         = 8
    67  	wtFwpValue0_value_Offset = 4
    68  )
    69  
    70  // FWPM_FILTER0 defined in fwpmtypes.h
    71  // (https://docs.microsoft.com/en-us/windows/desktop/api/fwpmtypes/ns-fwpmtypes-fwpm_filter0).
    72  type wtFwpmFilter0 struct {
    73  	filterKey           windows.GUID // Windows type: GUID
    74  	displayData         wtFwpmDisplayData0
    75  	flags               wtFwpmFilterFlags
    76  	providerKey         *windows.GUID // Windows type: *GUID
    77  	providerData        wtFwpByteBlob
    78  	layerKey            windows.GUID // Windows type: GUID
    79  	subLayerKey         windows.GUID // Windows type: GUID
    80  	weight              wtFwpValue0
    81  	numFilterConditions uint32
    82  	filterCondition     *wtFwpmFilterCondition0
    83  	action              wtFwpmAction0
    84  	offset1             [4]byte       // Layout correction field
    85  	providerContextKey  windows.GUID  // Windows type: GUID
    86  	reserved            *windows.GUID // Windows type: *GUID
    87  	offset2             [4]byte       // Layout correction field
    88  	filterID            uint64
    89  	effectiveWeight     wtFwpValue0
    90  }