3 .ds ;G \\*(;G\\f\\$1\\$3\\f\\$2
4 .if !
\a\\$4
\a\a .Af \\$2 \\$1 "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
7 .ie
\a\\$3
\a\a .ft \\$1
11 .Af "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
16 .aF 5 \\n(.f "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
19 .aF 5 1 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
22 .aF 1 5 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
24 .de EX \" start example
41 ip6 \- IP V6 address support
46 char* fmtip6(unsigned char* addr, int bits);
47 int strtoip6(const char* str, char** end, unsigned char* addr, unsigned char* bits);
52 formats the IPV6 address
54 with optional prefix bits
56 (0 if not a prefix) into a thread-specific 0-terminated temporary buffer and returns a pointer
57 to the formatted value.
61 converts a formatted IPV6 address from the 0-terminated string
63 into a host order IPV6 address in
65 which must be a buffer of at least
70 is not 0 then an optional
72 (prefix size in bits) is parsed and
74 is set to the number of prefix bits.
79 will point to the first unparsed character in
82 0 is returned on success, -1 on failure.