ahost
DNS lookup
Usage
ahost [-i] [-a] (<dnsquery:string>[,<magicdata:variant>]){ <callback command> }
Description
Starts a DNS lookup for the <dnsquery> and reports the results by calling the callback routine. The -i switch causes the command to execute in IPv6 mode (and lookup ONLY IPv6 hosts!).
The -a switch causes the command to run in unspecified mode and return any available address: IPv4 or Ipv6.
This command also performs reverse lookups (if you pass an IP address as <hostname>).
The callback command gets passed five parameters:
$0 contains the query string (<dnsquery> in fact)
$1 contains the value 1 if the query was successful.
In that case the remaining parameters are set as follows:
$2 contains the first IP address associated to the <dnsquery>
$3 contains the hostname associated to the <dnsquery>
$4 contains the eventual <magicdata> passed.
If $1 contains the value 0 then the query has failed and
$2 contains an error message explaining the failure.
$3 is empty
$4 contains the eventual <magicdata> passed.
Please note that if the DNS query fails to even start for some reason then your callback MAY be called even before ahost() returns.
Switches
-i
Causes the command to execute in IPv6 mode (and lookup ONLY IPv6 hosts!).
-a
The -a switch causes the command to run in unspecified mode and return any available address: IPv4 or IPv6.
Examples

ahost("localhost")
{
    echo "Lookup: "$0;
    if($1)
    {
        echo "IP address: "$2;
        echo "Hostname: "$3;
    } else {
        echo "Error: $2";
    }
}
ahost -i ("irc.flashnet.it","Hello :)")
{
    echo "Lookup: "$0;
    echo "Magic: $3";
    if($1)
    {
        echo "IP address: "$2;
        echo "Hostname: "$3;
    } else {
        echo "Error: $2";
    }
}
ahost -a ("cafe:babe::dead:beef")
{
    echo "Lookup: "$0;
    echo "Magic: $3";
    if($1)
    {
        echo "IP address: "$2;
        echo "Hostname: "$3;
    } else {
        echo "Error: $2";
    }
}
See also
host

Index, Commands