Sha256: f935fdd16d05378f07b5197add16056b3ac88f1846a2b7b47360ee5859416fb2

Contents?: true

Size: 902 Bytes

Versions: 41

Compression:

Stored size: 902 Bytes

Contents

# frozen_string_literal: true

require 'facter/resolvers/windows/ffi/ffi'
require 'facter/resolvers/windows/ffi/network_utils'
require 'facter/resolvers/windows/ffi/ip_adapter_addresses_lh'

module NetworkingFFI
  extend FFI::Library

  ffi_convention :stdcall
  ffi_lib :iphlpapi
  attach_function :GetAdaptersAddresses, %i[uint32 uint32 pointer pointer pointer], :dword

  ffi_convention :stdcall
  ffi_lib :ws2_32
  attach_function :WSAAddressToStringW, %i[pointer dword pointer pointer pointer], :int32

  AF_UNSPEC = 0
  GAA_FLAG_SKIP_ANYCAST = 2
  GAA_FLAG_SKIP_MULTICAST = 4
  GAA_FLAG_SKIP_DNS_SERVER = 8
  BUFFER_LENGTH = 15_000
  ERROR_SUCCES = 0
  ERROR_BUFFER_OVERFLOW = 111
  ERROR_NO_DATA = 232
  IF_OPER_STATUS_UP = 1
  IF_OPER_STATUS_DOWN = 2
  IF_TYPE_ETHERNET_CSMACD = 6
  IF_TYPE_IEEE80211 = 71
  IP_ADAPTER_DHCP_ENABLED = 4
  INET6_ADDRSTRLEN = 46
  AF_INET = 2
  AF_INET6 = 23
end

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
facter-4.3.1 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.3.0 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.2.14 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.2.13 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.2.12 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.2.11 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.2.10 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.2.9 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.2.8 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.2.7 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.2.6 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.2.5 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.2.4 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.2.3 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.2.2 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.2.1 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.2.0 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.1.1 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.1.0 lib/facter/resolvers/windows/ffi/networking_ffi.rb
facter-4.0.52 lib/facter/resolvers/windows/ffi/networking_ffi.rb