# include <resolv.h>
#endif
-#undef _WIN32_WINNT
-#define _WIN32_WINNT 0x500
#define WIN32_NO_STATUS
#include <winsock2.h>
#include <ws2tcpip.h>
#include "wine/debug.h"
//#include "ntddndis.h"
-#include "ddk/tdiinfo.h"
+#include "tdiinfo.h"
#include "tcpioctl.h"
+#include "tdilib.h"
+
#ifndef ETH_ALEN
#define ETH_ALEN 6
#endif
#define TCP_REQUEST_QUERY_INFORMATION_INIT { { { 0 } } }
#define TCP_REQUEST_SET_INFORMATION_INIT { { 0 } }
+/* FIXME: ROS headers suck */
+#ifndef GAA_FLAG_SKIP_UNICAST
+#define GAA_FLAG_SKIP_UNICAST 0x0001
+#endif
+
+#ifndef GAA_FLAG_SKIP_FRIENDLY_NAME
+#define GAA_FLAG_SKIP_FRIENDLY_NAME 0x0020
+#endif
+
// As in the mib from RFC 1213
typedef struct _IPRouteEntry {
} IPHLPAddrType;
/** Prototypes **/
-NTSTATUS openTcpFile(PHANDLE tcpFile);
-VOID closeTcpFile(HANDLE tcpFile);
-NTSTATUS tdiGetEntityIDSet( HANDLE tcpFile, TDIEntityID **entitySet,
- PDWORD numEntities );
-NTSTATUS tdiGetSetOfThings( HANDLE tcpFile, DWORD toiClass, DWORD toiType,
- DWORD toiId, DWORD teiEntity, DWORD teiInstance,
- DWORD fixedPart,
- DWORD entrySize, PVOID *tdiEntitySet,
- PDWORD numEntries );
-VOID tdiFreeThingSet( PVOID things );
NTSTATUS getNthIpEntity( HANDLE tcpFile, DWORD index, TDIEntityID *ent );
NTSTATUS tdiGetIpAddrsForIpEntity( HANDLE tcpFile, TDIEntityID *ent,
IPAddrEntry **addrs, PDWORD numAddrs );
-
int GetLongestChildKeyName( HANDLE RegHandle );
LONG OpenChildKeyRead( HANDLE RegHandle,
PWCHAR ChildKeyName,
PWCHAR NameServer,
PVOID Data );
void EnumNameServers( HANDLE RegHandle, PWCHAR Interface, PVOID Data, EnumNameServersFunc cb );
+NTSTATUS getIPAddrEntryForIf(HANDLE tcpFile,
+ char *name,
+ DWORD index,
+ IFInfo *ifInfo);
#include <w32api.h>
/* This is here until we switch to version 2.5 of the mingw headers */