diff options
author | Nick Mathewson <nickm@torproject.org> | 2008-12-22 17:53:04 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2008-12-22 17:53:04 +0000 |
commit | 1e5f4574613be3f26cd05f2873fd54ee526a63d7 (patch) | |
tree | 614832936d9b2e3592f76f400a001d933fcaf14f /src/common/address.h | |
parent | 167d266dbf618c856a87ac482668cd848651ab62 (diff) | |
download | tor-1e5f4574613be3f26cd05f2873fd54ee526a63d7.tar.gz tor-1e5f4574613be3f26cd05f2873fd54ee526a63d7.zip |
Fix most DOCDOCs remaining and/or added by redox.
svn:r17734
Diffstat (limited to 'src/common/address.h')
-rw-r--r-- | src/common/address.h | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/src/common/address.h b/src/common/address.h index 4a6e9859ef..603ffae2ae 100644 --- a/src/common/address.h +++ b/src/common/address.h @@ -17,8 +17,10 @@ #include "torint.h" #include "compat.h" -/* DOCDOC maskbits_t */ +/** The number of bits from an address to consider while doing a masked + * comparison. */ typedef uint8_t maskbits_t; + struct in_addr; /** Holds an IPv4 or IPv6 address. (Uses less memory than struct * sockaddr_storage.) */ @@ -31,20 +33,30 @@ typedef struct tor_addr_t } addr; } tor_addr_t; -/* DOCDOC*/ +/** Return an IPv4 address in network order for <b>a</b>, or 0 if + * <b>a</b> is not an IPv4 address. */ static INLINE uint32_t tor_addr_to_ipv4n(const tor_addr_t *a); -/* DOCDOC tor_addr_to_ipv4h */ +/** Return an IPv4 address in host order for <b>a</b>, or 0 if + * <b>a</b> is not an IPv4 address. */ static INLINE uint32_t tor_addr_to_ipv4h(const tor_addr_t *a); -/* DOCDOC tor_addr_to_mapped_ipv4h */ +/* Given an IPv6 address, return its mapped IPv4 address in host order, or + * 0 if <b>a</b> is not an IPv6 address. + * + * (Does not check whether the address is really a mapped address */ static INLINE uint32_t tor_addr_to_mapped_ipv4h(const tor_addr_t *a); -/* DOCDOC tor_addr_family */ +/** Return the address family of <b>a</b>. Possible values are: + * AF_INET6, AF_INET, AF_UNSPEC. */ static INLINE sa_family_t tor_addr_family(const tor_addr_t *a); -/* DOCDOC tor_addr_to_in */ +/** Return an in_addr* equivalent to <b>a</b>, or NULL if <b>a</b> is not + * an IPv4 address. */ static INLINE const struct in_addr *tor_addr_to_in(const tor_addr_t *a); -/* DOCDOC tor_addr_to_in6 */ +/** Return an in6_addr* equivalent to <b>a</b>, or NULL if <b>a</b> is not + * an IPv6 address. */ static INLINE const struct in6_addr *tor_addr_to_in6(const tor_addr_t *a); -/* DOCDOC tor_addr_eq_ipv4h */ +/** Return true iff <b>a</b> is an IPv4 address equal to the host-ordered + * address in <b>u</b>. */ static INLINE int tor_addr_eq_ipv4h(const tor_addr_t *a, uint32_t u); + socklen_t tor_addr_to_sockaddr(const tor_addr_t *a, uint16_t port, struct sockaddr *sa_out, socklen_t len); int tor_addr_from_sockaddr(tor_addr_t *a, const struct sockaddr *sa, @@ -74,7 +86,7 @@ tor_addr_to_ipv4h(const tor_addr_t *a) static INLINE uint32_t tor_addr_to_mapped_ipv4h(const tor_addr_t *a) { - return ntohl(tor_addr_to_in6_addr32(a)[3]); + return a->family == AF_INET6 ? ntohl(tor_addr_to_in6_addr32(a)[3]) : 0; } static INLINE sa_family_t tor_addr_family(const tor_addr_t *a) |