4#define NtCurrentTeb NtXCurrentTeb
9#ifdef HAVE_NETINET_IN_H
10# include <netinet/in.h>
12#ifdef HAVE_ARPA_INET_H
15#ifdef HAVE_ARPA_NAMESER_H
16# include <arpa/nameser.h>
22#define WIN32_NO_STATUS
24#define COM_NO_WINDOWS_H
57#define INADDR_NONE (~0U)
60#ifndef IFENT_SOFTWARE_LOOPBACK
61#define IFENT_SOFTWARE_LOOPBACK 24
64#define INDEX_IS_LOOPBACK 0x00800000
72#define TCP_REQUEST_QUERY_INFORMATION_INIT { { { 0 } } }
73#define TCP_REQUEST_SET_INFORMATION_INIT { { 0 } }
76#ifndef GAA_FLAG_SKIP_UNICAST
77#define GAA_FLAG_SKIP_UNICAST 0x0001
80#ifndef GAA_FLAG_SKIP_FRIENDLY_NAME
81#define GAA_FLAG_SKIP_FRIENDLY_NAME 0x0020
150 PHKEY ReturnHandle );
171#if (__W32API_MAJOR_VERSION < 2 || __W32API_MINOR_VERSION < 5)
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
#define MAX_ADAPTER_DESCRIPTION_LENGTH
PWCHAR QueryRegistryValueString(HANDLE RegHandle, PWCHAR ValueName)
struct _IPRouteEntry IPRouteEntry
union _TCP_REQUEST_SET_INFORMATION_EX_ARP_ENTRY TCP_REQUEST_SET_INFORMATION_EX_ARP_ENTRY
enum _IPHLPAddrType IPHLPAddrType
LONG OpenChildKeyRead(HANDLE RegHandle, PWCHAR ChildKeyName, PHKEY ReturnHandle)
struct _IP_SET_DATA * PIP_SET_DATA
union _IFEntrySafelySized IFEntrySafelySized
int GetLongestChildKeyName(HANDLE RegHandle)
VOID(* EnumNameServersFunc)(PWCHAR Interface, PWCHAR NameServer, PVOID Data)
BOOL WINAPI GetComputerNameExA(COMPUTER_NAME_FORMAT, LPSTR, LPDWORD)
void ConsumeRegValueString(PWCHAR NameServer)
union _TCP_REQUEST_SET_INFORMATION_EX_ROUTE_ENTRY * PTCP_REQUEST_SET_INFORMATION_EX_ROUTE_ENTRY
LSTATUS EnumNameServers(HKEY RegHandle, LPWSTR Interface, PVOID Data, EnumNameServersFunc cb)
void ConsumeChildKeyName(PWCHAR Name)
PWCHAR * QueryRegistryValueStringMulti(HANDLE RegHandle, PWCHAR ValueName)
BOOL hasArp(HANDLE tcpFile, TDIEntityID *arp_maybe)
DWORD TCPSendIoctl(HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, PULONG pInBufferSize, LPVOID lpOutBuffer, PULONG pOutBufferSize)
NTSTATUS tdiGetIpAddrsForIpEntity(HANDLE tcpFile, TDIEntityID *ent, IPAddrEntry **addrs, PDWORD numAddrs)
NTSTATUS getNthIpEntity(HANDLE tcpFile, DWORD index, TDIEntityID *ent)
BOOL isInterface(TDIEntityID *if_maybe)
struct _IP_SET_DATA IP_SET_DATA
PWCHAR GetNthChildKeyName(HANDLE RegHandle, DWORD n)
NTSTATUS getIPAddrEntryForIf(HANDLE tcpFile, char *name, DWORD index, IFInfo *ifInfo)
union _TCP_REQUEST_SET_INFORMATION_EX_ROUTE_ENTRY TCP_REQUEST_SET_INFORMATION_EX_ROUTE_ENTRY
union _TCP_REQUEST_SET_INFORMATION_EX_ARP_ENTRY * PTCP_REQUEST_SET_INFORMATION_EX_ARP_ENTRY
static HMODULE MODULEINFO DWORD cb
IFEntrySafelySized if_info
struct _TCP_REQUEST_SET_INFORMATION_EX TCP_REQUEST_SET_INFORMATION_EX
CHAR MaxSize[sizeof(DWORD)+sizeof(IFEntry)+MAX_ADAPTER_DESCRIPTION_LENGTH+1]
CHAR MaxSize[sizeof(TCP_REQUEST_SET_INFORMATION_EX) - 1+sizeof(MIB_IPNETROW)]
TCP_REQUEST_SET_INFORMATION_EX Req
CHAR MaxSize[sizeof(TCP_REQUEST_SET_INFORMATION_EX) - 1+sizeof(IPRouteEntry)]
TCP_REQUEST_SET_INFORMATION_EX Req
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE Interface
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING ValueName
_In_ DWORD dwIoControlCode
_In_opt_ PETWENABLECALLBACK _In_opt_ PVOID _Out_ PREGHANDLE RegHandle