Tor
0.4.7.0-alpha-dev
|
Convert in_addr and in6_addr to and from strings. More...
#include "lib/net/inaddr.h"
#include "lib/cc/torint.h"
#include "lib/container/smartlist.h"
#include "lib/log/util_bug.h"
#include "lib/malloc/malloc.h"
#include "lib/net/inaddr_st.h"
#include "lib/string/compat_ctype.h"
#include "lib/string/compat_string.h"
#include "lib/string/printf.h"
#include "lib/string/scanf.h"
#include "lib/string/util_string.h"
#include <stdlib.h>
#include <string.h>
Go to the source code of this file.
Functions | |
int | tor_inet_aton (const char *str, struct in_addr *addr) |
int | tor_inet_ntoa (const struct in_addr *in, char *buf, size_t buf_len) |
const char * | tor_inet_ntop (int af, const void *src, char *dst, size_t len) |
int | tor_inet_pton (int af, const char *src, void *dst) |
int tor_inet_aton | ( | const char * | str, |
struct in_addr * | addr | ||
) |
Set *addr to the IP address (in dotted-quad notation) stored in *str. Return 1 on success, 0 if *str is badly formatted. (Like inet_aton(str,addr), but works on Windows and Solaris.)
Definition at line 40 of file inaddr.c.
Referenced by router_find_exact_exit_enclave(), tor_addr_parse_PTR_name(), and tor_inet_pton().
int tor_inet_ntoa | ( | const struct in_addr * | in, |
char * | buf, | ||
size_t | buf_len | ||
) |
Given an IPv4 in_addr struct *in (in network order, as usual), write it as a string into the buf_len-byte buffer in buf. Returns a non-negative integer on success. Returns -1 on failure.
Definition at line 79 of file inaddr.c.
Referenced by fmt_addr32(), and tor_inet_ntop().
const char* tor_inet_ntop | ( | int | af, |
const void * | src, | ||
char * | dst, | ||
size_t | len | ||
) |
Given af==AF_INET and src a struct in_addr, or af==AF_INET6 and src a struct in6_addr, try to format the address and store it in the len-byte buffer dst. Returns dst on success, NULL on failure.
(Like inet_ntop(af,src,dst,len), but works on platforms that don't have it: Tor sometimes needs to format ipv6 addresses even on platforms without ipv6 support.)
Definition at line 98 of file inaddr.c.
Referenced by tor_addr_to_str(), and tor_dup_ip().
int tor_inet_pton | ( | int | af, |
const char * | src, | ||
void * | dst | ||
) |
Given af==AF_INET or af==AF_INET6, and a string src encoding an IPv4 address or IPv6 address correspondingly, try to parse the address and store the result in dst (which must have space for a struct in_addr or a struct in6_addr, as appropriate). Return 1 on success, 0 on a bad parse, and -1 on a bad af.
(Like inet_pton(af,src,dst) but works on platforms that don't have it: Tor sometimes needs to format ipv6 addresses even on platforms without ipv6 support.)
Definition at line 187 of file inaddr.c.
Referenced by string_is_valid_ipv4_address(), and string_is_valid_ipv6_address().