/* * ipxrtdef.h IPX router definitions * * ========================================================================= * * Open Watcom Project * * Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved. * * This file is automatically generated. Do not edit directly. * * ========================================================================= */ #ifndef _IPXRTDEF_ #define _IPXRTDEF_ #ifndef _ENABLE_AUTODEPEND #pragma read_only_file; #endif #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /* IPX router version number */ #define IPX_ROUTER_VERSION_1 RTR_INFO_BLOCK_VERSION /* IPX protocols */ #define IPX_PROTOCOL_LOCAL 1 #define IPX_PROTOCOL_STATIC 2 /* Interface types */ #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 /* IPX information types */ #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 /* IPX routing table hash sizes */ #define IPX_SMALL_ROUTING_TABLE_HASH_SIZE 31 #define IPX_MEDIUM_ROUTING_TABLE_HASH_SIZE 257 #define IPX_LARGE_ROUTING_TABLE_HASH_SIZE 2047 /* IPX device types */ #define IPX_DEDICATED_LINK 1 #define IPX_DIALED_LINK 2 /* Maximum LAN adapter name length */ #define MAX_ADAPTER_NAME_LEN 48 /* Packet type special value */ #define AUTO_DETECT_PACKET_TYPE 0xFFFFFFFFL /* IPX table identifiers */ #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 /* Maximum IPX interface ANSI name length */ #define IPX_INTERFACE_ANSI_NAME_LEN 48 /* IPX global information */ typedef struct _IPX_GLOBAL_INFO { ULONG RoutingTableHashSize; ULONG EventLogMask; } IPX_GLOBAL_INFO; typedef IPX_GLOBAL_INFO *PIPX_GLOBAL_INFO; /* IPX interface information */ typedef struct _IPX_IF_INFO { ULONG AdminState; ULONG NetbiosAccept; ULONG NetbiosDeliver; } IPX_IF_INFO; typedef IPX_IF_INFO *PIPX_IF_INFO; /* IPXWAN interface information */ typedef struct _IPXWAN_IF_INFO { ULONG AdminState; } IPXWAN_IF_INFO; typedef IPXWAN_IF_INFO *PIPXWAN_IF_INFO; /* IPX static route information */ typedef struct _IPX_STATIC_ROUTE_INFO { union { ULONG DwordAlign; UCHAR Network[4]; }; USHORT TickCount; USHORT HopCount; UCHAR NextHopMacAddress[6]; } IPX_STATIC_ROUTE_INFO; typedef IPX_STATIC_ROUTE_INFO *PIPX_STATIC_ROUTE_INFO; /* IPX static service information */ typedef IPX_SERVER_ENTRY IPX_STATIC_SERVICE_INFO; typedef IPX_SERVER_ENTRY *PIPX_STATIC_SERVICE_INFO; /* IPX static Netbios name information */ typedef struct _IPX_STATIC_NETBIOS_NAME_INFO { union { ULONG DwordAlign; UCHAR Name[16]; }; } IPX_STATIC_NETBIOS_NAME_INFO; typedef IPX_STATIC_NETBIOS_NAME_INFO *PIPX_STATIC_NETBIOS_NAME_INFO; /* IPX adapter information */ typedef struct _IPX_ADAPTER_INFO { ULONG PacketType; WCHAR AdapterName[MAX_ADAPTER_NAME_LEN]; } IPX_ADAPTER_INFO; typedef IPX_ADAPTER_INFO *PIPX_ADAPTER_INFO; /* Interface table index */ typedef struct _IF_TABLE_INDEX { ULONG InterfaceIndex; } IF_TABLE_INDEX; typedef IF_TABLE_INDEX *PIF_TABLE_INDEX; /* Routing table index */ typedef struct _ROUTING_TABLE_INDEX { UCHAR Network[4]; } ROUTING_TABLE_INDEX; typedef ROUTING_TABLE_INDEX *PROUTING_TABLE_INDEX; /* Static routes table index */ typedef struct _STATIC_ROUTES_TABLE_INDEX { ULONG InterfaceIndex; UCHAR Network[4]; } STATIC_ROUTES_TABLE_INDEX; typedef STATIC_ROUTES_TABLE_INDEX *PSTATIC_ROUTES_TABLE_INDEX; /* Services table index */ typedef struct _SERVICES_TABLE_INDEX { USHORT ServiceType; UCHAR ServiceName[48]; } SERVICES_TABLE_INDEX; typedef SERVICES_TABLE_INDEX *PSERVICES_TABLE_INDEX; /* Static services table index */ typedef struct _STATIC_SERVICES_TABLE_INDEX { ULONG InterfaceIndex; USHORT ServiceType; UCHAR ServiceName[48]; } STATIC_SERVICES_TABLE_INDEX; typedef STATIC_SERVICES_TABLE_INDEX *PSTATIC_SERVICES_TABLE_INDEX; /* IPX MIB 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; typedef IPX_MIB_INDEX *PIPX_MIB_INDEX; /* IPX MIB base */ 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; typedef IPXMIB_BASE *PIPXMIB_BASE; /* IPX interface statistics */ 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; typedef IPX_IF_STATS *PIPX_IF_STATS; /* IPX interface */ 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; typedef IPX_INTERFACE *PIPX_INTERFACE; /* IPX route */ typedef struct _IPX_ROUTE { ULONG InterfaceIndex; ULONG Protocol; UCHAR Network[4]; USHORT TickCount; USHORT HopCount; UCHAR NextHopMacAddress[6]; ULONG Flags; } IPX_ROUTE; typedef IPX_ROUTE *PIPX_ROUTE; /* IPX MIB row */ typedef union _IPX_MIB_ROW { IPX_INTERFACE Interface; IPX_ROUTE Route; IPX_SERVICE Service; } IPX_MIB_ROW; typedef IPX_MIB_ROW *PIPX_MIB_ROW; /* IPX MIB input data */ typedef struct _IPX_MIB_GET_INPUT_DATA { ULONG TableId; IPX_MIB_INDEX MibIndex; } IPX_MIB_GET_INPUT_DATA; typedef IPX_MIB_GET_INPUT_DATA *PIPX_MIB_GET_INPUT_DATA; typedef struct _IPX_MIB_SET_INPUT_DATA { ULONG TableId; IPX_MIB_ROW MibRow; } IPX_MIB_SET_INPUT_DATA; typedef IPX_MIB_SET_INPUT_DATA *PIPX_MIB_SET_INPUT_DATA; #ifdef __cplusplus } /* extern "C" */ #endif #endif /* _IPXRTDEF_ */