IPv6 plugin for Take Command / TCC / TCC/LE
beta version 0.99.2 2023-10-13
Charles Dye
Purpose:
This plugin adds one new variable _IPV6
,
and one new function, @IPADDRESSV6
.
These features correspond to TCC’s built-in _IP
variable
and @IPADDRESS
function, but for IPv6 addresses instead of IPv4.
Installation:
To use this plugin, copy IPv6.dll to
some known location on your hard drive. (If you are still using the 32-bit
version of Take Command, take IPv6-x86.dll instead
of IPv6.dll.) Load the .DLL file with a
PLUGIN /L
command, for example:
plugin /l c:\bin\tcmd\test\ipv6.dll
If you copy the .DLL file to a subdirectory named PlugIns within your Take Command program directory, it will be loaded automatically when TCC starts.
Plugin Features:
New Variable: | ||||
---|---|---|---|---|
_IPV6 | ||||
New Function: | ||||
@IPADDRESSV6 |
Syntax Note:
The syntax definitions in the following text use these conventions for clarity:
BOLD CODE | indicates text which must be typed exactly as shown. |
CODE | indicates optional text, which may be typed as shown or omitted. |
Bold italic | names a required argument; a value must be supplied. |
Regular italic | names an optional argument. |
ellipsis… | after an argument means that more than one may be given. |
New Variable:
_IPV6
— Returns this computer’s
IPv6 address.
Syntax:
%_IPV6
If this local computer has more than one network interface, this variable may return multiple IPv6 addresses, separated by spaces. Only IPv6 addresses are returned.
The loopback address ::1
, and any interfaces with a status of
‘IfOperStatusDown’, will not be returned.
New Function:
@IPADDRESSV6
— Returns
the IPv6 address for a hostname.
Syntax:
%@IPADDRESSV6[
hostname]
Returns an empty string on any error. If you do not specify a hostname, this computer’s name will be assumed by default, and you’ll get this computer’s IPv6 address.
This function uses GetAddrInfo() and DnsQuery_W().
Startup Message:
This plugin displays an informational line when it initializes. The
message will be suppressed in transient or pipe shells. You can disable it
for all shells by defining an environment variable named NOLOADMSG
,
for example:
set /e /u noloadmsg=1
Status and Licensing:
Consider this beta software. It may well have issues. Try it at your own risk. If you find a problem, you can report it in the JP Software support forum.
IPv6 is currently licensed only for testing purposes. I may make binaries and source code available under some free license once I consider it ready for use.
Download:
You can download the current version of the plugin from http://charlesdye.net/dl/ipv6.zip.