Add support for easily formatting IPv6 addresses
This commit is contained in:
parent
01f0062d2d
commit
3186e8aa99
2 changed files with 14 additions and 1 deletions
14
util.c
14
util.c
|
|
@ -19,7 +19,7 @@
|
||||||
// to use
|
// to use
|
||||||
char *fmtaddr(in_addr_t addr, int n)
|
char *fmtaddr(in_addr_t addr, int n)
|
||||||
{
|
{
|
||||||
static char addrs[4][16];
|
static char addrs[4][INET_ADDRSTRLEN];
|
||||||
struct in_addr in;
|
struct in_addr in;
|
||||||
|
|
||||||
if (n < 0 || n >= 4)
|
if (n < 0 || n >= 4)
|
||||||
|
|
@ -29,6 +29,18 @@ char *fmtaddr(in_addr_t addr, int n)
|
||||||
return strcpy(addrs[n], inet_ntoa(in));
|
return strcpy(addrs[n], inet_ntoa(in));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// format ipv6 addr; n chooses one of 4 static buffers to use
|
||||||
|
char *fmtaddr6(struct in6_addr *addr, int n)
|
||||||
|
{
|
||||||
|
static char addrs[4][INET6_ADDRSTRLEN];
|
||||||
|
|
||||||
|
if (n < 0 || n >= 4)
|
||||||
|
return "";
|
||||||
|
|
||||||
|
inet_ntop(AF_INET6, addr, addrs[n], sizeof(addrs[n]));
|
||||||
|
return addrs[n];
|
||||||
|
}
|
||||||
|
|
||||||
char *fmtMacAddr(uint8_t *pMacAddr)
|
char *fmtMacAddr(uint8_t *pMacAddr)
|
||||||
{
|
{
|
||||||
// FF:FF:FF:FF:FF:FF (len(18)= 2*6 + 5 (:) + 1 (zero terminal))
|
// FF:FF:FF:FF:FF:FF (len(18)= 2*6 + 5 (:) + 1 (zero terminal))
|
||||||
|
|
|
||||||
1
util.h
1
util.h
|
|
@ -2,6 +2,7 @@
|
||||||
#define __UTIL_H__
|
#define __UTIL_H__
|
||||||
|
|
||||||
char *fmtaddr(in_addr_t addr, int n);
|
char *fmtaddr(in_addr_t addr, int n);
|
||||||
|
char *fmtaddr6(struct in6_addr *addr, int n);
|
||||||
char *fmtMacAddr(uint8_t *pMacAddr);
|
char *fmtMacAddr(uint8_t *pMacAddr);
|
||||||
void *shared_malloc(unsigned int size);
|
void *shared_malloc(unsigned int size);
|
||||||
pid_t fork_and_close(void);
|
pid_t fork_and_close(void);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue