| 1 |
/** |
| 2 |
* This file has no copyright assigned and is placed in the Public Domain. |
| 3 |
* This file is part of the mingw-w64 runtime package. |
| 4 |
* No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| 5 |
*/ |
| 6 |
#ifndef _IPXRTDEF_ |
| 7 |
#define _IPXRTDEF_ |
| 8 |
|
| 9 |
#include <ipxconst.h> |
| 10 |
#include <ipxsap.h> |
| 11 |
#include <ipxrip.h> |
| 12 |
#include <stm.h> |
| 13 |
#include <ipxtfflt.h> |
| 14 |
|
| 15 |
#define IPX_ROUTER_VERSION_1 RTR_INFO_BLOCK_VERSION |
| 16 |
|
| 17 |
#define IPX_PROTOCOL_LOCAL 1 |
| 18 |
#define IPX_PROTOCOL_STATIC 2 |
| 19 |
|
| 20 |
#define IF_TYPE_OTHER 1 |
| 21 |
#define IF_TYPE_LAN 2 |
| 22 |
#define IF_TYPE_WAN_ROUTER 3 |
| 23 |
#define IF_TYPE_WAN_WORKSTATION 4 |
| 24 |
#define IF_TYPE_INTERNAL 5 |
| 25 |
#define IF_TYPE_PERSONAL_WAN_ROUTER 6 |
| 26 |
#define IF_TYPE_ROUTER_WORKSTATION_DIALOUT 7 |
| 27 |
#define IF_TYPE_STANDALONE_WORKSTATION_DIALOUT 8 |
| 28 |
|
| 29 |
#define IPX_INTERFACE_INFO_TYPE 1 |
| 30 |
#define IPX_STATIC_ROUTE_INFO_TYPE 2 |
| 31 |
#define IPX_STATIC_SERVICE_INFO_TYPE 3 |
| 32 |
#define IPX_SERVICE_FILTER_INFO_TYPE 4 |
| 33 |
#define IPX_ROUTE_FILTER_INFO_TYPE 5 |
| 34 |
#define IPX_IN_TRAFFIC_FILTER_INFO_TYPE 6 |
| 35 |
#define IPX_ADAPTER_INFO_TYPE 7 |
| 36 |
#define IPXWAN_INTERFACE_INFO_TYPE 8 |
| 37 |
#define IPX_GLOBAL_INFO_TYPE 9 |
| 38 |
#define IPX_STATIC_NETBIOS_NAME_INFO_TYPE 10 |
| 39 |
#define IPX_IN_TRAFFIC_FILTER_GLOBAL_INFO_TYPE 11 |
| 40 |
#define IPX_OUT_TRAFFIC_FILTER_INFO_TYPE 12 |
| 41 |
#define IPX_OUT_TRAFFIC_FILTER_GLOBAL_INFO_TYPE 13 |
| 42 |
|
| 43 |
#define IPX_SMALL_ROUTING_TABLE_HASH_SIZE 31 |
| 44 |
#define IPX_MEDIUM_ROUTING_TABLE_HASH_SIZE 257 |
| 45 |
#define IPX_LARGE_ROUTING_TABLE_HASH_SIZE 2047 |
| 46 |
|
| 47 |
typedef struct _IPX_GLOBAL_INFO { |
| 48 |
ULONG RoutingTableHashSize; |
| 49 |
ULONG EventLogMask; |
| 50 |
} IPX_GLOBAL_INFO,*PIPX_GLOBAL_INFO; |
| 51 |
|
| 52 |
typedef struct _IPX_IF_INFO { |
| 53 |
ULONG AdminState; |
| 54 |
ULONG NetbiosAccept; |
| 55 |
ULONG NetbiosDeliver; |
| 56 |
} IPX_IF_INFO,*PIPX_IF_INFO; |
| 57 |
|
| 58 |
#define IPX_DEDICATED_LINK 1 |
| 59 |
#define IPX_DIALED_LINK 2 |
| 60 |
|
| 61 |
typedef struct _IPXWAN_IF_INFO { |
| 62 |
ULONG AdminState; |
| 63 |
} IPXWAN_IF_INFO,*PIPXWAN_IF_INFO; |
| 64 |
|
| 65 |
typedef struct _IPX_STATIC_ROUTE_INFO { |
| 66 |
__C89_NAMELESS union { |
| 67 |
ULONG DwordAlign; |
| 68 |
UCHAR Network[4]; |
| 69 |
}; |
| 70 |
USHORT TickCount; |
| 71 |
USHORT HopCount; |
| 72 |
UCHAR NextHopMacAddress[6]; |
| 73 |
} IPX_STATIC_ROUTE_INFO,*PIPX_STATIC_ROUTE_INFO; |
| 74 |
|
| 75 |
typedef IPX_SERVER_ENTRY IPX_STATIC_SERVICE_INFO,*PIPX_STATIC_SERVICE_INFO; |
| 76 |
|
| 77 |
typedef struct _IPX_STATIC_NETBIOS_NAME_INFO { |
| 78 |
__C89_NAMELESS union { |
| 79 |
ULONG DwordAlign; |
| 80 |
UCHAR Name[16]; |
| 81 |
}; |
| 82 |
} IPX_STATIC_NETBIOS_NAME_INFO,*PIPX_STATIC_NETBIOS_NAME_INFO; |
| 83 |
|
| 84 |
#define MAX_ADAPTER_NAME_LEN 48 |
| 85 |
|
| 86 |
typedef struct _IPX_ADAPTER_INFO { |
| 87 |
ULONG PacketType; |
| 88 |
WCHAR AdapterName[MAX_ADAPTER_NAME_LEN]; |
| 89 |
} IPX_ADAPTER_INFO,*PIPX_ADAPTER_INFO; |
| 90 |
|
| 91 |
#define AUTO_DETECT_PACKET_TYPE 0xFFFFFFFF |
| 92 |
|
| 93 |
#define IPX_BASE_ENTRY 0 |
| 94 |
#define IPX_INTERFACE_TABLE 1 |
| 95 |
#define IPX_DEST_TABLE 2 |
| 96 |
#define IPX_STATIC_ROUTE_TABLE 3 |
| 97 |
#define IPX_SERV_TABLE 4 |
| 98 |
#define IPX_STATIC_SERV_TABLE 5 |
| 99 |
|
| 100 |
#define MAX_IPX_MIB_TABLES 6 |
| 101 |
|
| 102 |
#define IPX_INTERFACE_ANSI_NAME_LEN 48 |
| 103 |
|
| 104 |
typedef struct _IF_TABLE_INDEX { |
| 105 |
ULONG InterfaceIndex; |
| 106 |
} IF_TABLE_INDEX,*PIF_TABLE_INDEX; |
| 107 |
|
| 108 |
typedef struct _ROUTING_TABLE_INDEX { |
| 109 |
UCHAR Network[4]; |
| 110 |
} ROUTING_TABLE_INDEX,*PROUTING_TABLE_INDEX; |
| 111 |
|
| 112 |
typedef struct _STATIC_ROUTES_TABLE_INDEX { |
| 113 |
ULONG InterfaceIndex; |
| 114 |
UCHAR Network[4]; |
| 115 |
} STATIC_ROUTES_TABLE_INDEX,*PSTATIC_ROUTES_TABLE_INDEX; |
| 116 |
|
| 117 |
typedef struct _SERVICES_TABLE_INDEX { |
| 118 |
USHORT ServiceType; |
| 119 |
UCHAR ServiceName[48]; |
| 120 |
} SERVICES_TABLE_INDEX,*PSERVICES_TABLE_INDEX; |
| 121 |
|
| 122 |
typedef struct _STATIC_SERVICES_TABLE_INDEX { |
| 123 |
ULONG InterfaceIndex; |
| 124 |
USHORT ServiceType; |
| 125 |
UCHAR ServiceName[48]; |
| 126 |
} STATIC_SERVICES_TABLE_INDEX,*PSTATIC_SERVICES_TABLE_INDEX; |
| 127 |
|
| 128 |
typedef union _IPX_MIB_INDEX { |
| 129 |
IF_TABLE_INDEX InterfaceTableIndex; |
| 130 |
ROUTING_TABLE_INDEX RoutingTableIndex; |
| 131 |
STATIC_ROUTES_TABLE_INDEX StaticRoutesTableIndex; |
| 132 |
SERVICES_TABLE_INDEX ServicesTableIndex; |
| 133 |
STATIC_SERVICES_TABLE_INDEX StaticServicesTableIndex; |
| 134 |
} IPX_MIB_INDEX,*PIPX_MIB_INDEX; |
| 135 |
|
| 136 |
typedef struct _IPX_MIB_GET_INPUT_DATA { |
| 137 |
ULONG TableId; |
| 138 |
IPX_MIB_INDEX MibIndex; |
| 139 |
} IPX_MIB_GET_INPUT_DATA,*PIPX_MIB_GET_INPUT_DATA; |
| 140 |
|
| 141 |
typedef struct _IPXMIB_BASE { |
| 142 |
ULONG OperState; |
| 143 |
UCHAR PrimaryNetNumber[4]; |
| 144 |
UCHAR Node[6]; |
| 145 |
UCHAR SysName[IPX_INTERFACE_ANSI_NAME_LEN]; |
| 146 |
ULONG MaxPathSplits; |
| 147 |
ULONG IfCount; |
| 148 |
ULONG DestCount; |
| 149 |
ULONG ServCount; |
| 150 |
} IPXMIB_BASE,*PIPXMIB_BASE; |
| 151 |
|
| 152 |
typedef struct _IPX_IF_STATS { |
| 153 |
ULONG IfOperState; |
| 154 |
ULONG MaxPacketSize; |
| 155 |
ULONG InHdrErrors; |
| 156 |
ULONG InFiltered; |
| 157 |
ULONG InNoRoutes; |
| 158 |
ULONG InDiscards; |
| 159 |
ULONG InDelivers; |
| 160 |
ULONG OutFiltered; |
| 161 |
ULONG OutDiscards; |
| 162 |
ULONG OutDelivers; |
| 163 |
ULONG NetbiosReceived; |
| 164 |
ULONG NetbiosSent; |
| 165 |
} IPX_IF_STATS,*PIPX_IF_STATS; |
| 166 |
|
| 167 |
typedef struct _IPX_INTERFACE { |
| 168 |
ULONG InterfaceIndex; |
| 169 |
ULONG AdminState; |
| 170 |
ULONG AdapterIndex; |
| 171 |
UCHAR InterfaceName[IPX_INTERFACE_ANSI_NAME_LEN]; |
| 172 |
ULONG InterfaceType; |
| 173 |
ULONG MediaType; |
| 174 |
UCHAR NetNumber[4]; |
| 175 |
UCHAR MacAddress[6]; |
| 176 |
ULONG Delay; |
| 177 |
ULONG Throughput; |
| 178 |
ULONG NetbiosAccept; |
| 179 |
ULONG NetbiosDeliver; |
| 180 |
ULONG EnableIpxWanNegotiation; |
| 181 |
IPX_IF_STATS IfStats; |
| 182 |
} IPX_INTERFACE,*PIPX_INTERFACE; |
| 183 |
|
| 184 |
typedef struct _IPX_ROUTE { |
| 185 |
ULONG InterfaceIndex; |
| 186 |
ULONG Protocol; |
| 187 |
UCHAR Network[4]; |
| 188 |
USHORT TickCount; |
| 189 |
USHORT HopCount; |
| 190 |
UCHAR NextHopMacAddress[6]; |
| 191 |
ULONG Flags; |
| 192 |
} IPX_ROUTE,*PIPX_ROUTE; |
| 193 |
|
| 194 |
typedef union _IPX_MIB_ROW { |
| 195 |
IPX_INTERFACE Interface; |
| 196 |
IPX_ROUTE Route; |
| 197 |
IPX_SERVICE Service; |
| 198 |
} IPX_MIB_ROW,*PIPX_MIB_ROW; |
| 199 |
|
| 200 |
typedef struct _IPX_MIB_SET_INPUT_DATA { |
| 201 |
ULONG TableId; |
| 202 |
IPX_MIB_ROW MibRow; |
| 203 |
} IPX_MIB_SET_INPUT_DATA,*PIPX_MIB_SET_INPUT_DATA; |
| 204 |
#endif |