#include <ngx_config.h> | |
#include <ngx_string.h> | |
#include <ngx_inet.h> | |
/* AF_INET only */ | |
size_t ngx_sock_ntop(int family, struct sockaddr *addr, char *text, size_t len) | |
{ | |
char *p; | |
struct sockaddr_in *addr_in; | |
if (family != AF_INET) { | |
return 0; | |
} | |
addr_in = (struct sockaddr_in *) addr; | |
p = (char *) &addr_in->sin_addr; | |
return ngx_snprintf(text, len > INET_ADDRSTRLEN ? INET_ADDRSTRLEN : len, | |
"%u.%u.%u.%u", | |
(unsigned char) p[0], | |
(unsigned char) p[1], | |
(unsigned char) p[2], | |
(unsigned char) p[3]); | |
} | |
size_t ngx_inet_ntop(int family, char *addr, char *text, size_t len) | |
{ | |
if (family != AF_INET) { | |
return 0; | |
} | |
return ngx_snprintf(text, len > INET_ADDRSTRLEN ? INET_ADDRSTRLEN : len, | |
"%u.%u.%u.%u", | |
(unsigned char) addr[0], | |
(unsigned char) addr[1], | |
(unsigned char) addr[2], | |
(unsigned char) addr[3]); | |
} |