aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_inet.c
blob: 9f593f0a51c271a8637ffaef6fa9ddbdfffa286a (plain)
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]);
}