diff options
author | Guy Harris <guy@alum.mit.edu> | 2004-12-30 02:10:24 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2004-12-30 02:10:24 +0000 |
commit | 0ccf418724aa221c786e8ac765a8cbe1fed8ac3d (patch) | |
tree | 1e4a380da3f190a7468ee2baa824b4e1ff58ac67 /epan/addr_resolv.c | |
parent | 9d5c8771c1560425077117b33a06a9e8263062a9 (diff) | |
download | wireshark-0ccf418724aa221c786e8ac765a8cbe1fed8ac3d.tar.gz wireshark-0ccf418724aa221c786e8ac765a8cbe1fed8ac3d.tar.bz2 wireshark-0ccf418724aa221c786e8ac765a8cbe1fed8ac3d.zip |
Add a "get_addr_name()" routine that takes an "address *" and attempts
to resolve it to a name.
Fix up some const-pointer-to-non-const-pointer, and
function-pointer-to-void-*, conversions.
Fix some comments.
svn path=/trunk/; revision=12863
Diffstat (limited to 'epan/addr_resolv.c')
-rw-r--r-- | epan/addr_resolv.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/epan/addr_resolv.c b/epan/addr_resolv.c index f31b72cbc1..1b4503859d 100644 --- a/epan/addr_resolv.c +++ b/epan/addr_resolv.c @@ -1869,6 +1869,32 @@ extern gchar *get_sctp_port(guint port) } /* get_sctp_port */ +const gchar *get_addr_name(address *addr) +{ + guint32 ipv4_addr; + struct e_in6_addr ipv6_addr; + + switch (addr->type) { + + case AT_ETHER: + return get_ether_name(addr->data); + + case AT_IPv4: + memcpy(&ipv4_addr, addr->data, sizeof ipv4_addr); + return get_hostname(ipv4_addr); + + case AT_IPv6: + memcpy(&ipv6_addr.s6_addr, addr->data, sizeof ipv6_addr.s6_addr); + return get_hostname6(&ipv6_addr); + + case AT_STRINGZ: + return addr->data; + + default: + return NULL; + } +} + extern gchar *get_ether_name(const guint8 *addr) { if (!(g_resolv_flags & RESOLV_MAC)) |