File: ipv6_addr.c

package info (click to toggle)
bglibs 2.04%2Bdfsg-8
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 3,468 kB
  • sloc: ansic: 15,821; perl: 674; sh: 63; makefile: 29
file content (16 lines) | stat: -rw-r--r-- 557 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string.h>

#include "ipv6.h"

/** IPv6 "any" address constant. */
const ipv6addr IPV6ADDR_ANY = {{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }};
/** IPv6 loopback address constant. */
const ipv6addr IPV6ADDR_LOOPBACK = {{ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 }};
/** IPv4-in-IPv6 address prefix constant. */
const ipv6addr IPV6ADDR_V4PREFIX = {{ 0,0,0,0,0,0,0,0,0,0,0xff,0xff,0,0,0,0 }};

/** Return true if the IPv6 address is actually a wrapped IPv4 address. */
int ipv6_isv4mapped(const ipv6addr* addr)
{
  return memcmp(&IPV6ADDR_V4PREFIX, addr, 12) == 0;
}