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