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