[1166] | 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
|
---|