diff --git a/src/core/ngx_inet.c b/src/core/ngx_inet.c
index aba990b..b566e1a 100644
--- a/src/core/ngx_inet.c
+++ b/src/core/ngx_inet.c
@@ -4,10 +4,34 @@
 #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)
+    if (family != AF_INET) {
         return 0;
+    }
 
     return ngx_snprintf(text, len > INET_ADDRSTRLEN ? INET_ADDRSTRLEN : len,
                         "%u.%u.%u.%u",
