1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#include <ngx_config.h>
#include <ngx_core.h>
/* AF_INET only */
size_t ngx_sock_ntop(int family, struct sockaddr *addr, u_char *text,
size_t len)
{
u_char *p;
struct sockaddr_in *addr_in;
if (family != AF_INET) {
return 0;
}
addr_in = (struct sockaddr_in *) addr;
p = (u_char *) &addr_in->sin_addr;
return ngx_snprintf((char *) text,
len > INET_ADDRSTRLEN ? INET_ADDRSTRLEN : len,
"%u.%u.%u.%u", p[0], p[1], p[2], p[3]);
}
size_t ngx_inet_ntop(int family, u_char *addr, u_char *text, size_t len)
{
if (family != AF_INET) {
return 0;
}
return ngx_snprintf((char *) text,
len > INET_ADDRSTRLEN ? INET_ADDRSTRLEN : len,
"%u.%u.%u.%u", addr[0], addr[1], addr[2], addr[3]);
}
|