4 #define NtCurrentTeb NtXCurrentTeb
9 #ifdef HAVE_NETINET_IN_H
10 # include <netinet/in.h>
12 #ifdef HAVE_ARPA_INET_H
13 # include <arpa/inet.h>
15 #ifdef HAVE_ARPA_NAMESER_H
16 # include <arpa/nameser.h>
23 #define _WIN32_WINNT 0x500
24 #include <ddk/ntddk.h>
25 #include <rosrtl/string.h>
26 #include <ddk/miniport.h>
33 #include "wine/debug.h"
35 #include "ddk/tdiinfo.h"
43 #define INADDR_NONE (~0U)
46 #ifndef IFENT_SOFTWARE_LOOPBACK
47 #define IFENT_SOFTWARE_LOOPBACK 24 /* This is an SNMP constant from rfc1213 */
48 #endif/*IFENT_SOFTWARE_LOOPBACK*/
50 #define INDEX_IS_LOOPBACK 0x00800000
52 /* Type declarations */
58 #define TCP_REQUEST_QUERY_INFORMATION_INIT { { { 0 } } }
59 #define TCP_REQUEST_SET_INFORMATION_INIT { { 0 } }
61 /* No caddr_t in reactos headers */
62 typedef char *caddr_t
;
64 typedef union _IFEntrySafelySized
{
65 CHAR MaxSize
[sizeof(DWORD
) +
67 MAX_ADAPTER_DESCRIPTION_LENGTH
+ 1];
71 typedef union _TCP_REQUEST_SET_INFORMATION_EX_SAFELY_SIZED
{
72 CHAR MaxSize
[sizeof(TCP_REQUEST_SET_INFORMATION_EX
) - 1 +
73 sizeof(IPRouteEntry
)];
74 TCP_REQUEST_SET_INFORMATION_EX Req
;
75 } TCP_REQUEST_SET_INFORMATION_EX_SAFELY_SIZED
,
76 *PTCP_REQUEST_SET_INFORMATION_EX_SAFELY_SIZED
;
78 /* Encapsulates information about an interface */
79 typedef struct _IFInfo
{
80 TDIEntityID entity_id
;
81 IFEntrySafelySized if_info
;
85 typedef enum _IPHLPAddrType
{
86 IPAAddr
, IPABcast
, IPAMask
, IFMtu
, IFStatus
90 NTSTATUS
openTcpFile(PHANDLE tcpFile
);
91 VOID
closeTcpFile(HANDLE tcpFile
);
92 NTSTATUS
tdiGetEntityIDSet( HANDLE tcpFile
, TDIEntityID
**entitySet
,
94 NTSTATUS
tdiGetSetOfThings( HANDLE tcpFile
, DWORD toiClass
, DWORD toiType
,
95 DWORD toiId
, DWORD teiEntity
, DWORD fixedPart
,
96 DWORD entrySize
, PVOID
*tdiEntitySet
,
98 VOID
tdiFreeThingSet( PVOID things
);
99 NTSTATUS
getNthIpEntity( HANDLE tcpFile
, DWORD index
, TDIEntityID
*ent
);
100 NTSTATUS
tdiGetIpAddrsForIpEntity( HANDLE tcpFile
, TDIEntityID
*ent
,
101 IPAddrEntry
**addrs
, PDWORD numAddrs
);
103 int GetLongestChildKeyName( HANDLE RegHandle
);
104 LONG
OpenChildKeyRead( HANDLE RegHandle
,
106 PHKEY ReturnHandle
);
107 PCHAR
GetNthChildKeyName( HANDLE RegHandle
, DWORD n
);
108 void ConsumeChildKeyName( PCHAR Name
);
109 PCHAR
QueryRegistryValueString( HANDLE RegHandle
, PCHAR ValueName
);
110 void ConsumeRegValueString( PCHAR NameServer
);
113 /* This is here until we switch to version 2.5 of the mingw headers */
114 #if (__W32API_MAJOR_VERSION < 2 || __W32API_MINOR_VERSION < 5)
116 GetComputerNameExA(COMPUTER_NAME_FORMAT
,LPSTR
,LPDWORD
);
121 #define DPRINT(fmt,x...) DbgPrint("%s:%d:%s: " fmt, __FILE__, __LINE__, __FUNCTION__, ## x)
124 #endif/*IPPRIVATE_H*/