|
|
|
|
@ -21,8 +21,8 @@ static unsigned int __ip4_hash(const sockaddr_t *a);
|
|
|
|
|
static unsigned int __ip6_hash(const sockaddr_t *a);
|
|
|
|
|
static int __ip4_eq(const sockaddr_t *a, const sockaddr_t *b);
|
|
|
|
|
static int __ip6_eq(const sockaddr_t *a, const sockaddr_t *b);
|
|
|
|
|
static int __ip4_is_specified(const sockaddr_t *a);
|
|
|
|
|
static int __ip6_is_specified(const sockaddr_t *a);
|
|
|
|
|
static bool __ip4_is_specified(const sockaddr_t *a);
|
|
|
|
|
static bool __ip6_is_specified(const sockaddr_t *a);
|
|
|
|
|
static int __ip_bind(socket_t *s, unsigned int, const sockaddr_t *);
|
|
|
|
|
static int __ip_connect(socket_t *s, const endpoint_t *);
|
|
|
|
|
static int __ip_listen(socket_t *s, int backlog);
|
|
|
|
|
@ -203,10 +203,10 @@ static int __ip4_eq(const sockaddr_t *a, const sockaddr_t *b) {
|
|
|
|
|
static int __ip6_eq(const sockaddr_t *a, const sockaddr_t *b) {
|
|
|
|
|
return !memcmp(&a->ipv6, &b->ipv6, sizeof(a->ipv6));
|
|
|
|
|
}
|
|
|
|
|
static int __ip4_is_specified(const sockaddr_t *a) {
|
|
|
|
|
static bool __ip4_is_specified(const sockaddr_t *a) {
|
|
|
|
|
return a->ipv4.s_addr != 0;
|
|
|
|
|
}
|
|
|
|
|
static int __ip6_is_specified(const sockaddr_t *a) {
|
|
|
|
|
static bool __ip6_is_specified(const sockaddr_t *a) {
|
|
|
|
|
return a->ipv6.s6_addr32[0] != 0
|
|
|
|
|
|| a->ipv6.s6_addr32[1] != 0
|
|
|
|
|
|| a->ipv6.s6_addr32[2] != 0
|
|
|
|
|
|