| 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 |