diff options
author | delphij <delphij@FreeBSD.org> | 2012-05-17 05:11:57 +0000 |
---|---|---|
committer | delphij <delphij@FreeBSD.org> | 2012-05-17 05:11:57 +0000 |
commit | 661b9d94414ea6d11d5b7960aef1f172975ce52b (patch) | |
tree | 1720d207a135a239a304163c4635810a1094209a /contrib/tcpdump/addrtoname.c | |
parent | 63ab347efe2621fc79f689a92c4bbda531593626 (diff) | |
parent | d36dcecdb3228d24b199eb51cfd7ac666f5b8eb8 (diff) | |
download | FreeBSD-src-661b9d94414ea6d11d5b7960aef1f172975ce52b.zip FreeBSD-src-661b9d94414ea6d11d5b7960aef1f172975ce52b.tar.gz |
Merge tcpdump 4.2.1.
MFC after: 2 weeks
Diffstat (limited to 'contrib/tcpdump/addrtoname.c')
-rw-r--r-- | contrib/tcpdump/addrtoname.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/contrib/tcpdump/addrtoname.c b/contrib/tcpdump/addrtoname.c index 2f5b466..41ddcc6 100644 --- a/contrib/tcpdump/addrtoname.c +++ b/contrib/tcpdump/addrtoname.c @@ -510,6 +510,34 @@ etheraddr_string(register const u_char *ep) } const char * +le64addr_string(const u_char *ep) +{ + const unsigned int len = 8; + register u_int i; + register char *cp; + register struct enamemem *tp; + char buf[BUFSIZE]; + + tp = lookup_bytestring(ep, len); + if (tp->e_name) + return (tp->e_name); + + cp = buf; + for (i = len; i > 0 ; --i) { + *cp++ = hex[*(ep + i - 1) >> 4]; + *cp++ = hex[*(ep + i - 1) & 0xf]; + *cp++ = ':'; + } + cp --; + + *cp = '\0'; + + tp->e_name = strdup(buf); + + return (tp->e_name); +} + +const char * linkaddr_string(const u_char *ep, const unsigned int type, const unsigned int len) { register u_int i; |