_IP_ADAPTER_ADDRESSES ????

Everything else that doesn't fall into one of the other PB categories.
callroot
User
User
Posts: 64
Joined: Sat Mar 05, 2016 10:46 pm

_IP_ADAPTER_ADDRESSES ????

Post by callroot »

How to translate to PUREBASIC

Code: Select all


typedef struct _IP_ADAPTER_ADDRESSES {
  union {
    ULONGLONG Alignment;
    struct {
      ULONG Length;
      DWORD IfIndex;
    };
  };
  struct _IP_ADAPTER_ADDRESSES  *Next;
  PCHAR                              AdapterName;
  PIP_ADAPTER_UNICAST_ADDRESS        FirstUnicastAddress;
  PIP_ADAPTER_ANYCAST_ADDRESS        FirstAnycastAddress;
  PIP_ADAPTER_MULTICAST_ADDRESS      FirstMulticastAddress;
  PIP_ADAPTER_DNS_SERVER_ADDRESS     FirstDnsServerAddress;
  PWCHAR                             DnsSuffix;
  PWCHAR                             Description;
  PWCHAR                             FriendlyName;
  BYTE                               PhysicalAddress[MAX_ADAPTER_ADDRESS_LENGTH];
  DWORD                              PhysicalAddressLength;
  DWORD                              Flags;
  DWORD                              Mtu;
  DWORD                              IfType;
  IF_OPER_STATUS                     OperStatus;
  DWORD                              Ipv6IfIndex;
  DWORD                              ZoneIndices[16];
  PIP_ADAPTER_PREFIX                 FirstPrefix;
  ULONG64                            TransmitLinkSpeed;
  ULONG64                            ReceiveLinkSpeed;
  PIP_ADAPTER_WINS_SERVER_ADDRESS_LH FirstWinsServerAddress;
  PIP_ADAPTER_GATEWAY_ADDRESS_LH     FirstGatewayAddress;
  ULONG                              Ipv4Metric;
  ULONG                              Ipv6Metric;
  IF_LUID                            Luid;
  SOCKET_ADDRESS                     Dhcpv4Server;
  NET_IF_COMPARTMENT_ID              CompartmentId;
  NET_IF_NETWORK_GUID                NetworkGuid;
  NET_IF_CONNECTION_TYPE             ConnectionType;
  TUNNEL_TYPE                        TunnelType;
  SOCKET_ADDRESS                     Dhcpv6Server;
  BYTE                               Dhcpv6ClientDuid[MAX_DHCPV6_DUID_LENGTH];
  ULONG                              Dhcpv6ClientDuidLength;
  ULONG                              Dhcpv6Iaid;
  PIP_ADAPTER_DNS_SUFFIX             FirstDnsSuffix;
} IP_ADAPTER_ADDRESSES, *PIP_ADAPTER_ADDRESSES;



https://msdn.microsoft.com/en-us/librar ... s.85).aspx
smacker
User
User
Posts: 55
Joined: Thu Nov 06, 2014 7:18 pm

Re: _IP_ADAPTER_ADDRESSES ????

Post by smacker »

Something in this thread might help you out > http://www.purebasic.fr/english/viewtop ... astAddress - found via forum search, for example

Code: Select all

Structure IF_LUID  ;->Structure IF_LUID
  Reserved.q[24]
  NetLuidIndex.q[24]
  IfType.q[16]
EndStructure

Structure IP_ADAPTER_ADDRESSES_FLAGS
  DdnsEnabled.b[1]
  RegisterAdapterSuffix.b[1]
  Dhcpv4Enabled.b[1]
  ReceiveOnly.b[1]
  NoMulticast.b[1]
  Ipv6OtherStatefulConfig.b[1]
  NetbiosOverTcpipEnabled.b[1]
  Ipv4Enabled.b[1]
  Ipv6Enabled.b[1]
  Ipv6ManagedAddressConfigurationSupported.b[1]
EndStructure

Structure IP_ADAPTER_ADDRESSES_IF_INDEX
  Length.i
  IfIndex.i
EndStructure

;length of the IP_ADAPTER_ADDRESS struct = 376 for Windows 7 in Pure basic
Structure IP_ADAPTER_ADDRESSES  ;->Structure IP_ADAPTER_ADDRESSES
  StructureUnion
    Alignment.q
    sIndexLength.IP_ADAPTER_ADDRESSES_IF_INDEX
  EndStructureUnion
*Next.IP_ADAPTER_ADDRESSES
*AdapterName ; unicode
*FirstUnicastAddress.IP_ADAPTER_UNICAST_ADDRESS
*FirstAnycastAddress.IP_ADAPTER_ANYCAST_ADDRESS
*FirstMulticastAddress.IP_ADAPTER_MULTICAST_ADDRESS
*FirstDnsServerAddress.IP_ADAPTER_DNS_SERVER_ADDRESS
*DnsSuffix;.PWCHAR
*Description;.PWCHAR ; in unicode - WideCharToMultiByte
*FriendlyName;.PWCHAR ; in unicode
PhysicalAddress.b[#MAX_ADAPTER_ADDRESS_LENGTH]
PhysicalAddressLength.i
StructureUnion
  Flags.i
  *pFlags.IP_ADAPTER_ADDRESSES_FLAGS
EndStructureUnion
Mtu.i
IfType.i
OperStatus.i ;l
Ipv6IfIndex.i
ZoneIndices.i[16] ; The SCOPE_LEVEL enumeration
*FirstPrefix.IP_ADAPTER_PREFIX
TransmitLinkSpeed.q
ReceiveLinkSpeed.q
*FirstWinsServerAddress.IP_ADAPTER_WINS_SERVER_ADDRESS
*FirstGatewayAddress.IP_ADAPTER_GATEWAY_ADDRESS
Ipv4Metric.i
Ipv6Metric.i
StructureUnion ;-> IF_LUID union - is another name for NET_LUID
  Value.q
  *Info.IF_LUID
EndStructureUnion
Dhcpv4Server.SOCKET_ADDRESS
CompartmentId.i[#IF_COMPARTMENT_ID_PRIMARY]
NetworkGuid.b[16]
ConnectionType.i
TunnelType.i
Dhcpv6Server.SOCKET_ADDRESS
Dhcpv6ClientDuid.b[#MAX_DHCPV6_DUID_LENGTH]
Dhcpv6ClientDuidLength.i
Dhcpv6Iaid.i
*FirstDnsSuffix.IP_ADAPTER_DNS_SUFFIX
EndStructure
The world and human nature was screwed up before I was born. It's not my fault and I'm just stuck with trying to deal with the mess left behind, so don't blame me.
Post Reply