source: trunk/include/win/iprtrmib.h@ 21413

Last change on this file since 21413 was 21413, checked in by dmik, 15 years ago

iprtrmib.h: Use the proper time_t definition on GCC/EMX.

File size: 3.7 KB
Line 
1/* IPRTRMIB.H */
2
3#ifndef IP_RTR_MIB_H
4#define IP_RTR_MIB_H
5
6#pragma pack(1)
7
8#ifdef __EMX__
9#if !defined(_TIME_T_DECLARED) && !defined(_TIME_T)
10typedef __time_t time_t;
11#define _TIME_T_DECLARED
12#define _TIME_T
13#endif
14#else
15#ifndef _TIME_T_DEFINED
16#define _TIME_T_DEFINED
17typedef long time_t;
18#endif
19#endif
20
21#define MIB_IF_TYPE_OTHER 1
22#define MIB_IF_TYPE_ETHERNET 6
23#define MIB_IF_TYPE_TOKENRING 9
24#define MIB_IF_TYPE_FDDI 15
25#define MIB_IF_TYPE_PPP 23
26#define MIB_IF_TYPE_LOOPBACK 24
27#define MIB_IF_TYPE_SLIP 28
28
29#define MIB_IF_ADMIN_STATUS_UP 1
30#define MIB_IF_ADMIN_STATUS_DOWN 2
31#define MIB_IF_ADMIN_STATUS_TESTING 3
32
33#define MIB_IF_OPER_STATUS_NON_OPERATIONAL 0
34#define MIB_IF_OPER_STATUS_UNREACHABLE 1
35#define MIB_IF_OPER_STATUS_DISCONNECTED 2
36#define MIB_IF_OPER_STATUS_CONNECTING 3
37#define MIB_IF_OPER_STATUS_CONNECTED 4
38#define MIB_IF_OPER_STATUS_OPERATIONAL 5
39
40#define MAX_ADAPTER_DESCRIPTION_LENGTH 128 // arb.
41#define MAX_ADAPTER_NAME_LENGTH 256 // arb.
42#define MAX_ADAPTER_ADDRESS_LENGTH 8 // arb.
43#define DEFAULT_MINIMUM_ENTITIES 32 // arb.
44#define MAX_HOSTNAME_LEN 128 // arb.
45#define MAX_DOMAIN_NAME_LEN 128 // arb.
46#define MAX_SCOPE_ID_LEN 256 // arb.
47
48typedef struct {
49 char String[4 * 4];
50} IP_ADDRESS_STRING, *PIP_ADDRESS_STRING, IP_MASK_STRING, *PIP_MASK_STRING;
51
52
53typedef struct _IP_ADDR_STRING {
54 struct _IP_ADDR_STRING* Next;
55 IP_ADDRESS_STRING IpAddress;
56 IP_MASK_STRING IpMask;
57 DWORD Context;
58} IP_ADDR_STRING, *PIP_ADDR_STRING;
59
60
61typedef struct _IP_ADAPTER_INFO {
62 struct _IP_ADAPTER_INFO* Next;
63 DWORD ComboIndex;
64 char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4];
65 char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4];
66 UINT AddressLength;
67 BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
68 DWORD Index;
69 UINT Type;
70 UINT DhcpEnabled;
71 PIP_ADDR_STRING CurrentIpAddress;
72 IP_ADDR_STRING IpAddressList;
73 IP_ADDR_STRING GatewayList;
74 IP_ADDR_STRING DhcpServer;
75 BOOL HaveWins;
76 IP_ADDR_STRING PrimaryWinsServer;
77 IP_ADDR_STRING SecondaryWinsServer;
78 time_t LeaseObtained;
79 time_t LeaseExpires;
80} IP_ADAPTER_INFO, *PIP_ADAPTER_INFO;
81
82
83typedef struct {
84 char HostName[MAX_HOSTNAME_LEN + 4] ;
85 char DomainName[MAX_DOMAIN_NAME_LEN + 4];
86 PIP_ADDR_STRING CurrentDnsServer;
87 IP_ADDR_STRING DnsServerList;
88 UINT NodeType;
89 char ScopeId[MAX_SCOPE_ID_LEN + 4];
90 UINT EnableRouting;
91 UINT EnableProxy;
92 UINT EnableDns;
93} FIXED_INFO, *PFIXED_INFO;
94
95
96#define ANY_SIZE 1
97#define MAXLEN_IFDESCR 256
98#define MAXLEN_PHYSADDR 8
99#define MAX_INTERFACE_NAME_LEN 256
100
101typedef struct _MIB_IPADDRROW {
102 DWORD dwAddr;
103 DWORD dwIndex;
104 DWORD dwMask;
105 DWORD dwBCastAddr;
106 DWORD dwReasmSize;
107 unsigned short unused1;
108 unsigned short unused2;
109} MIB_IPADDRROW, *PMIB_IPADDRROW;
110
111typedef struct _MIB_IFROW {
112 WCHAR wszName[MAX_INTERFACE_NAME_LEN];
113 DWORD dwIndex;
114 DWORD dwType;
115 DWORD dwMtu;
116 DWORD dwSpeed;
117 DWORD dwPhysAddrLen;
118 BYTE bPhysAddr[MAXLEN_PHYSADDR];
119 DWORD dwAdminStatus;
120 DWORD dwOperStatus;
121 DWORD dwLastChange;
122 DWORD dwInOctets;
123 DWORD dwInUcastPkts;
124 DWORD dwInNUcastPkts;
125 DWORD dwInDiscards;
126 DWORD dwInErrors;
127 DWORD dwInUnknownProtos;
128 DWORD dwOutOctets;
129 DWORD dwOutUcastPkts;
130 DWORD dwOutNUcastPkts;
131 DWORD dwOutDiscards;
132 DWORD dwOutErrors;
133 DWORD dwOutQLen;
134 DWORD dwDescrLen;
135 BYTE bDescr[MAXLEN_IFDESCR];
136} MIB_IFROW, *PMIB_IFROW;
137
138typedef struct _MIB_IFTABLE {
139 DWORD dwNumEntries;
140 MIB_IFROW table[ANY_SIZE];
141} MIB_IFTABLE, *PMIB_IFTABLE;
142
143
144typedef struct _MIB_IPADDRTABLE {
145 DWORD dwNumEntries;
146 MIB_IPADDRROW table[ANY_SIZE];
147} MIB_IPADDRTABLE, *PMIB_IPADDRTABLE;
148
149#pragma pack()
150
151#endif /* IP_RTR_MIB_H */
Note: See TracBrowser for help on using the repository browser.