254 lines
9.7 KiB
Plaintext
254 lines
9.7 KiB
Plaintext
/*
|
|
** Template for version resources. Place this in your .rc file,
|
|
** editing the values for VER_FILETYPE, VER_FILESUBTYPE,
|
|
** VER_FILEDESCRIPTION_STR and VER_INTERNALNAME_STR as needed.
|
|
** See winver.h for possible values.
|
|
**
|
|
** Ntverp.h defines several global values that don't need to be
|
|
** changed except for official releases such as betas, sdk updates, etc.
|
|
**
|
|
** Common.ver has the actual version resource structure that all these
|
|
** #defines eventually initialize.
|
|
*/
|
|
|
|
#include "strdefs.h"
|
|
|
|
STRINGTABLE
|
|
{
|
|
TOKEN_ROUTE, "ROUTE"
|
|
TOKEN_ADDRESS, "ADDRESS"
|
|
TOKEN_INTERFACE, "IF"
|
|
TOKEN_ARP, "ARP"
|
|
TOKEN_IFINFO, "IFINFO"
|
|
|
|
|
|
TOKEN_ADD, "ADD"
|
|
TOKEN_DELETE, "DELETE"
|
|
TOKEN_PRINT, "PRINT"
|
|
TOKEN_MATCH, "MATCH"
|
|
TOKEN_FLUSH, "FLUSH"
|
|
TOKEN_ENABLE, "ENABLE"
|
|
|
|
TOKEN_MASK, "MASK"
|
|
TOKEN_METRIC, "METRIC"
|
|
TOKEN_SRC, "SRC"
|
|
|
|
TOKEN_STATS, "STATS"
|
|
TOKEN_INFO, "INFO"
|
|
TOKEN_NAME, "NAME"
|
|
TOKEN_GUID, "GUID"
|
|
|
|
MSG_RTTABLE_HDR, "\n\
|
|
\nDestination\tMask\t\tNext Hop\tInterface\tMetric\tProtocol\
|
|
\n-------------------------------------------------------------------------------\n"
|
|
|
|
MSG_ADDRTABLE_HDR, "\n\
|
|
\nAddress\t\tMask\t\tBroadcast Address\tI/f\tReassembly Size\
|
|
\n-----------------------------------------------------------------------\n"
|
|
|
|
MSG_ARPTABLE_HDR, "\n\
|
|
\nIP Address\t\tPhysical Address\tInterface Index\tType\
|
|
\n-----------------------------------------------------------------------\n"
|
|
|
|
MSG_IF_INFO, "\n\
|
|
Interface information for %1!s!\n\
|
|
Index: %2!d!\n\
|
|
Type: %3!s!\n\
|
|
MTU: %4!u!\n\
|
|
Speed: %5!u!\n\
|
|
Physical Address: %6!s!\n\
|
|
Admin Status: %7!s!\n\
|
|
Operational Status: %8!s!\n\
|
|
Last Change: %9!u!\n\
|
|
In Octets: %10!u!\n\
|
|
In Unicast Packets: %11!u!\n\
|
|
In Non-unicast Packets: %12!u!\n\
|
|
In Packets Discarded: %13!u!\n\
|
|
In Erroneous Packets: %14!u!\n\
|
|
In Unknown Protocol Packets: %15!u!\n\
|
|
Out Octets: %16!u!\n\
|
|
Out Unicast Packets: %17!u!\n\
|
|
Out Non-unicast Packets: %18!u!\n\
|
|
Out Packets Discarded: %19!u!\n\
|
|
Out Erroneous Packets: %20!u!\n\
|
|
Output Queue Length: %21!u!\n\
|
|
Description: %22!s!\n\n"
|
|
|
|
HMSG_IPKERN_USAGE, "\n\
|
|
\nipkern {ROUTE|ADDRESS|IF|ARP|IFINFO} <parameters>\n\n"
|
|
|
|
HMSG_ROUTE_USAGE, "\n\
|
|
\nipkern ROUTE {ADD|DELETE|PRINT|MATCH} <parameters>\n\n"
|
|
|
|
HMSG_ROUTE_ADD_USAGE, "\n\
|
|
\nipkern ROUTE ADD <dest> MASK <mask> <nhop> [IF <ifIndex>] [METRIC <metric>]\
|
|
\nwhere:\
|
|
\n\tdest - Destination IP Address in dotted decimal format\
|
|
\n\tmask - Mask for the route\
|
|
\n\tnhop - Next hop to associate with the route. For non point to point\
|
|
\n\t\tinterfaces, the next hop address must lie on the same network\
|
|
\n\t\tas the interface on which the route is being added (if an \
|
|
\n\t\tinterface is specified), i.e, there must be some address, mask\
|
|
\n\t\tpair configured on the interface such that \
|
|
\n\t\t\(tifAddr & ifMask) == (nhop & ifMask)\
|
|
\n\tifIndex - the index of the interface on which to add the route\
|
|
\n\tmetric - the metric to associate with the route\
|
|
\n\nifIndex and metric are OPTIONAL\n\n"
|
|
|
|
HMSG_ROUTE_DELETE_USAGE, "\n\
|
|
\nipkern ROUTE DELETE <dest> [MASK <mask>] [<nhop>] [IF <ifIndex>]\
|
|
\nwhere:\
|
|
\n\tdest - Destination IP Address in dotted decimal format\
|
|
\n\tmask - Mask of the route\
|
|
\n\tnhop - Next hop of the route.\
|
|
\n\tifIndex - the index of the interface on which to add the route\
|
|
\n\nmask ifIndex and metric are OPTIONAL if a unique route can \
|
|
\nbe found using only the destination; all three must be specified\
|
|
\nif a unique route can not be found.\n\n"
|
|
|
|
HMSG_ROUTE_MATCH_USAGE, "\n\
|
|
\nipkern ROUTE MATCH <dest> [SRC <srcAddr>]\
|
|
\nwhere:\
|
|
\n\tdest - Destination for which route needs to be found\
|
|
\n\tsrcAddr - OPTIONAL preferred source address\n\n"
|
|
|
|
HMSG_ARP_USAGE, "\n\
|
|
\nipkern ARP {PRINT|FLUSH} <parameters>\n\n"
|
|
|
|
HMSG_ARP_FLUSH_USAGE, "\n\
|
|
\nipkern ARP <ifIndex> \
|
|
\nwhere:\
|
|
\n\tifIndex - Index of the interface whose arp cache is to be flushed\n\n"
|
|
|
|
HMSG_IF_USAGE, "\n\
|
|
\nipkern IF {STATS | INFO | NAME | GUID} <parameters>\n\n"
|
|
|
|
HMSG_IF_NAME_USAGE, "\n\
|
|
\nipkern IF NAME <{Guid}>\n\n"
|
|
|
|
HMSG_IF_GUID_USAGE, "\n\
|
|
\nipkern IF GUID <Name>\n\n"
|
|
|
|
EMSG_NO_ENTRIES1, "\n\
|
|
\nNo %1!s! entries were found\n\n"
|
|
|
|
EMSG_NO_ENTRIES2, "\n\
|
|
\nNo entries were found\n\n"
|
|
|
|
EMSG_RETRIEVAL_ERROR1, "\n\
|
|
\nError %1!d! retrieving %2!s! from stack\n"
|
|
|
|
EMSG_RETRIEVAL_ERROR2, "\n\
|
|
\nError %1!d! retrieving information from stack\n"
|
|
|
|
EMSG_UNIQUE_ROUTE_ABSENT, "\n\
|
|
\nNo matching route found\n\n"
|
|
|
|
EMSG_SET_ERROR1, "\n\
|
|
\nError %1!d! setting %2!s! to stack\n"
|
|
|
|
EMSG_SET_ERROR2, "\n\
|
|
\nError %1!d! setting information to stack\n"
|
|
|
|
EMSG_RT_BAD_DEST, "\n\
|
|
\nThe destination can not be 255.255.255.255 and the subnet bits\
|
|
\nof the destination must be 0 (i.e dest & mask == dest)\n\n"
|
|
|
|
EMSG_RT_BAD_NHOP, "\n\
|
|
\nThe next hop can not be 0.0.0.0 or a non-unicast address. For\
|
|
\nmulti-access networks, the next hop must lie on the same network\
|
|
\nas the interface the route is being added on\n\n"
|
|
|
|
EMSG_RT_BAD_MASK, "\n\
|
|
\nNon contiguous masks are not supported in Windows NT\n\n"
|
|
|
|
EMSG_RT_ZERO_IF_METRIC, "\n\
|
|
\nInterface index or metric can not be 0\n\n"
|
|
|
|
EMSG_RT_BAD_IF_NHOP, "\n\
|
|
\nEither the interface specified doesnt exist, or the nexthop is\
|
|
\nnot on an adjacent network.\
|
|
\nUse ipkern address to print the address and interface indices\n\n"
|
|
|
|
EMSG_ARP_NO_SUCH_IF, "\n\
|
|
\nAn interface with index %1!d! does not exist in the system\n\n"
|
|
|
|
EMSG_UNABLE_TO_FLUSH_ARP, "\n\
|
|
\nUnable to flush the arp cache on %1!d!. Error %2!d!\n\n"
|
|
|
|
EMSG_ROUTE_ENABLE, "\n\
|
|
\nError %1!d! occurred while dynamically enabling IP routing.\
|
|
\nA reboot may be required.\n\n"
|
|
|
|
EMSG_NO_SUCH_IF, "\n\
|
|
\nNo such interface\n\n"
|
|
|
|
STR_RTTABLE, "Route Table"
|
|
STR_ADDRTABLE, "Address Table"
|
|
STR_RTENTRY, "Route Entry"
|
|
STR_ARPTABLE, "ARP Table"
|
|
STR_IFTABLE, "Interface Table"
|
|
|
|
STR_OTHER, "Other"
|
|
STR_INVALID, "Invalid"
|
|
STR_DYNAMIC, "Dynamic"
|
|
STR_STATIC, "Static"
|
|
|
|
STR_ETHERNET, "Ethernet"
|
|
STR_TOKENRING, "Token Ring"
|
|
STR_FDDI, "FDDI"
|
|
STR_PPP, "PPP"
|
|
STR_LOOPBACK, "Loop Back"
|
|
STR_SLIP, "SLIP"
|
|
|
|
STR_UP, "Up"
|
|
STR_DOWN, "Down"
|
|
STR_TESTING, "Testing"
|
|
|
|
STR_NON_OPERATIONAL, "Non Operational"
|
|
STR_UNREACHABLE, "Unreachable"
|
|
STR_DISCONNECTED, "Disconnected"
|
|
STR_CONNECTING, "Connecting"
|
|
STR_CONNECTED, "Connected"
|
|
STR_OPERATIONAL, "Operational"
|
|
}
|
|
|
|
#include <windows.h>
|
|
#include <ntverp.h>
|
|
|
|
/*-----------------------------------------------*/
|
|
/* the following lines are specific to this file */
|
|
/*-----------------------------------------------*/
|
|
|
|
/* VER_FILETYPE, VER_FILESUBTYPE, VER_FILEDESCRIPTION_STR
|
|
* and VER_INTERNALNAME_STR must be defined before including COMMON.VER
|
|
* The strings don't need a '\0', since common.ver has them.
|
|
*/
|
|
#define VER_FILETYPE VFT_APP
|
|
/* possible values: VFT_UNKNOWN
|
|
VFT_APP
|
|
VFT_DLL
|
|
VFT_DRV
|
|
VFT_FONT
|
|
VFT_VXD
|
|
VFT_STATIC_LIB
|
|
*/
|
|
#define VER_FILESUBTYPE VFT2_UNKNOWN
|
|
/* possible values VFT2_UNKNOWN
|
|
VFT2_DRV_PRINTER
|
|
VFT2_DRV_KEYBOARD
|
|
VFT2_DRV_LANGUAGE
|
|
VFT2_DRV_DISPLAY
|
|
VFT2_DRV_MOUSE
|
|
VFT2_DRV_NETWORK
|
|
VFT2_DRV_SYSTEM
|
|
VFT2_DRV_INSTALLABLE
|
|
VFT2_DRV_SOUND
|
|
VFT2_DRV_COMM
|
|
*/
|
|
#define VER_FILEDESCRIPTION_STR "Utility for getting IP Stack/s routing tables"
|
|
#define VER_INTERNALNAME_STR "KERNROUT"
|
|
#define VER_ORIGINALFILENAME_STR "KERNROUT"
|
|
|
|
#include "common.ver" // NT5.0 version file.
|