Skip to content

Commit 4e25f49

Browse files
committed
addrtoname.[ch]: add a printer for Little-Endian 64-bit address
Signed-off-by: Dmitry Eremin-Solenikov <[email protected]>
1 parent ec799d6 commit 4e25f49

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

addrtoname.c

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -507,6 +507,34 @@ etheraddr_string(register const u_char *ep)
507507
return (tp->e_name);
508508
}
509509

510+
const char *
511+
le64addr_string(const u_char *ep)
512+
{
513+
const unsigned int len = 8;
514+
register u_int i;
515+
register char *cp;
516+
register struct enamemem *tp;
517+
char buf[BUFSIZE];
518+
519+
tp = lookup_bytestring(ep, len);
520+
if (tp->e_name)
521+
return (tp->e_name);
522+
523+
cp = buf;
524+
for (i = len; i > 0 ; --i) {
525+
*cp++ = hex[*(ep + i - 1) >> 4];
526+
*cp++ = hex[*(ep + i - 1) & 0xf];
527+
*cp++ = ':';
528+
}
529+
cp --;
530+
531+
*cp = '\0';
532+
533+
tp->e_name = strdup(buf);
534+
535+
return (tp->e_name);
536+
}
537+
510538
const char *
511539
linkaddr_string(const u_char *ep, const unsigned int type, const unsigned int len)
512540
{

addrtoname.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ enum {
3434

3535
extern const char *linkaddr_string(const u_char *, const unsigned int, const unsigned int);
3636
extern const char *etheraddr_string(const u_char *);
37+
extern const char *le64addr_string(const u_char *);
3738
extern const char *etherproto_string(u_short);
3839
extern const char *tcpport_string(u_short);
3940
extern const char *udpport_string(u_short);

0 commit comments

Comments
 (0)