34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.fp 5 B
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.de Af
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.ds ;G \\*(;G\\f\\$1\\$3\\f\\$2
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.if !\\$4 .Af \\$2 \\$1 "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz..
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.de aF
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.ie \\$3 .ft \\$1
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.el \{\
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.ds ;G \&
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.nr ;G \\n(.f
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.Af "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz\\*(;G
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.ft \\n(;G \}
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz..
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.de L
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.aF 5 \\n(.f "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz..
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.de LR
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.aF 5 1 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz..
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.de RL
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.aF 1 5 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz..
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.de EX \" start example
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.ta 1i 2i 3i 4i 5i 6i
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.PP
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.RS
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.PD 0
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.ft 5
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.nf
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz..
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.de EE \" end example
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.fi
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.ft
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.PD
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.RE
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.PP
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz..
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.TH IP6 3
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.SH NAME
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzip6 \- IP V6 address support
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.SH SYNOPSIS
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.EX
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz#include <ip6.h>
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzchar* fmtip6(unsigned char* addr, int bits);
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzint strtoip6(const char* str, char** end, unsigned char* addr, unsigned char* bits);
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.EE
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.SH DESCRIPTION
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.L fmtip6()
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzformats the IPV6 address
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.L addr
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzwith optional prefix bits
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.L bits
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz(0 if not a prefix) into a thread-specific 0-terminated temporary buffer and returns a pointer
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzto the formatted value.
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.PP
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.L strtoip6()
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzconverts a formatted IPV6 address from the 0-terminated string
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.L str
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzinto a host order IPV6 address in
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.L addr
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzwhich must be a buffer of at least
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.L IP6ADDR
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzbytes.
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzIf
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.L bits
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzis not 0 then an optional
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.BI / bits
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz(prefix size in bits) is parsed and
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.L *bits
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzis set to the number of prefix bits.
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland MainzIf
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.L end
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzis not 0 then
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.L *end
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzwill point to the first unparsed character in
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.L str
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzon return.
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz0 is returned on success, -1 on failure.
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainz.SH "SEE ALSO"
34f9b3eef6fdadbda0a846aa4d68691ac40eace5Roland Mainzdss(1)