| /** |
| * This file has no copyright assigned and is placed in the Public Domain. |
| * This file is part of the mingw-w64 runtime package. |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| */ |
| #ifndef _IPXRTDEF_ |
| #define _IPXRTDEF_ |
| |
| #include <ipxconst.h> |
| #include <ipxsap.h> |
| #include <ipxrip.h> |
| #include <stm.h> |
| #include <ipxtfflt.h> |
| |
| #define IPX_ROUTER_VERSION_1 RTR_INFO_BLOCK_VERSION |
| |
| #define IPX_PROTOCOL_LOCAL 1 |
| #define IPX_PROTOCOL_STATIC 2 |
| |
| #define IF_TYPE_OTHER 1 |
| #define IF_TYPE_LAN 2 |
| #define IF_TYPE_WAN_ROUTER 3 |
| #define IF_TYPE_WAN_WORKSTATION 4 |
| #define IF_TYPE_INTERNAL 5 |
| #define IF_TYPE_PERSONAL_WAN_ROUTER 6 |
| #define IF_TYPE_ROUTER_WORKSTATION_DIALOUT 7 |
| #define IF_TYPE_STANDALONE_WORKSTATION_DIALOUT 8 |
| |
| #define IPX_INTERFACE_INFO_TYPE 1 |
| #define IPX_STATIC_ROUTE_INFO_TYPE 2 |
| #define IPX_STATIC_SERVICE_INFO_TYPE 3 |
| #define IPX_SERVICE_FILTER_INFO_TYPE 4 |
| #define IPX_ROUTE_FILTER_INFO_TYPE 5 |
| #define IPX_IN_TRAFFIC_FILTER_INFO_TYPE 6 |
| #define IPX_ADAPTER_INFO_TYPE 7 |
| #define IPXWAN_INTERFACE_INFO_TYPE 8 |
| #define IPX_GLOBAL_INFO_TYPE 9 |
| #define IPX_STATIC_NETBIOS_NAME_INFO_TYPE 10 |
| #define IPX_IN_TRAFFIC_FILTER_GLOBAL_INFO_TYPE 11 |
| #define IPX_OUT_TRAFFIC_FILTER_INFO_TYPE 12 |
| #define IPX_OUT_TRAFFIC_FILTER_GLOBAL_INFO_TYPE 13 |
| |
| #define IPX_SMALL_ROUTING_TABLE_HASH_SIZE 31 |
| #define IPX_MEDIUM_ROUTING_TABLE_HASH_SIZE 257 |
| #define IPX_LARGE_ROUTING_TABLE_HASH_SIZE 2047 |
| |
| typedef struct _IPX_GLOBAL_INFO { |
| ULONG RoutingTableHashSize; |
| ULONG EventLogMask; |
| } IPX_GLOBAL_INFO,*PIPX_GLOBAL_INFO; |
| |
| typedef struct _IPX_IF_INFO { |
| ULONG AdminState; |
| ULONG NetbiosAccept; |
| ULONG NetbiosDeliver; |
| } IPX_IF_INFO,*PIPX_IF_INFO; |
| |
| #define IPX_DEDICATED_LINK 1 |
| #define IPX_DIALED_LINK 2 |
| |
| typedef struct _IPXWAN_IF_INFO { |
| ULONG AdminState; |
| } IPXWAN_IF_INFO,*PIPXWAN_IF_INFO; |
| |
| typedef struct _IPX_STATIC_ROUTE_INFO { |
| __C89_NAMELESS union { |
| ULONG DwordAlign; |
| UCHAR Network[4]; |
| }; |
| USHORT TickCount; |
| USHORT HopCount; |
| UCHAR NextHopMacAddress[6]; |
| } IPX_STATIC_ROUTE_INFO,*PIPX_STATIC_ROUTE_INFO; |
| |
| typedef IPX_SERVER_ENTRY IPX_STATIC_SERVICE_INFO,*PIPX_STATIC_SERVICE_INFO; |
| |
| typedef struct _IPX_STATIC_NETBIOS_NAME_INFO { |
| __C89_NAMELESS union { |
| ULONG DwordAlign; |
| UCHAR Name[16]; |
| }; |
| } IPX_STATIC_NETBIOS_NAME_INFO,*PIPX_STATIC_NETBIOS_NAME_INFO; |
| |
| #define MAX_ADAPTER_NAME_LEN 48 |
| |
| typedef struct _IPX_ADAPTER_INFO { |
| ULONG PacketType; |
| WCHAR AdapterName[MAX_ADAPTER_NAME_LEN]; |
| } IPX_ADAPTER_INFO,*PIPX_ADAPTER_INFO; |
| |
| #define AUTO_DETECT_PACKET_TYPE 0xFFFFFFFF |
| |
| #define IPX_BASE_ENTRY 0 |
| #define IPX_INTERFACE_TABLE 1 |
| #define IPX_DEST_TABLE 2 |
| #define IPX_STATIC_ROUTE_TABLE 3 |
| #define IPX_SERV_TABLE 4 |
| #define IPX_STATIC_SERV_TABLE 5 |
| |
| #define MAX_IPX_MIB_TABLES 6 |
| |
| #define IPX_INTERFACE_ANSI_NAME_LEN 48 |
| |
| typedef struct _IF_TABLE_INDEX { |
| ULONG InterfaceIndex; |
| } IF_TABLE_INDEX,*PIF_TABLE_INDEX; |
| |
| typedef struct _ROUTING_TABLE_INDEX { |
| UCHAR Network[4]; |
| } ROUTING_TABLE_INDEX,*PROUTING_TABLE_INDEX; |
| |
| typedef struct _STATIC_ROUTES_TABLE_INDEX { |
| ULONG InterfaceIndex; |
| UCHAR Network[4]; |
| } STATIC_ROUTES_TABLE_INDEX,*PSTATIC_ROUTES_TABLE_INDEX; |
| |
| typedef struct _SERVICES_TABLE_INDEX { |
| USHORT ServiceType; |
| UCHAR ServiceName[48]; |
| } SERVICES_TABLE_INDEX,*PSERVICES_TABLE_INDEX; |
| |
| typedef struct _STATIC_SERVICES_TABLE_INDEX { |
| ULONG InterfaceIndex; |
| USHORT ServiceType; |
| UCHAR ServiceName[48]; |
| } STATIC_SERVICES_TABLE_INDEX,*PSTATIC_SERVICES_TABLE_INDEX; |
| |
| typedef union _IPX_MIB_INDEX { |
| IF_TABLE_INDEX InterfaceTableIndex; |
| ROUTING_TABLE_INDEX RoutingTableIndex; |
| STATIC_ROUTES_TABLE_INDEX StaticRoutesTableIndex; |
| SERVICES_TABLE_INDEX ServicesTableIndex; |
| STATIC_SERVICES_TABLE_INDEX StaticServicesTableIndex; |
| } IPX_MIB_INDEX,*PIPX_MIB_INDEX; |
| |
| typedef struct _IPX_MIB_GET_INPUT_DATA { |
| ULONG TableId; |
| IPX_MIB_INDEX MibIndex; |
| } IPX_MIB_GET_INPUT_DATA,*PIPX_MIB_GET_INPUT_DATA; |
| |
| typedef struct _IPXMIB_BASE { |
| ULONG OperState; |
| UCHAR PrimaryNetNumber[4]; |
| UCHAR Node[6]; |
| UCHAR SysName[IPX_INTERFACE_ANSI_NAME_LEN]; |
| ULONG MaxPathSplits; |
| ULONG IfCount; |
| ULONG DestCount; |
| ULONG ServCount; |
| } IPXMIB_BASE,*PIPXMIB_BASE; |
| |
| typedef struct _IPX_IF_STATS { |
| ULONG IfOperState; |
| ULONG MaxPacketSize; |
| ULONG InHdrErrors; |
| ULONG InFiltered; |
| ULONG InNoRoutes; |
| ULONG InDiscards; |
| ULONG InDelivers; |
| ULONG OutFiltered; |
| ULONG OutDiscards; |
| ULONG OutDelivers; |
| ULONG NetbiosReceived; |
| ULONG NetbiosSent; |
| } IPX_IF_STATS,*PIPX_IF_STATS; |
| |
| typedef struct _IPX_INTERFACE { |
| ULONG InterfaceIndex; |
| ULONG AdminState; |
| ULONG AdapterIndex; |
| UCHAR InterfaceName[IPX_INTERFACE_ANSI_NAME_LEN]; |
| ULONG InterfaceType; |
| ULONG MediaType; |
| UCHAR NetNumber[4]; |
| UCHAR MacAddress[6]; |
| ULONG Delay; |
| ULONG Throughput; |
| ULONG NetbiosAccept; |
| ULONG NetbiosDeliver; |
| ULONG EnableIpxWanNegotiation; |
| IPX_IF_STATS IfStats; |
| } IPX_INTERFACE,*PIPX_INTERFACE; |
| |
| typedef struct _IPX_ROUTE { |
| ULONG InterfaceIndex; |
| ULONG Protocol; |
| UCHAR Network[4]; |
| USHORT TickCount; |
| USHORT HopCount; |
| UCHAR NextHopMacAddress[6]; |
| ULONG Flags; |
| } IPX_ROUTE,*PIPX_ROUTE; |
| |
| typedef union _IPX_MIB_ROW { |
| IPX_INTERFACE Interface; |
| IPX_ROUTE Route; |
| IPX_SERVICE Service; |
| } IPX_MIB_ROW,*PIPX_MIB_ROW; |
| |
| typedef struct _IPX_MIB_SET_INPUT_DATA { |
| ULONG TableId; |
| IPX_MIB_ROW MibRow; |
| } IPX_MIB_SET_INPUT_DATA,*PIPX_MIB_SET_INPUT_DATA; |
| #endif |