From owner-man-jp-reviewer@jp.FreeBSD.org Sun Apr  7 17:44:42 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g378igP47958;
	Sun, 7 Apr 2002 17:44:42 +0900 (JST)
	(envelope-from owner-man-jp-reviewer@jp.FreeBSD.org)
Received: from rwcrmhc52.attbi.com (rwcrmhc52.attbi.com [216.148.227.88])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g378ifv47953
	for <man-jp-reviewer@jp.FreeBSD.org>; Sun, 7 Apr 2002 17:44:41 +0900 (JST)
	(envelope-from horikawa@jp.FreeBSD.org)
Received: from localhost ([12.252.32.143]) by rwcrmhc52.attbi.com
          (InterMail vM.4.01.03.27 201-229-121-127-20010626) with ESMTP
          id <20020407084432.UXWC3676.rwcrmhc52.attbi.com@localhost>
          for <man-jp-reviewer@jp.FreeBSD.org>;
          Sun, 7 Apr 2002 08:44:32 +0000
Date: Sun, 07 Apr 2002 01:44:21 -0700 (MST)
Message-Id: <20020407.014421.85683710.horikawa@attbi.com>
To: man-jp-reviewer@jp.FreeBSD.org
From: Kazuo Horikawa <horikawa@jp.FreeBSD.org>
X-Mailer: Mew version 2.2 on Emacs 20.7 / Mule 4.0 (HANANOEN)
Mime-Version: 1.0
Content-Type: Multipart/Mixed;
 boundary="--Next_Part(Sun_Apr__7_01:44:21_2002_749)--"
Content-Transfer-Encoding: 7bit
Reply-To: man-jp-reviewer@jp.FreeBSD.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+020405
X-Sequence: man-jp-reviewer 4051
Subject: [man-jp-reviewer 4051] (man3) libalias.3
Errors-To: owner-man-jp-reviewer@jp.FreeBSD.org
Sender: owner-man-jp-reviewer@jp.FreeBSD.org
X-Originator: horikawa@jp.FreeBSD.org

----Next_Part(Sun_Apr__7_01:44:21_2002_749)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

libalias.3 $B$N:9J,$G$9!#(B

$B:9J,$O!"Hf3S$70W$$$h$&$K!"(B
o 1.8 (3.1-RELEASE) -> 1.25 $B$N:9J,(B
o 1.25 -> 1.26 $B$N:9J,(B ($B$[$\BN:[$N$_$NJQ99(B) 
o 1.26 -> 1.23.2.11 (4.5-RELEASE) $B$N:9J,(B
$B$N(B 3 $B8D$K$7$F$$$^$9!#(B

$B86J8:9J,$O!"(B
http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libalias/libalias.3
$B$r;2>H$7$F$/$@$5$$!#(B
--
$BKY@nOBM:(B

----Next_Part(Sun_Apr__7_01:44:21_2002_749)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Content-Description: libalias.3.1_8-1_25
Content-Disposition: inline; filename="libalias.3.1_8-1_25"

--- libalias.3.1.8	Sat Apr  6 23:05:51 2002
+++ libalias.3.1.25	Sat Apr  6 23:34:07 2002
@@ -1,19 +1,21 @@
 .\" jpman %Id%
 .\"
 .Dd July, 1997
-.Dt "libalias" 3
+.Dt LIBALIAS 3
 .Os
 .Sh $BL>>N(B
-.Nm "libalias"
-$B%Q%1%C%H%(%$%j%"%7%s%0%i%$%V%i%j!#(B
-$B%M%C%H%o!<%/%"%I%l%9JQ49(B (NAT) $B$HJLL>2=$N$?$a$N(B
-IP $B%Q%1%C%H%(%$%j%"%7%s%0$*$h$S%(%$%j%"%92r=|4X?t72(B
+.Nm libalias
+.Nd $B%9%+%l!<%I$*$h$S%"%I%l%9JQ49(B (NAT) $BMQ%Q%1%C%H%(%$%j%"%7%s%0%i%$%V%i%j(B
 .Sh $B=q<0(B
 .Fd #include <sys/types.h>
 .Fd #include <netinet/in.h>
 .Fd #include <alias.h>
 
 $B4X?t$N%W%m%H%?%$%W$O!"$3$N%F%-%9%H$NK\J8$G>R2p$7$^$9!#(B
+.Sh $B2r@b(B
+.Nm
+$B%i%$%V%i%j$O!"(BIP $B%Q%1%C%H$N%(%$%j%"%9$*$h$S%(%$%j%"%92r=|MQ$N4X?t72$G$"$j!"(B
+$B%^%9%+%l!<%I$*$h$S%M%C%H%o!<%/%"%I%l%9JQ49(B (NAT) $B$rL\E*$H$7$F$$$^$9!#(B
 .Sh $BL\<!(B
 .Bd -literal -offset left
 1. $B=xJ8(B
@@ -30,6 +32,8 @@
     4.1 PacketAliasRedirectPort()
     4.2 PacketAliasRedirectAddr()
     4.3 PacketAliasRedirectDelete()
+    4.4 PacketAliasProxyRule()
+    4.5 PacketAliasPptp()
 5. $B%U%i%0%a%s%HA`:n(B
     5.1 PacketAliasSaveFragment()
     5.2 PacketAliasGetFragment()
@@ -47,7 +51,6 @@
     A.3 $BItJ,E*Dj5A$K$h$k%j%s%/(B
     A.4 $BF0E*%j%s%/$N@8@.(B
 .Ed
-
 .Sh 1. $B=xJ8(B
 $B$3$N%i%$%V%i%j$O!"(BIP $B$N%m!<%+%k%M%C%H%o!<%/%"%I%l%9$NJQ49(B
 $B$*$h$SJQ49=hM}%5%]!<%HMQ$K%G%6%$%s$5$l$?4X?t$G$9!#(B
@@ -77,7 +80,6 @@
 $B%+!<%M%k30It$N%f!<%66u4V$G:nMQ$9$k$h$&$K@_7W$5$l$F$*$j!"(B
 $B$=$N$?$a%W%i%$%Y!<%H$J%+!<%M%k%G!<%?9=B$$X$N%"%/%;%9$OITMW$G$9!#(B
 $B$?$@$7!"%=!<%9%3!<%I$O%+!<%M%k4D6-$KAH$_9~$`$3$H$,$G$-$^$9!#(B
-
 .Sh 2. $B=i4|2=$H@)8f(B
 2 $B$D$NFC<l$J4X?t!"(B
 PacketAliasInit() $B$*$h$S(B PacketAliasSetAddress() $B$O!"(B
@@ -138,7 +140,7 @@
 ($B%G%U%)%k%HA`:n%b!<%I(B) $B$,@_Dj$5$l$F$$$k>l9g!"(B
 $BFbItE*$J%(%$%j%"%9%j%s%/%F!<%V%k$O!"(B
 $B%(%$%j%"%9%"%I%l%9$,JQ99$5$l$k$?$S!"(B
-PacketAliasReset() $B8F$S=P$7$,9T$J$o$l$?$+$N$h$&$K%j%;%C%H$5$l$^$9!#(B
+$B%j%;%C%H$5$l$^$9!#(B
 $B$3$l$O0lO"$N%@%$%"%k%"%C%WA`:n$NCf$G(B
 IP $B%"%I%l%9>uBV$K4X$o$i$:!"(B
 ppp $B$N$h$&$J%$%s%?%U%'!<%9$KJXMx$G$9!#(B
@@ -234,7 +236,17 @@
 $B$3$N$3$H$O$^$?(B PacketAliasSetFWBase() $B$KBP$9$k(B
 $B=i4|8F$S=P$7$G$b5/$3$j$^$9!#(B
 $B$3$N8F$S=P$7$O%U%i%0$N@_Dj$NA0$K9T$J$&I,MW$,$"$j$^$9!#(B
-
+.It PKT_ALIAS_REVERSE.
+$BK\%*%W%7%g%s$O!"%i%$%V%i%j$,Fb8~$-%Q%1%C%H$H308~$-%Q%1%C%H$r07$&J}K!$r(B
+$BH?E>$5$;$^$9!#(B
+$B$3$l$K$h$j!"30It%$%s%?%U%'!<%9$NBe$j$KFbIt%$%s%?%U%'!<%9$rDL2a$9$k(B
+$B%Q%1%C%H$r?)$o$;$k$3$H$,$G$-$^$9!#(B
+.It PKT_ALIAS_PROXY_ONLY.
+$BK\%*%W%7%g%s$O!"%i%$%V%i%j$,F)2a%W%m%-%7%k!<%k$N$_$K=>$&$h$&;X<($7$^$9!#(B
+$BDL>o$N%Q%1%C%H%(%$%j%"%9$O<B9T$5$l$^$;$s!#(B
+$B>\:Y$O8e=R$N(B
+.Fn PacketAliasProxyRule
+$B$r;2>H$7$F$/$@$5$$!#(B
 .El
 
 .Ss 2.5 PacketAliasSetFWBase()
@@ -245,7 +257,6 @@
 IPFW $B$K(B (PKT_ALIAS_PUNCH_FW $B%U%i%0$K$h$j(B)
 $B%U%!%$%"%&%)!<%k$N7d4V$KBP$9$kNN0h$r3d$jEv$F$^$9!#(B
 $BNN0h$OA4=i4|2=%k!<%k$K=>$$%/%j%"$5$l$^$9!#(B
-
 .Sh 3. $B%Q%1%C%HA`:n(B
 $B%Q%1%C%H=hM}4X?t$O!"Ce?.(B ($B%j%b!<%H(B -> $B%m!<%+%k(B)
 $B$*$h$SH/?.(B ($B%m!<%+%k(B -> $B%j%b!<%H(B) $B%Q%1%C%H$N=$@5$K;HMQ$5$l$^$9!#(B
@@ -324,7 +335,6 @@
 $B$3$l$O%W%m%H%3%k$,G'<1$5$l$J$$$H$-$+!"$"$k$$$O(B ICMP
 $B%a%C%;!<%8%?%$%W$,=hM}$5$l$J$$$H$-$KH/@8$7$^$9!#(B
 .El
-
 .Sh 4. $B%]!<%H$H%"%I%l%9$N%j%@%$%l%/%7%g%s(B
 $B$3$N%;%/%7%g%s$G2r@b$7$F$$$k4X?t$O!"(B
 $B%m!<%+%k%M%C%H%o!<%/>e$N%^%7%s$K$*$$$F!"(B
@@ -358,7 +368,7 @@
 $B$,(B 0 $B$J$i$P!"%Q%1%C%H%(%$%j%"%7%s%0%"%I%l%9$O(B
 PacketAliasSetAddress() $B$G@_Dj$5$l$?$b$N$r;HMQ$7$^$9!#(B
 PacketAliasRedirectPort() $B8F$S=P$7$N8e$G(B
-PacketAliasAddress() $B8F$S=P$7$,<B9T$5$l!"(B
+PacketAliasSetAddress() $B8F$S=P$7$,<B9T$5$l!"(B
 $B%"%I%l%9$,JQ99$5$l$F$b!"(B
 $B0z?t$,(B 0 $B$N>l9g$3$l$OL58z$K$J$j$^$9!#(B
 
@@ -411,14 +421,14 @@
 .Em alias_addr
 $B$,(B 0 $B$N>l9g!"(BPacketAliasSetAddress() $B$K$h$j@_Dj$5$l$?(B
 $B%Q%1%C%H%(%$%j%"%7%s%0%"%I%l%9$,;HMQ$5$l$^$9!#(B
-PacketAliasAddress() $B$O(B
+PacketAliasSetAddress() $B$O(B
 PacketAliasRedirectAddr() $B$N8F$S=P$78e$K(B
 $B%"%I%l%9JQ99$N$?$a$K8F$S=P$5$l$F$bL58z$G$9!#(B
 
 PacketAliasRedirectAddr() $B$KBP$9$k0lO"$N8F$S=P$7$,(B
 $BF10l$N%(%$%j%"%7%s%0%"%I%l%9$r;HMQ$7$F$$$k>l9g!"(B
 $B$3$N%(%$%j%"%7%s%0%"%I%l%9$X$N?7$?$JA4Ce?.%H%i%U%#%C%/$O!"(B
-$B:G8e$N4X?t8F$S=P$7$G:n$i$l$?%m!<%+%k%"%I%l%9$X%j%@%$%l%/%H$5$l$^$9$,!"(B
+$B:G8e$N4X?t8F$S=P$7$G:n$i$l$?%m!<%+%k%"%I%l%9$X%j%@%$%l%/%H$5$l$^$9!#(B
 $B$$$/$D$+$N4X?t8F$S=P$7$G;XDj$5$l$?%m!<%+%k%^%7%s$+$i$N(B
 $B?7$?$JA4%H%i%U%#%C%/$O!"(B
 $BF10l$N%"%I%l%9$K%j%@%$%l%/%H$5$l$^$9!#(B
@@ -456,7 +466,119 @@
 $B@5$7$/$J$$%]%$%s%?$,(B PacketAliasRedirectDelete() $B$KEO$5$l$k$H!"(B
 $B%W%m%0%i%`$O%/%i%C%7%e$9$k$+!"M=4|$;$LF0:n7k2L$H$J$j$^$9!#(B
 $B$=$N$?$a$K$3$N4X?t$N;HMQ$K:]$7$F$OCm0U$,I,MW$G$9!#(B
+.Ss 4.4 PacketAliasProxyRule()
+
+.Ft int
+.Fn PacketAliasProxyRule "const char *cmd"
 
+$BEO$5$l$?(B
+.Ar cmd
+$BJ8;zNs$O!"(B1 $B8D0J>e$N!"8l$NAH$+$i$J$j$^$9!#(B
+$B3FAH$N:G=i$N8l$O%H!<%/%s$G$"$j!"<!$N8l$O$=$N%H!<%/%s$KE,MQ$5$l$kCM$G$9!#(B
+$B%H!<%/%s$H0z?t$N7?$O<!$NDL$j$G$9(B:
+
+.Bl -tag -offset XXX -width XXX
+.It type encode_ip_hdr|encode_tcp_stream|no_encode
+$BF)2a%W%m%-%7$N%5%]!<%H$N$?$a$K!"(B
+$B?75,=*E@%5!<%P$K85$N%"%I%l%9$H%]!<%H$N>pJs$r(B
+$B$J$s$i$+$NJ}K!$GEO$9I,MW$,$"$j$^$9!#(B
+.Dq encode_ip_hdr
+$B$,;XDj$5$l$?>l9g!"DI2C$N(B IP $B%*%W%7%g%s$H$7$F85$N%"%I%l%9$H%]!<%H$,EO$5$l$^$9!#(B
+.Dq encode_tcp_stream
+$B$,;XDj$5$l$?>l9g!"(BTCP $B%9%H%j!<%`Cf$N:G=i$N%G!<%?JR$NCf$K(B
+.Dq DEST Ar IP port
+$B$H$$$&=q<0$G!"85$N%"%I%l%9$H%]!<%H$,EO$5$l$^$9!#(B
+.It port Ar portnum
+$B=*E@%]!<%H$,(B
+.Ar portnum
+$B$N%Q%1%C%H$N$_$,%W%m%-%7$NBP>]$H$J$j$^$9!#(B
+.It server Ar host[:portnum]
+$B%G!<%?$NE>Aw@h$N(B
+.Ar host
+$B$H(B
+.Ar portnum
+$B$r;XDj$7$^$9!#(B
+.Ar host
+$B$O!"(BDNS $B%[%9%HL>$G$O$J$/(B IP $B%"%I%l%9$G$"$k$3$H$,I,MW$G$9!#(B
+.Ar portnum
+$B$,;XDj$5$l$J$$$H!"=*E@%]!<%HHV9f$OJQ99$5$l$^$;$s!#(B
+.Pp
+.Ar server
+$B$N;XDj$O!"(B
+.Dq delete
+$B%3%^%s%I$,;HMQ$5$l$J$$8B$j!"I,?\$G$9!#(B
+.It rule Ar index
+$BDL>o!"3F(B
+.Fn PacketAliasProxyRule
+$B8F$S=P$7$O!"%k!<%k$N@~7?%j%9%H$N@hF,$K<!$N%k!<%k$rA^F~$7$^$9!#(B
+.Ar index
+$B$,;XDj$5$l$?>l9g!"Dc$$%$%s%G%C%/%9$NA4%k!<%k$,%A%'%C%/$5$l$?8e$K!"(B
+$B?75,%k!<%k$,%A%'%C%/$5$l$^$9!#(B
+$B%k!<%k$r;XDj$7$J$$(B
+.Fn PacketAliasProxyRule
+$B8F$S=P$7$O!"%k!<%k$K%k!<%k(B 0 $B$r3d$jEv$F$^$9!#(B
+.It delete Ar index
+$BK\%H!<%/%s$H0z?t$O!"B>$N%H!<%/%s$HAH$_9g$o$;$F;HMQ$7$F$O$J$j$^$;$s!#(B
+$BK\%H!<%/%s$r;HMQ$9$k$H!";XDj$7$?(B
+.Ar index
+$B$N4{B8$N%k!<%k$,:o=|$5$l$^$9!#(B
+.It proto tcp|udp
+$B;XDj$9$k$H!";XDj$7$?%W%m%H%3%k%?%$%W$N%Q%1%C%H$N$_$,%^%C%A$7$^$9!#(B
+.It src Ar IP[/bits]
+$B;XDj$9$k$H!";XDj$7$?(B
+.Ar IP
+$B$K;OE@%"%I%l%9$,%^%C%A$9$k%Q%1%C%H$N$_$,%^%C%A$7$^$9!#(B
+.Ar bits
+$B$b;XDj$9$k$H!"(B
+.Ar IP
+$B%"%I%l%9$N:G=i$N(B
+.Ar bits
+$B%S%C%H$N$_$,%M%C%H%o!<%/;XDj$H$7$F;HMQ$5$l!"(B
+$B$=$N%M%C%H%o!<%/$+$i$NA4(B IP $B%"%I%l%9$,%^%C%A$7$^$9!#(B
+.It dst Ar IP[/bits]
+$B;XDj$9$k$H!";XDj$7$?(B
+.Ar IP
+$B$K=*E@%"%I%l%9$,%^%C%A$9$k%Q%1%C%H$N$_$,%^%C%A$7$^$9!#(B
+.Ar bits
+$B$b;XDj$9$k$H!"(B
+.Ar IP
+$B%"%I%l%9$N:G=i$N(B
+.Ar bits
+$B%S%C%H$N$_$,%M%C%H%o!<%/;XDj$H$7$F;HMQ$5$l!"(B
+$B$=$N%M%C%H%o!<%/$+$i$NA4(B IP $B%"%I%l%9$,%^%C%A$7$^$9!#(B
+.El
+
+$BK\4X?t$O!"DL>o!"$"$k<g$N%$%s%?!<%M%C%H%"%/%;%9$r6X;_$5$l$F$$$k(B
+$BFbIt%^%7%s$KBP$7!"308~$-@\B3$r%j%@%$%l%/%H$9$k$+!"(B
+$B$^$?$O$"$k<o$N30It%^%7%s$X$N%"%/%;%9$r@)8B$7$^$9!#(B
+.Ss 4.5 PacketAliasPptp()
+
+.Ft extern int
+.Fn PacketAliasPptp "struct in_addr addr"
+
+$BK\4X?t$O!"(B
+.Em G Ns No eneral
+.Em R Ns No outing
+.Em E Ns No ncapsulation
+.Pq Dv IPPROTO_GRE
+$B%Q%1%C%H$r!"(B
+.Fn PacketAliasSetAddress
+$B$G@_Dj$5$l$?%"%I%l%9$NBe$j$K!"(B
+.Ar addr
+$B$r;HMQ$7$F%(%$%j%"%9$7$^$9!#(B
+$B$3$l$K$h$j!"FbIt%M%C%H%o!<%/>e$N%^%7%s$,(B
+.Em P Ns No oint
+to
+.Em P Ns No oint
+.Em T Ns No unneling
+.Em P Ns No rotocol
+$B$r;HMQ$G$-$k$h$&$K$J$j$^$9!#(B
+.Pp
+If the passed address is
+.Dv INADDR_NONE
+.Pq 255.255.255.255 ,
+.Dv PPTP
+aliasing is disabled.
 .Sh 5. $B%U%i%0%a%s%HA`:n(B
 $B$3$N%;%/%7%g%s$N4X?t$OCe?.%U%i%0%a%s%HA`:n$G;HMQ$5$l$^$9!#(B
 
@@ -527,7 +649,6 @@
 $B0z?t(B
 .Em fragment
 $B$O%(%$%j%"%92r=|$9$k%Q%1%C%H$N%]%$%s%?$G$9!#(B
-
 .Sh 6. $B$=$NB>$N4X?t(B
 
 .Ss 6.1 PacketAliasSetTarget()
@@ -540,9 +661,15 @@
 $B$=$l$O(B PacketAliasSetTarget() $B8F$S=P$7$K$h$j(B
 $B;XDj$5$l$k%"%I%l%9$XAw$i$l$^$9!#(B
 
-$B$3$N4X?t$,8F$P$l$J$$$+!"$"$k$$$O;XDj%"%I%l%9$,(B 0 $B$N>l9g!"(B
+$B$3$N4X?t$,8F$P$l$J$$$+!"$"$k$$$O;XDj%"%I%l%9$,(B INADDR_NONE $B$N>l9g!"(B
 $B30$+$i$N$"$i$f$k?75,Ce?.%Q%1%C%H$O(B
 PacketAliasSetAddress $B$G@_Dj$5$l$k%"%I%l%9$X9T$-$^$9!#(B
+
+$B$3$N4X?t$,(B INADDR_ANY $B%"%I%l%9$r0z?t$H$7$F8F$P$l$?>l9g!"(B
+$B30$+$i$N$"$i$f$k?75,Ce?.%Q%1%C%H$O(B
+$B%Q%1%C%HCf$G;XDj$5$l$k%"%I%l%9$X9T$-$^$9!#(B
+$B30It$N%^%7%s$,FbIt$N%^%7%s$XD>@\%k!<%F%#%s%02DG=$J>l9g!"(B
+$B30It$N%^%7%s$,D>@\FbIt$N%^%7%s$HOC$9$3$H$r2DG=$H$7$^$9!#(B
 .Ss 6.2 PacketAliasCheckNewLink()
 
 .Ft int
@@ -576,15 +703,13 @@
 $B%G!<%?%V%m%C%/$NA`:n$K$h$j8!>Z$9$k$3$H$,$G$-$^$9!#(B
 $B%A%'%C%/%5%`$,@5$7$1$l$P!"(B
 PacketAliasInternetChecksum() $B$O(B 0 $B$rJV$7$^$9!#(B
-
 .Sh 7. $B:n<T(B
-Charles Mott (cmott@srv.net), versions 1.0 - 1.8, 2.0 - 2.4. 
+Charles Mott (cmott@scientech.com), versions 1.0 - 1.8, 2.0 - 2.4. 
 
 Eivind Eklund (eivind@freebsd.org), versions 1.8b, 1.9 $B$*$h$S(B 2.5.
 $B%"!<%-%F%/%A%c$K$*$1$k?t!9$N2~A1$K$h$k9W8%$N$[$+$K!"(B
 IRC DCC $B$K4X$9$k%5%]!<%H$r9T$J$$$^$7$?!#(B
 $B$J$i$S$K(B FTP/IRC DCC $B$N%U%!%$%"%&%)!<%k$N%P%$%Q%9$G$9!#(B
-
 .Sh 8. $B<U<-(B
 
 $B0J2<!"35N,;~Be=g$K<($9$N$O!"(B
@@ -603,7 +728,6 @@
 .It Andrzej Bialeki
 .It Gordon Burditt
 .El
-
 .Sh $BIUO?(B: $B35G0E*$JGX7J(B
 $B$3$NIUO?$O!"%=!<%9%3!<%I$N=$@5$r8!F$$7$F$$$k?M$d!"(B
 $B%Q%1%C%H%(%$%j%"%7%s%04X?t$r;HMQ$7$F(B

----Next_Part(Sun_Apr__7_01:44:21_2002_749)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Content-Description: libalias.3.1_25-1_26
Content-Disposition: inline; filename="libalias.3.1_25-1_26"

--- libalias.3.1.25	Sat Apr  6 23:34:07 2002
+++ libalias.3.1.26	Sun Apr  7 00:22:46 2002
@@ -1,57 +1,22 @@
 .\" jpman %Id%
 .\"
-.Dd July, 1997
+.Dd April 13, 2000
 .Dt LIBALIAS 3
-.Os
+.Os FreeBSD
 .Sh $BL>>N(B
 .Nm libalias
-.Nd $B%9%+%l!<%I$*$h$S%"%I%l%9JQ49(B (NAT) $BMQ%Q%1%C%H%(%$%j%"%7%s%0%i%$%V%i%j(B
+.Nd $B%9%+%l!<%I$*$h$S%M%C%H%o!<%/%"%I%l%9JQ49MQ%Q%1%C%H%(%$%j%"%7%s%0%i%$%V%i%j(B
 .Sh $B=q<0(B
 .Fd #include <sys/types.h>
 .Fd #include <netinet/in.h>
 .Fd #include <alias.h>
-
+.Pp
 $B4X?t$N%W%m%H%?%$%W$O!"$3$N%F%-%9%H$NK\J8$G>R2p$7$^$9!#(B
 .Sh $B2r@b(B
 .Nm
 $B%i%$%V%i%j$O!"(BIP $B%Q%1%C%H$N%(%$%j%"%9$*$h$S%(%$%j%"%92r=|MQ$N4X?t72$G$"$j!"(B
 $B%^%9%+%l!<%I$*$h$S%M%C%H%o!<%/%"%I%l%9JQ49(B (NAT) $B$rL\E*$H$7$F$$$^$9!#(B
-.Sh $BL\<!(B
-.Bd -literal -offset left
-1. $B=xJ8(B
-2. $B=i4|2=$H@)8f(B
-    2.1 PacketAliasInit()
-    2.2 PacketAliasUninit()
-    2.3 PacketAliasSetAddress()
-    2.4 PacketAliasSetMode()
-    2.5 PacketAliasSetFWBase()
-3. $B%Q%1%C%HA`:n(B
-    3.1 PacketAliasIn()
-    3.2 PacketAliasOut()
-4. $B%]!<%H$H%"%I%l%9$N%j%@%$%l%/%7%g%s(B
-    4.1 PacketAliasRedirectPort()
-    4.2 PacketAliasRedirectAddr()
-    4.3 PacketAliasRedirectDelete()
-    4.4 PacketAliasProxyRule()
-    4.5 PacketAliasPptp()
-5. $B%U%i%0%a%s%HA`:n(B
-    5.1 PacketAliasSaveFragment()
-    5.2 PacketAliasGetFragment()
-    5.3 PacketAliasFragmentIn()
-6. $B$=$NB>$N4X?t(B
-    6.1 PacketAliasSetTarget()
-    6.2 PacketAliasCheckNewLink()
-    6.3 PacketAliasInternetChecksum()
-7. $B:n<T(B
-8. $B<U<-(B
-
-$BIUO?(B A: $B35G0E*GX7J(B
-    A.1 $B%(%$%j%"%7%s%0!&%j%s%/(B
-    A.2 $B@EE*$*$h$SF0E*%j%s%/(B
-    A.3 $BItJ,E*Dj5A$K$h$k%j%s%/(B
-    A.4 $BF0E*%j%s%/$N@8@.(B
-.Ed
-.Sh 1. $B=xJ8(B
+.Pp $BF3F~(B
 $B$3$N%i%$%V%i%j$O!"(BIP $B$N%m!<%+%k%M%C%H%o!<%/%"%I%l%9$NJQ49(B
 $B$*$h$SJQ49=hM}%5%]!<%HMQ$K%G%6%$%s$5$l$?4X?t$G$9!#(B
 $B%m!<%+%k%M%C%H%o!<%/$NL$EPO?$N(B IP $B%"%I%l%9$+$iH/?.$9$k%Q%1%C%H$O!"(B
@@ -59,7 +24,7 @@
 $B30$+$iF~$C$F$/$k%Q%1%C%H$KBP$7$F$O!"(B
 $B%m!<%+%k%M%C%H%o!<%/>e$N@5$7$$%^%7%s$KAw$i$l$k$h$&(B
 $B%(%$%j%"%92r=|$5$l$^$9!#(B
-
+.Pp
 $B%Q%1%C%H%(%$%j%"%7%s%0%(%s%8%s$K$O!"(B
 $B$"$kDxEY$N=@Fp@-$,AH$_9~$^$l$F$$$^$9!#(B
 $B$b$C$H$b4JC1$JA`:n$G$O!"(B
@@ -75,111 +40,139 @@
 $B99$K!"%Q%V%j%C%/%"%I%l%9$*$h$S%]!<%H$O(B
 $B8GDjE*$K%W%i%$%Y!<%H%"%I%l%9$*$h$S%]!<%H$K(B
 $B%j%@%$%l%/%H$5$;$k$3$H$,$G$-$^$9!#(B
-
+.Pp
 $B%Q%1%C%H%(%$%j%"%7%s%0%(%s%8%s$O!"(B
 $B%+!<%M%k30It$N%f!<%66u4V$G:nMQ$9$k$h$&$K@_7W$5$l$F$*$j!"(B
 $B$=$N$?$a%W%i%$%Y!<%H$J%+!<%M%k%G!<%?9=B$$X$N%"%/%;%9$OITMW$G$9!#(B
 $B$?$@$7!"%=!<%9%3!<%I$O%+!<%M%k4D6-$KAH$_9~$`$3$H$,$G$-$^$9!#(B
-.Sh 2. $B=i4|2=$H@)8f(B
+.Sh $B=i4|2=$H@)8f(B
 2 $B$D$NFC<l$J4X?t!"(B
-PacketAliasInit() $B$*$h$S(B PacketAliasSetAddress() $B$O!"(B
+.Fn PacketAliasInit
+$B$*$h$S(B
+.Fn PacketAliasSetAddress
+$B$O!"(B
 $B%Q%1%C%HA`:n$,40N;$9$kA0$K8F$VI,MW$,$"$j$^$9!#(B
 $B$^$?!"%Q%1%C%H%(%$%j%"%7%s%0%(%s%8%s$NA`:n%b!<%I$KBP$7(B
-PacketAliasSetMode() $B8F$S=P$7$K$h$j%+%9%?%^%$%:$G$-$^$9!#(B
-.Ss 2.1 PacketAliasInit()
-
+.Fn PacketAliasSetMode
+$B8F$S=P$7$K$h$j%+%9%?%^%$%:$G$-$^$9!#(B
+.Pp
 .Ft void
 .Fn PacketAliasInit "void"
-
+.Bd -ragged -offset indent
 $B$3$N4X?t$K$O0z?t$,$J$/!"$^$?La$jCM$b$"$j$^$;$s!#(B
 $BFbIt%G!<%?9=B$$N=i4|2=$K;HMQ$5$l$^$9!#(B
 $B0J2<$K<($9%b!<%I%S%C%H$O(B
-PacketAliasInit() $B$N8F$S=P$78e!"I,$:%;%C%H$5$l$^$9!#(B
-$B$3$l$i$N%b!<%I%S%C%H$N0UL#$K$D$$$F$O!"(B
-$B%;%/%7%g%s(B 2.3 $B$r;2>H$7$F$/$@$5$$!#(B
-.Bd -literal -offset indent
-    PKT_ALIAS_USE_SAME_PORTS
-    PKT_ALIAS_USE_SOCKETS
-    PKT_ALIAS_RESET_ON_ADDR_CHANGE
-
-.Ed
+.Fn PacketAliasInit
+$B$N8F$S=P$78e!"I,$:%;%C%H$5$l$^$9!#(B
+$B$3$l$i$N%b!<%I%S%C%H$N0UL#$K$D$$$F$O!"8e=R$N(B
+.Fn PacketAliasSetMode
+$B$r;2>H$7$F$/$@$5$$!#(B
+.Bl -item -offset indent -compact
+.It
+.Dv PKT_ALIAS_SAME_PORTS
+.It
+.Dv PKT_ALIAS_USE_SOCKETS
+.It
+.Dv PKT_ALIAS_RESET_ON_ADDR_CHANGE
+.El
+.Pp
 $B$3$N4X?t$O%Q%1%C%H%(%$%j%"%9%(%s%8%s$KBP$7!"(B
 $B>o;~F10l$N=i4|>uBV$rJV$7$^$9!#(B
-PacketAliasSetAddress() $B8F$S=P$7$O!"$3$l$KB3$$$F9T$J$$$^$9!#(B
+.Fn PacketAliasSetAddress
+$B8F$S=P$7$O!"$3$l$KB3$$$F9T$J$$$^$9!#(B
 $B$^$?!"A0=R$7$?%G%U%)%k%H%b!<%I%S%C%H$rJQ99$9$k>l9g$O(B
-PacketAliasSetMode() $B$r8F$S=P$7$^$9!#(B
-
+.Fn PacketAliasSetMode
+$B$r8F$S=P$7$^$9!#(B
+.Pp
 $B$3$N4X?t8F$S=P$7$O!"(B
 $B%Q%1%C%HA`:n$NA0$K%W%m%0%i%`3+;OCJ3,$G<B9T$9$kI,MW$,$"$j$^$9!#(B
-.Ss 2.2 PacketAliasUninit()
-
+.Ed
+.Pp
 .Ft void
-.Fn PacketAliasUninit "void"
-
+.Fn PacketAliasUninit void
+.Bd -ragged -offset indent
 $B$3$N4X?t$K$O0z?t$bLa$jCM$b$J$/!"(B
 $BFbIt%G!<%?9=B$$K@_Dj$5$l$?CM$r%/%j%"$9$k>l9g$K;HMQ$5$l$^$9!#(B
-
+.Pp
 $B$3$N4X?t$O%W%m%0%i%`$G%(%$%j%"%9%(%s%8%s$N;HMQ$r(B
 $BDd;_$5$;$k>l9g$K8F$S=P$9I,MW$,$"$j$^$9!#(B
 $B$=$l$K$h$j!"%U%!%$%"%&%)!<%k$K6u$$$?7d4V$r:I$0$3$H$K$J$j$^$9!#(B
-$B0JA0$H$N8_49@-$dFCJL$J%;%-%e%j%F%#$rHw$($k$?$a$K!"(B
-PacketAliasInit() $B$,(B atexit() $B%A%'!<%s$KIU2C$5$l$F$$$^$9!#(B
+$B0JA0$H$N8_49@-$dFCJL$J%;%-%e%j%F%#$rHw$($k$?$a$K!"K\4X?t$r(B
+.Fn PacketAliasInit
+$B$,(B
+.Xr atexit 3
+$B%A%'!<%s$KIU2C$7$F$$$^$9!#(B
 $B2?EY8F$S=P$7$F$bLdBj$O$"$j$^$;$s!#(B
-.Ss 2.3 PacketAliasSetAddress()
-
+.Ed
+.Pp
 .Ft void
 .Fn PacketAliasSetAddress "struct in_addr addr"
-
+.Bd -ragged -offset indent
 $B$3$N4X?t$O!"%m!<%+%kNN0h$N%M%C%H%o!<%/30$X(B
 $B%Q%1%C%H$,H/?.$9$k@h$N%=!<%9%"%I%l%9$r%;%C%H$7$^$9!#(B
-PacketAliasRedirectAddr() $B$K$h$j@8@.$5$l$?(B
+.Fn PacketAliasRedirectAddr
+$B$K$h$j@8@.$5$l$?(B
 $B@EE*%"%I%l%9BP1~$K$h$j>e=q$-$5$l$J$$8B$j!"(B
 $BH/?.%Q%1%C%H$O$9$Y$F$3$N%"%I%l%9$K:FBP1~IU$1$5$l$^$9!#(B
-
-PKT_ALIAS_RESET_ON_ADDR_CHANGE $B%b!<%I%S%C%H(B
+.Pp
+.Dv PKT_ALIAS_RESET_ON_ADDR_CHANGE
+$B%b!<%I%S%C%H(B
 ($B%G%U%)%k%HA`:n%b!<%I(B) $B$,@_Dj$5$l$F$$$k>l9g!"(B
 $BFbItE*$J%(%$%j%"%9%j%s%/%F!<%V%k$O!"(B
 $B%(%$%j%"%9%"%I%l%9$,JQ99$5$l$k$?$S!"(B
 $B%j%;%C%H$5$l$^$9!#(B
 $B$3$l$O0lO"$N%@%$%"%k%"%C%WA`:n$NCf$G(B
 IP $B%"%I%l%9>uBV$K4X$o$i$:!"(B
-ppp $B$N$h$&$J%$%s%?%U%'!<%9$KJXMx$G$9!#(B
-
-PKT_ALIAS_RESET_ON_ADDR_CHANGE $B%b!<%I%S%C%H$,(B
+.Xr ppp 8
+$B$N$h$&$J%$%s%?%U%'!<%9$KJXMx$G$9!#(B
+.Pp
+.Dv PKT_ALIAS_RESET_ON_ADDR_CHANGE
+$B%b!<%I%S%C%H$,(B
 0 $B$K%;%C%H$5$l$F$$$?>l9g!"$3$N4X?t$O!"(B
 $B%Q%1%C%H4V$N%(%$%j%"%9$NF0E*JQ99$K;HMQ$G$-$^$9(B
 ($B%*!<%P%X%C%I$N>/$J$$8F$S=P$7$G$9(B)$B!#(B
-
+.Pp
 $B%Q%1%C%HA`:n$NA0$K$3$N4X?t$r8F$S=P$9I,MW$,$"$j$^$9!#(B
-.Ss 2.4 PacketAliasSetMode()
-
+.Ed
+.Pp
 .Ft unsigned int
-.Fn PacketAliasSetMode "unsigned int mode" "unsigned int mask"
-
+.Fn PacketAliasSetMode "unsigned int flags" "unsigned int mask"
+.Bd -ragged -offset indent
 $B$3$N4X?t$O!"(B
-.Em mode
+.Fa flags
 $BCM$K=>$C$F%b!<%I%S%C%H$N@_Dj$r%/%j%"$r9T$J$$$^$9!#(B
-.Em mask
+.Fa mask
 $B$K$h$j<($5$l$?%S%C%H$@$1$,BP>]$H$J$j$^$9!#(B
-$B0J2<$K<($9%b!<%I%S%C%H$O(B alias.h $B$GDj5A$5$l$F$$$^$9!#(B
-.Bl -hang -offset left
-.It PKT_ALIAS_LOG.
-/var/log/alias.log $B%U%!%$%k$X$N%m%.%s%0$r2DG=$K$7$^$9!#(B
+$B0J2<$K<($9%b!<%I%S%C%H$O(B
+.Aq Pa alias.h
+$B$GDj5A$5$l$F$$$^$9!#(B
+.Bl -tag -width indent
+.It Dv PKT_ALIAS_LOG
+.Pa /var/log/alias.log
+$B%U%!%$%k$X$N%m%.%s%0$r2DG=$K$7$^$9!#(B
 $B%m%0%U%!%$%k$K$O!"%(%$%j%"%9!&%j%s%/$N:n@.!":o=|$N$?$S$K(B
 icmp$B!"(Btcp$B!"(Budp $B$X$N%j%s%/2s?t$,5-O?$5$l$^$9!#(B
-$B%m%0%U%!%$%k$,(B "tail -f" $B$K$h$j7QB3E*$K8+$k$3$H$,$G$-$l$P!"(B
+$B%m%0%U%!%$%k$,(B
+.Xr tail 1
+$B$K$h$j7QB3E*$K8+$k$3$H$,$G$-$l$P!"(B
 $B<g$H$7$F%G%P%C%0MQ$H$7$FM-8z$G$9!#(B
-.It PKT_ALIAS_DENY_INCOMING.
+.It Dv PKT_ALIAS_DENY_INCOMING
 $B$3$N%b!<%I%S%C%H$,@_Dj$5$l$F$$$k$H!"(B
 TCP $B@\B3$d(B UDP $B%H%i%s%6%/%7%g%s$K4XO"$9$k(B
 $B30It$+$iCe?.$9$k$"$i$f$k%Q%1%C%H$O!"(B
-$B8F$S=P$7%W%m%0%i%`$GL5;k(B (PacketAliasIn() $B$G$"$l$P(B
-PKT_ALIAS_IGNORED $B$rJV$9(B) $B$9$k$?$a$N0u$,IU$1$i$l$^$9!#(B
+$B8F$S=P$7%W%m%0%i%`$GL5;k(B
+.Po
+.Fn PacketAliasIn
+$B$G$"$l$P(B
+.Dv PKT_ALIAS_IGNORED
+$B$rJV$9(B
+.Pc
+$B$9$k$?$a$N0u$,IU$1$i$l$^$9!#(B
 $B%Q%1%C%H$N%(%$%j%"%9%[%9%H$d(B
 $B%m!<%+%k%M%C%H%o!<%/$+$iH/@8$7$?@\B3$d(B
 $B%H%i%s%6%/%7%g%s$KBP$9$k%l%9%]%s%9$KBP$9$k1F6A$O$"$j$^$;$s!#(B
 $B$3$N%b!<%I%S%C%H$OJRJ}8~$N%U%!%$%"%&%)!<%k$r<BAu$9$k;~$KM-8z$G$9!#(B
-.It PKT_ALIAS_SAME_PORTS.
+.It Dv PKT_ALIAS_SAME_PORTS
 $B$3$N%b!<%I%S%C%H$,@_Dj$5$l$F$$$k$H!"(B
 $B%Q%1%C%H%(%$%j%"%9%(%s%8%s$O<B:]$N%m!<%+%k%]!<%HHV9f$r(B
 $B$=$N$^$^%(%$%j%"%9%]!<%HHV9f$K$7$h$&$H$7$^$9!#(B
@@ -188,7 +181,7 @@
 5 $B$D$N%Q%i%a!<%?$N%Z%"$,0l0U$G$"$l$P2DG=$G$9!#(B
 $B6%9g$,5/$-$k>l9g$O!"$3$N%S%C%H$,@_Dj$5$l$F$$$F$b(B
 $B%(%$%j%"%9%]!<%HHV9f$K$OJL$NHV9f$,A*Br$5$l$^$9!#(B
-.It PKT_ALIAS_USE_SOCKETS.
+.It Dv PKT_ALIAS_USE_SOCKETS
 $B$3$N%S%C%H$O!"%(%$%j%"%9%[%9%H$,%Q%1%C%H0\Aw;~$N$h$&$K(B
 $B%M%C%H%o!<%/>e$K%H%i%U%#%C%/$rH/@8$5$;$k>l9gI,$:@_Dj$7$^$9!#(B
 $B%Q%1%C%H%(%$%j%"%9%[%9%H$,ITL@$J%[%9%H%"%I%l%9$d(B
@@ -198,15 +191,14 @@
 $B%W%l!<%9%[%k%@$H$7$F%=%1%C%H$N3d$jEv$F$rDj5A$7$^$9!#(B
 $B@\B3$,3NN)$5$l$k$H!"(B
 $BDL>o$O(B 1 $BJ,$[$I$G%=%1%C%H$OJD$8$i$l$^$9!#(B
-.It PKT_ALIAS_UNREGISTERED_ONLY.
+.It Dv PKT_ALIAS_UNREGISTERED_ONLY
 $B$3$N%S%C%H$,@_Dj$5$l$F$$$k$H!"L$EPO?$N%"%I%l%96u4V$+$i@8$8$?0J30$N(B
 $B%m!<%+%k%M%C%H%o!<%/>e$N%H%i%U%#%C%/$,L5;k$5$l$^$9!#(B
 $BI8=`%/%i%9(B A, B $B$*$h$S(B C $B$NL$EPO?%"%I%l%9$O<!$NDL$j$G$9!#(B
 .Bd -literal -offset indent
-    10.0.0.0     ->   10.255.255.255   (Class A subnet)
-    172.16.0.0   ->   172.31.255.255   (Class B subnets)
-    192.168.0.0  ->   192.168.255.255  (Class C subnets)
-
+10.0.0.0     -> 10.255.255.255   (Class A subnet)
+172.16.0.0   -> 172.31.255.255   (Class B subnets)
+192.168.0.0  -> 192.168.255.255  (Class C subnets)
 .Ed
 $B$3$N%*%W%7%g%s$O!"%Q%1%C%H%(%$%j%"%9%[%9%H$,(B
 $BJL!9$N%$%s%?%U%'!<%9$KEPO?:Q$_$*$h$S(B
@@ -214,135 +206,159 @@
 $BEPO?:Q$_%5%V%M%C%H$O40A4$K30It$H@\B3$7$F$$$k$N$G!"(B
 $B%Q%1%C%H%(%$%j%"%9%(%s%8%s$K$h$j(B
 $B%Q%1%C%H$rAw$j=P$9I,MW$O$"$j$^$;$s!#(B
-.It PKT_ALIAS_RESET_ON_ADDR_CHANGE.
-$B$3$N%b!<%I%S%C%H$,@_Dj$5$l$F$*$j!"(BPacketAliasSetAddress() $B$,(B
+.It Dv PKT_ALIAS_RESET_ON_ADDR_CHANGE
+$B$3$N%b!<%I%S%C%H$,@_Dj$5$l$F$*$j!"(B
+.Fn PacketAliasSetAddress
+$B$,(B
 $B%(%$%j%"%9%"%I%l%9JQ99$N$?$a$K8F$P$l$k%1!<%9$G$O!"(B
 $B%Q%1%C%H%(%$%j%"%9%(%s%8%s$NFbIt%j%s%/%F!<%V%kFbMF$,%/%j%"$5$l$^$9!#(B
 $B$3$NA`:n%b!<%I$O!"(B
 $B%@%$%"%k%"%C%W4V$G$N%$%s%?%U%'!<%9%"%I%l%9$rJQ99$7$?$j!"(B
-$BJQ99$;$:$K$*$/(B ppp $B%j%s%/$N>l9g$KM-8z$G$9!#(B
+$BJQ99$;$:$K$*$/(B
+.Xr ppp 8
+$B%j%s%/$N>l9g$KM-8z$G$9!#(B
 $B$3$N%b!<%I%S%C%H$,@_Dj$5$l$F$$$J$$>l9g!"(B
 $B%j%s%/%F!<%V%k$O%"%I%l%9$,JQ99$5$l$F$b%j%;%C%H$5$l$^$;$s!#(B
-.It PKT_ALIAS_PUNCH_FW.
-$B$3$N%*%W%7%g%s$K$h$j!"(Blibalias $B$O!"(B
-FTP/IRC DCC $B@\B3$KBP$9$k(B ipfw $B%Y!<%9$N%U%!%$%"%&%)!<%k$N(B
+.It Dv PKT_ALIAS_PUNCH_FW
+$B$3$N%*%W%7%g%s$K$h$j!"(B
+.Nm
+$B$O!"(B
+FTP/IRC DCC $B@\B3$KBP$9$k(B
+.Xr ipfirewall 4
+$B%Y!<%9$N%U%!%$%"%&%)!<%k$N(B
 `$B7d4V(B' $B$r:n$k$3$H$K$J$j$^$9!#(B
 $B3+$1$i$l$?7d4V$O(B IP $B%"%I%l%9$d%]!<%H$H7k$SIU$$$F$*$j!"(B
 $BJL$N@\B3$K;HMQ$9$k$3$H$O$G$-$^$;$s!#(B
 $B7d4V$O$=$l$r;HMQ$7$F$$$k@\B3$,>CLG$9$l$P=|5n$5$l$^$9!#(B
-libalias $B$r;HMQ$7$F$$$k%W%m%0%i%`$r6/@)E*$K=*N;$5$;$k(B
+.Nm
+$B$r;HMQ$7$F$$$k%W%m%0%i%`$r6/@)E*$K=*N;$5$;$k(B
 ($BNc$($P(B kill -9) $B;EAH$_$O!"%U%i%0$N>uBV$K$h$j!"(B
-$B7d4V$K3d$jEv$F$i$l$?A4(B ipfw $BNN0h$r%/%j%"$9$k$3$H$G<B8=$5$l$F$$$^$9!#(B
-$B$3$N$3$H$O$^$?(B PacketAliasSetFWBase() $B$KBP$9$k(B
+$B7d4V$K3d$jEv$F$i$l$?A4%U%!%$%"%%%*!<%kNN0h$r%/%j%"$9$k$3$H$G<B8=$5$l$F$$$^$9!#(B
+$B$3$N$3$H$O$^$?(B
+.Fn PacketAliasSetFWBase
+$B$KBP$9$k(B
 $B=i4|8F$S=P$7$G$b5/$3$j$^$9!#(B
 $B$3$N8F$S=P$7$O%U%i%0$N@_Dj$NA0$K9T$J$&I,MW$,$"$j$^$9!#(B
-.It PKT_ALIAS_REVERSE.
+.It Dv PKT_ALIAS_REVERSE
 $BK\%*%W%7%g%s$O!"%i%$%V%i%j$,Fb8~$-%Q%1%C%H$H308~$-%Q%1%C%H$r07$&J}K!$r(B
 $BH?E>$5$;$^$9!#(B
 $B$3$l$K$h$j!"30It%$%s%?%U%'!<%9$NBe$j$KFbIt%$%s%?%U%'!<%9$rDL2a$9$k(B
 $B%Q%1%C%H$r?)$o$;$k$3$H$,$G$-$^$9!#(B
-.It PKT_ALIAS_PROXY_ONLY.
+.It Dv PKT_ALIAS_PROXY_ONLY
 $BK\%*%W%7%g%s$O!"%i%$%V%i%j$,F)2a%W%m%-%7%k!<%k$N$_$K=>$&$h$&;X<($7$^$9!#(B
 $BDL>o$N%Q%1%C%H%(%$%j%"%9$O<B9T$5$l$^$;$s!#(B
 $B>\:Y$O8e=R$N(B
 .Fn PacketAliasProxyRule
 $B$r;2>H$7$F$/$@$5$$!#(B
 .El
-
-.Ss 2.5 PacketAliasSetFWBase()
-
+.Ed
+.Pp
 .Ft void
 .Fn PacketAliasSetFWBase "unsigned int base" "unsigned int num"
-
-IPFW $B$K(B (PKT_ALIAS_PUNCH_FW $B%U%i%0$K$h$j(B)
+.Bd -ragged -offset indent
+$B%U%!%$%"%&%)!<%k$K(B (
+.Dv PKT_ALIAS_PUNCH_FW
+$B%U%i%0$K$h$j(B)
 $B%U%!%$%"%&%)!<%k$N7d4V$KBP$9$kNN0h$r3d$jEv$F$^$9!#(B
 $BNN0h$OA4=i4|2=%k!<%k$K=>$$%/%j%"$5$l$^$9!#(B
-.Sh 3. $B%Q%1%C%HA`:n(B
+.Ed
+.Sh $B%Q%1%C%HA`:n(B
 $B%Q%1%C%H=hM}4X?t$O!"Ce?.(B ($B%j%b!<%H(B -> $B%m!<%+%k(B)
 $B$*$h$SH/?.(B ($B%m!<%+%k(B -> $B%j%b!<%H(B) $B%Q%1%C%H$N=$@5$K;HMQ$5$l$^$9!#(B
 $B%M%C%H%o!<%/%$%s%?%U%'!<%97PM3$G$N%Q%1%C%H$NAw<u?.$O!"(B
 $B8F$S=P$7B&%W%m%0%i%`$,9T$J$$$^$9!#(B
-
-PacketAliasInit() $B$*$h$S(B PacketAliasSetAddress() $B$H$H$b$K!"(B
-PacketAliasIn() $B$H(B PacketAliasOut() $B$N(B
+.Pp
+.Fn PacketAliasInit
+$B$*$h$S(B
+.Fn PacketAliasSetAddress
+$B$H$H$b$K!"(B
+.Fn PacketAliasIn
+$B$H(B
+.Fn PacketAliasOut
+$B$N(B
 2 $B$D$N%Q%1%C%H=hM}%k!<%A%s$,4pK\E*$J!"(B
 $B8+$+$1$N(B IP $B<BAu$KI,MW$J:G>.5!G=$H$7$FMQ0U$5$l$F$$$^$9!#(B
-.Ss 3.1 PacketAliasIn()
-
+.Pp
 .Ft int
 .Fn PacketAliasIn "char *buffer" "int maxpacketsize"
-
+.Bd -ragged -offset indent
 $B%j%b!<%H$N%^%7%s$+$i%m!<%+%k%M%C%H%o!<%/$X$NCe?.%Q%1%C%H$O(B
 $B$3$N4X?t$K$h$j%(%$%j%"%92r=|$5$l$^$9!#(B
 IP $B%Q%1%C%H$O0z?t(B
-.Em buffer
+.Fa buffer
 $B$G;XDj$5$l$^$9!#(B
-.Em maxpacketsize
+.Fa maxpacketsize
 $B$O%Q%1%C%H$r4^$`%G!<%?9=B$$ND9$5$r<($7$F$*$j!"(B
 $B<B:]$N%Q%1%C%HD9$h$jBg$-$/$H$kI,MW$,$"$j$^$9!#(B
-
+.Pp
 $BLa$j%3!<%I(B :
-.Bl -hang -offset left
-.It PKT_ALIAS_ERROR.
-$B%Q%1%C%H%(%$%j%"%7%s%0%(%s%8%sFb$GH/@8$7$?FbIt%(%i!<!#(B
-.It PKT_ALIAS_OK.
+.Bl -tag -width indent
+.It Dv PKT_ALIAS_OK
 $B%Q%1%C%H%(%$%j%"%7%s%0=hM}$O@.8y$7$^$7$?!#(B
-.It PKT_ALIAS_IGNORED.
+.It Dv PKT_ALIAS_IGNORED
 $B%Q%1%C%H$OL5;k$5$l!"%(%$%j%"%9$O2r=|$5$l$^$;$s$G$7$?!#(B
 $B$3$l$O!"%W%m%H%3%k$,G'<1$5$l$J$$$H$-!"(B
 ICMP $B$N%a%C%;!<%8%?%$%W$O=hM}$5$l$F$$$J$$$+!"(B
 $B$"$k$$$O?7$?$J@\B3$K$D$$$F$NF~NO%Q%1%C%H$,(B
-$BL5;k$5$l$?$H$-$KH/@8$7$^$9(B
-($B%;%/%7%g%s(B 2.2 $B$N(B PKT_ALIAS_DENY_INCOMING $B$r;2>H$7$F$/$@$5$$(B)$B!#(B
-.It PKT_ALIAS_UNRESOLVED_FRAGMENT.
+$BL5;k$5$l$?$H$-$KH/@8$7$^$9(B (
+.Fn PacketAliasSetMode
+$B$,(B
+.Dv PKT_ALIAS_DENY_INCOMING
+$B$r@_Dj$7$?>l9g(B)$B!#(B
+.It Dv PKT_ALIAS_UNRESOLVED_FRAGMENT
 $B%X%C%@%U%i%0%a%s%H$,L$Aw?.$N$?$a(B
 $B%U%i%0%a%s%H$,2r>C$5$l$J$$$H$-$K$3$N%3!<%I$,JV$5$l$F$-$^$9!#(B
 $B$3$N>l9g!"%U%i%0%a%s%H$O%X%C%@%U%i%0%a%s%H$,8+$D$+$k$^$G(B
-PacketAliasSaveFragment() $B$K$h$jJ]B8$7$F$*$/I,MW$,$"$j$^$9!#(B
-.It PKT_ALIAS_FOUND_HEADER_FRAGMENT.
+.Fn PacketAliasSaveFragment
+$B$K$h$jJ]B8$7$F$*$/I,MW$,$"$j$^$9!#(B
+.It Dv PKT_ALIAS_FOUND_HEADER_FRAGMENT
 $B%Q%1%C%H%(%$%j%"%7%s%0=hM}$O@.8y$7!"(B
 $B%X%C%@%U%i%0%a%s%H$b8+$D$+$j$^$7$?!#(B
 $B$3$l$O2r>C$5$l$F$$$J$$%U%i%0%a%s%H$r!"(B
-PacketAliasGetFragment() $B$K$h$jC5$7!"(B
-PacketAliasFragmentIn() $B$r;H$C$F(B
+.Fn PacketAliasGetFragment
+$B$K$h$jC5$7!"(B
+.Fn PacketAliasFragmentIn
+$B$r;H$C$F(B
 $B%(%$%j%"%92r=|$9$k;~$N%7%0%J%k$H$J$j$^$9!#(B
+.It Dv PKT_ALIAS_ERROR
+$B%Q%1%C%H%(%$%j%"%7%s%0%(%s%8%sFb$GH/@8$7$?FbIt%(%i!<!#(B
 .El
-.Ss 3.2 PacketAliasOut()
-
+.Ed
+.Pp
 .Ft int
 .Fn PacketAliasOut "char *buffer" "int maxpacketsize"
-
+.Bd -ragged -offset indent
 $B%m!<%+%k%M%C%H%o!<%/$+$i%j%b!<%H$N%^%7%s$XH/?.$9$k%Q%1%C%H$O!"(B
 $B$3$N4X?t$K$h$j%(%$%j%"%9$5$l$^$9!#(B
 IP $B%Q%1%C%H$O0z?t(B
-.Em buffer
+.Fa buffer
 $B$G;XDj$5$l!"(B
-.Em maxpacketsize
+.Fa maxpacketsize
 $B$O%Q%1%C%H$,<h$j$&$k:GBgD9$r<($7$^$9!#(B
 IP $BI=8=7A<0%W%m%H%3%k$O!"%"%I%l%9$H!"=$@5$5$l!"(B
 $B$^$?%Q%1%C%HD9$NJQ99$K$+$i$`0lO"$N%G!<%?Fb$N%]!<%H>pJs$r@_Dj$7$^$9!#(B
 $B%W%m%H%3%k$N$h$/CN$i$l$?;vNc$H$7$F$O!"(B
 FTP $B$H(B IRC DDC $B$,$"$j$^$9!#(B
-
+Pp
 $BLa$j%3!<%I(B :
-.Bl -hang -offset left
-.It PKT_ALIAS_ERROR.
-$B%Q%1%C%H%(%$%j%"%7%s%0Fb$GH/@8$7$?FbIt%(%i!<!#(B
-.It PKT_ALIAS_OK.
+.Bl -tag -width indent
+.It Dv PKT_ALIAS_OK
 $B%Q%1%C%H%(%$%j%"%7%s%0=hM}$O@.8y$7$^$7$?!#(B
-.It PKT_ALIAS_IGNORED.
+.It Dv PKT_ALIAS_IGNORED
 $B%Q%1%C%H$OL5;k$5$l!"%(%$%j%"%92r=|$O$5$l$^$;$s$G$7$?!#(B
 $B$3$l$O%W%m%H%3%k$,G'<1$5$l$J$$$H$-$+!"$"$k$$$O(B ICMP
 $B%a%C%;!<%8%?%$%W$,=hM}$5$l$J$$$H$-$KH/@8$7$^$9!#(B
+.It Dv PKT_ALIAS_ERROR
+$B%Q%1%C%H%(%$%j%"%7%s%0Fb$GH/@8$7$?FbIt%(%i!<!#(B
 .El
-.Sh 4. $B%]!<%H$H%"%I%l%9$N%j%@%$%l%/%7%g%s(B
+.Ed
+.Sh $B%]!<%H$H%"%I%l%9$N%j%@%$%l%/%7%g%s(B
 $B$3$N%;%/%7%g%s$G2r@b$7$F$$$k4X?t$O!"(B
 $B%m!<%+%k%M%C%H%o!<%/>e$N%^%7%s$K$*$$$F!"(B
 $B30It%M%C%H%o!<%/$+$i?7$?$JCe?.$KBP$9$k%"%/%;%9$r$"$kDxEY2DG=$K$7$^$9!#(B
 $B8D!9$N%]!<%H$O!":FBP1~IU$1$d(B
 $B8GDjE*$J%M%C%H%o!<%/%"%I%l%9$NJQ49$rDj5A$9$k$3$H$,$G$-$^$9!#(B
-.Ss 4.1 PacketAliasRedirectPort()
-
+.Pp
 .Ft struct alias_link *
 .Fo PacketAliasRedirectPort
 .Fa "struct in_addr local_addr"
@@ -353,146 +369,178 @@
 .Fa "u_short alias_port"
 .Fa "u_char proto"
 .Fc
-
+.Bd -ragged -offset indent
 $B$3$N4X?t$O!"=jDj$N%j%b!<%H%"%I%l%9$d%]!<%H$+$i(B
 $B%(%$%j%"%9%"%I%l%9$d%]!<%H$X$N%H%i%U%#%C%/$r!"(B
 $B;XDj$5$l$?%m!<%+%k%"%I%l%9$d%]!<%H$X$N%j%@%$%l%/%H$rDj5A$7$^$9!#(B
 $B%Q%i%a!<%?(B
-.Em proto
-$B$O(B IPPROTO_TCP $B$+(B IPPROTO_UDP $B$N$I$A$i$+$K3:Ev$7!"(B
-<netinet/in.h> $B$GDj5A$5$l$^$9!#(B
-
-.Em local_addr 
+.Fa proto
+$B$O(B
+.Dv IPPROTO_TCP
+$B$+(B
+.Dv IPPROTO_UDP
+$B$N$I$A$i$+$K3:Ev$7!"(B
+.Aq Pa netinet/in.h
+$B$GDj5A$5$l$^$9!#(B
+.Pp
+.Fa local_addr 
 $B$"$k$$$O(B
-.Em alias_addr
+.Fa alias_addr
 $B$,(B 0 $B$J$i$P!"%Q%1%C%H%(%$%j%"%7%s%0%"%I%l%9$O(B
-PacketAliasSetAddress() $B$G@_Dj$5$l$?$b$N$r;HMQ$7$^$9!#(B
-PacketAliasRedirectPort() $B8F$S=P$7$N8e$G(B
-PacketAliasSetAddress() $B8F$S=P$7$,<B9T$5$l!"(B
+.Fn PacketAliasSetAddress
+$B$G@_Dj$5$l$?$b$N$r;HMQ$7$^$9!#(B
+.Fn PacketAliasRedirectPort
+$B8F$S=P$7$N8e$G(B
+.Fn PacketAliasSetAddress
+$B8F$S=P$7$,<B9T$5$l!"(B
 $B%"%I%l%9$,JQ99$5$l$F$b!"(B
 $B0z?t$,(B 0 $B$N>l9g$3$l$OL58z$K$J$j$^$9!#(B
-
-.Em remote_addr
+.Pp
+.Fa remote_addr
 $B$,(B 0 $B$N>l9g!"(B
 $B%Q%1%C%H$r%j%b!<%H%"%I%l%9$+$i%j%@%$%l%/%H$7$^$9!#(B
 $BF1MM$K!"(B
-.Em remote_port
+.Fa remote_port
 $B$,(B 0 $B$N>l9g!"%j%b!<%H$N%]!<%HHV9f$+$iH/@8$7$?(B
 $B%Q%1%C%H$r%j%@%$%l%/%H$7$^$9!#(B
 $BDL>o!"%j%b!<%H%]!<%HDj5A$O(B 0 $B$G$9$,!"(B
 $B%U%!%$%"%&%)!<%k$KBP$7$F$O(B 0 $B$G$J$$(B
 $B%j%b!<%H%"%I%l%9$,M-8z$J>l9g$,$"$j$^$9!#(B
-PacketAliasRedirectPort() $B8F$S=P$7$K$h$j!"(B
+.Fn PacketAliasRedirectPort
+$B8F$S=P$7$K$h$j!"(B
 $B%"%I%l%9$H%]!<%HDj5A$,=EJ#$7$?>l9g!"(B
 $B:G?7$N8F$S=P$7$,M%@h$5$l$^$9!#(B
-
+.Pp
 $B$3$N4X?t$O<!$$$G(B
-PacketAliasRedirectDelete() $B$G;HMQ$9$k%]%$%s%?$rJV$7$^$9!#(B
-$B%L%k$,JV$5$l$?>l9g!"4X?t8F$S=P$7$O@5>o$K=*N;$7$F$$$^$;$s!#(B
-
+.Fn PacketAliasRedirectDelete
+$B$G;HMQ$9$k%]%$%s%?$rJV$7$^$9!#(B
+.Dv NULL
+$B$,JV$5$l$?>l9g!"4X?t8F$S=P$7$O@5>o$K=*N;$7$F$$$^$;$s!#(B
+.Pp
 $B$"$i$f$k%]!<%H%"%I%l%9$O!"(B
 $B%M%C%H%o!<%/%"%I%l%9$N%P%$%H%*!<%@I=5-$K=>$C$F$$$^$9!#(B
-$B$3$l$i$N%Q%i%a!<%?$O(B htons() $B$r;HMQ$7$F!"(B
+$B$3$l$i$N%Q%i%a!<%?$O(B
+.Xr htons 3
+$B$r;HMQ$7$F!"(B
 $BFbItE*$J?tCM7A<0$+$i%M%C%H%o!<%/%P%$%H%*!<%@I=5-$K(B
 $BJQ49$9$kI,MW$,$"$j$^$9!#(B
 $B%"%I%l%9$b$^$?F1MM$K%M%C%H%o!<%/%P%$%H%*!<%@7A<0$G$"$j!"(B
-.Em struct in_addr 
+.Fa struct in_addr 
 $B%G!<%?7?$G0EL[$KDj5A$5$l$^$9!#(B
-.Ss 4.2 PacketAliasRedirectAddr()
-
+.Ed
+.Pp
 .Ft struct alias_link *
 .Fo PacketAliasRedirectAddr
 .Fa "struct in_addr local_addr"
 .Fa "struct in_addr alias_addr"
 .Fc
-
+.Bd -ragged -offset indent
 $B$3$N4X?t$O!"(B
-.Em alias_addr
+.Fa alias_addr
 $B$X$NA4Ce?.%H%i%U%#%C%/$r(B
-.Em local_addr
+.Fa local_addr
 $B$K%j%@%$%l%/%H$7$^$9!#F1MM$K!"(B
-.Em local_addr
+.Fa local_addr
 $B$+$i$NA4H/?.%H%i%U%#%C%/$O(B
-.Em alias_addr
+.Fa alias_addr
 $B$K%(%$%j%"%9$5$l$^$9!#(B
-
-.Em local_addr 
+.Pp
+.Pa local_addr 
 $B$^$?$O(B
-.Em alias_addr
-$B$,(B 0 $B$N>l9g!"(BPacketAliasSetAddress() $B$K$h$j@_Dj$5$l$?(B
+.Pa alias_addr
+$B$,(B 0 $B$N>l9g!"(B
+.Fn PacketAliasSetAddress
+$B$K$h$j@_Dj$5$l$?(B
 $B%Q%1%C%H%(%$%j%"%7%s%0%"%I%l%9$,;HMQ$5$l$^$9!#(B
-PacketAliasSetAddress() $B$O(B
-PacketAliasRedirectAddr() $B$N8F$S=P$78e$K(B
+.Fn PacketAliasSetAddress
+$B$O(B
+.Fn PacketAliasRedirectAddr
+$B$N8F$S=P$78e$K(B
 $B%"%I%l%9JQ99$N$?$a$K8F$S=P$5$l$F$bL58z$G$9!#(B
-
-PacketAliasRedirectAddr() $B$KBP$9$k0lO"$N8F$S=P$7$,(B
+.Pp
+.Fn PacketAliasRedirectAddr
+$B$KBP$9$k0lO"$N8F$S=P$7$,(B
 $BF10l$N%(%$%j%"%7%s%0%"%I%l%9$r;HMQ$7$F$$$k>l9g!"(B
 $B$3$N%(%$%j%"%7%s%0%"%I%l%9$X$N?7$?$JA4Ce?.%H%i%U%#%C%/$O!"(B
 $B:G8e$N4X?t8F$S=P$7$G:n$i$l$?%m!<%+%k%"%I%l%9$X%j%@%$%l%/%H$5$l$^$9!#(B
 $B$$$/$D$+$N4X?t8F$S=P$7$G;XDj$5$l$?%m!<%+%k%^%7%s$+$i$N(B
 $B?7$?$JA4%H%i%U%#%C%/$O!"(B
 $BF10l$N%"%I%l%9$K%j%@%$%l%/%H$5$l$^$9!#(B
-.Bd -literal -offset left
-    PacketAliasRedirectAddr(inet_aton("192.168.0.2"),
-                            inet_aton("141.221.254.101"));
-    PacketAliasRedirectAddr(inet_aton("192.168.0.3"),
-                            inet_aton("141.221.254.101"));
-    PacketAliasRedirectAddr(inet_aton("192.168.0.4"),
-                            inet_aton("141.221.254.101"));
+.Bd -literal -offset indent
+PacketAliasRedirectAddr(inet_aton("192.168.0.2"),
+                        inet_aton("141.221.254.101"));
+PacketAliasRedirectAddr(inet_aton("192.168.0.3"),
+                        inet_aton("141.221.254.101"));
+PacketAliasRedirectAddr(inet_aton("192.168.0.4"),
+                        inet_aton("141.221.254.101"));
 .Ed
-
+.Pp
 192.168.0.2, 192.168.0.3 $B$*$h$S(B 192.168.0.4 $B$+$i!"(B
-telnet $B$d(B ftp $B$J$I$G$NH/?.@\B3$O(B
+.Xr telnet 1
+$B$d(B
+.Xr ftp 1
+$B$J$I$G$NH/?.@\B3$O(B
 141.221.254.101 $B$+$i$G$F$-$?$+$N$h$&$K$_$($^$9!#(B
 141.221.254.101 $B$X$NCe?.@\B3$O(B
 192.168.0.4 $B$K%j%@%$%l%/%H$5$l$^$9!#(B
-
-PacketAliasRedirectPort() $B$KBP$9$k8F$S=P$7$h$j(B
-PacketAliasRedirectAddr() $B$G;XDj$5$l$?%"%I%l%9BP1~$,I,$:M%@h$5$l$^$9!#(B
-
-$B$3$N4X?t$O!"(BPacketAliasRedirectDelete() $B$,;HMQ$9$k%]%$%s%?$rJV$7$^$9!#(B
-$B%L%k$,JV$5$l$k>l9g!"4X?t8F$S=P$7$O@5>o$K=*N;$7$F$$$^$;$s!#(B
-.Ss 4.3 PacketAliasRedirectDelete()
-
+.Pp
+.Fn PacketAliasRedirectPort
+$B$KBP$9$k8F$S=P$7$h$j(B
+.Fn PacketAliasRedirectAddr
+$B$G;XDj$5$l$?%"%I%l%9BP1~$,I,$:M%@h$5$l$^$9!#(B
+.Pp
+$B$3$N4X?t$O!"(B
+.Fn PacketAliasRedirectDelete
+$B$,;HMQ$9$k%]%$%s%?$rJV$7$^$9!#(B
+.Dv NULL
+$B$,JV$5$l$k>l9g!"4X?t8F$S=P$7$O@5>o$K=*N;$7$F$$$^$;$s!#(B
+.Ed
+.Pp
 .Ft void
 .Fn PacketAliasRedirectDelete "struct alias_link *ptr"
-
-$B$3$N4X?t$O!"(BPacketAliasRedirectPort() $B$"$k$$$O(B
-PacketAliasRedirectAddr() $B$,@_Dj$7$?(B
+.Bd -ragged -offset indent
+$B$3$N4X?t$O!"(B
+.Fn PacketAliasRedirectPort
+$B$"$k$$$O(B
+.Fn PacketAliasRedirectAddr
+$B$,@_Dj$7$?(B
 $BFCDj$N@EE*%j%@%$%l%/%H%k!<%k$r:o=|$7$^$9!#(B
 $B%Q%i%a!<%?(B
-.Em ptr 
+.Fa ptr 
 $B$O!"$$$:$l$+$N%j%@%$%l%/%7%g%s4X?t$+$iJV$5$l$F$/$k%]%$%s%?$G$9!#(B
-$B@5$7$/$J$$%]%$%s%?$,(B PacketAliasRedirectDelete() $B$KEO$5$l$k$H!"(B
+$B@5$7$/$J$$%]%$%s%?$,(B
+.Fn PacketAliasRedirectDelete
+$B$KEO$5$l$k$H!"(B
 $B%W%m%0%i%`$O%/%i%C%7%e$9$k$+!"M=4|$;$LF0:n7k2L$H$J$j$^$9!#(B
 $B$=$N$?$a$K$3$N4X?t$N;HMQ$K:]$7$F$OCm0U$,I,MW$G$9!#(B
-.Ss 4.4 PacketAliasProxyRule()
-
+.Ed
+.Pp
 .Ft int
 .Fn PacketAliasProxyRule "const char *cmd"
-
+.Bd -ragged -offset indent
 $BEO$5$l$?(B
-.Ar cmd
+.Fa cmd
 $BJ8;zNs$O!"(B1 $B8D0J>e$N!"8l$NAH$+$i$J$j$^$9!#(B
 $B3FAH$N:G=i$N8l$O%H!<%/%s$G$"$j!"<!$N8l$O$=$N%H!<%/%s$KE,MQ$5$l$kCM$G$9!#(B
 $B%H!<%/%s$H0z?t$N7?$O<!$NDL$j$G$9(B:
-
-.Bl -tag -offset XXX -width XXX
-.It type encode_ip_hdr|encode_tcp_stream|no_encode
+.Bl -tag -width indent
+.It Cm type encode_ip_hdr | encode_tcp_stream | no_encode
 $BF)2a%W%m%-%7$N%5%]!<%H$N$?$a$K!"(B
 $B?75,=*E@%5!<%P$K85$N%"%I%l%9$H%]!<%H$N>pJs$r(B
 $B$J$s$i$+$NJ}K!$GEO$9I,MW$,$"$j$^$9!#(B
-.Dq encode_ip_hdr
+.Cm encode_ip_hdr
 $B$,;XDj$5$l$?>l9g!"DI2C$N(B IP $B%*%W%7%g%s$H$7$F85$N%"%I%l%9$H%]!<%H$,EO$5$l$^$9!#(B
-.Dq encode_tcp_stream
+.Cm encode_tcp_stream
 $B$,;XDj$5$l$?>l9g!"(BTCP $B%9%H%j!<%`Cf$N:G=i$N%G!<%?JR$NCf$K(B
 .Dq DEST Ar IP port
 $B$H$$$&=q<0$G!"85$N%"%I%l%9$H%]!<%H$,EO$5$l$^$9!#(B
-.It port Ar portnum
+.It Cm port Ar portnum
 $B=*E@%]!<%H$,(B
 .Ar portnum
 $B$N%Q%1%C%H$N$_$,%W%m%-%7$NBP>]$H$J$j$^$9!#(B
-.It server Ar host[:portnum]
+.It Cm server Ar host Ns Xo
+.Op : Ns Ar portnum
+.Xc
 $B%G!<%?$NE>Aw@h$N(B
 .Ar host
 $B$H(B
@@ -505,9 +553,9 @@
 .Pp
 .Ar server
 $B$N;XDj$O!"(B
-.Dq delete
+.Cm delete
 $B%3%^%s%I$,;HMQ$5$l$J$$8B$j!"I,?\$G$9!#(B
-.It rule Ar index
+.It Cm rule Ar index
 $BDL>o!"3F(B
 .Fn PacketAliasProxyRule
 $B8F$S=P$7$O!"%k!<%k$N@~7?%j%9%H$N@hF,$K<!$N%k!<%k$rA^F~$7$^$9!#(B
@@ -517,14 +565,16 @@
 $B%k!<%k$r;XDj$7$J$$(B
 .Fn PacketAliasProxyRule
 $B8F$S=P$7$O!"%k!<%k$K%k!<%k(B 0 $B$r3d$jEv$F$^$9!#(B
-.It delete Ar index
+.It Cm delete Ar index
 $BK\%H!<%/%s$H0z?t$O!"B>$N%H!<%/%s$HAH$_9g$o$;$F;HMQ$7$F$O$J$j$^$;$s!#(B
 $BK\%H!<%/%s$r;HMQ$9$k$H!";XDj$7$?(B
 .Ar index
 $B$N4{B8$N%k!<%k$,:o=|$5$l$^$9!#(B
-.It proto tcp|udp
+.It Cm proto tcp|udp
 $B;XDj$9$k$H!";XDj$7$?%W%m%H%3%k%?%$%W$N%Q%1%C%H$N$_$,%^%C%A$7$^$9!#(B
-.It src Ar IP[/bits]
+.It Cm src Ar IP Ns Xo
+.Op / Ns Ar bits
+.Xc
 $B;XDj$9$k$H!";XDj$7$?(B
 .Ar IP
 $B$K;OE@%"%I%l%9$,%^%C%A$9$k%Q%1%C%H$N$_$,%^%C%A$7$^$9!#(B
@@ -535,7 +585,9 @@
 .Ar bits
 $B%S%C%H$N$_$,%M%C%H%o!<%/;XDj$H$7$F;HMQ$5$l!"(B
 $B$=$N%M%C%H%o!<%/$+$i$NA4(B IP $B%"%I%l%9$,%^%C%A$7$^$9!#(B
-.It dst Ar IP[/bits]
+.It Cm dst Ar IP Ns Xo
+.Op / Ns Ar bits
+.Xc
 $B;XDj$9$k$H!";XDj$7$?(B
 .Ar IP
 $B$K=*E@%"%I%l%9$,%^%C%A$9$k%Q%1%C%H$N$_$,%^%C%A$7$^$9!#(B
@@ -547,19 +599,16 @@
 $B%S%C%H$N$_$,%M%C%H%o!<%/;XDj$H$7$F;HMQ$5$l!"(B
 $B$=$N%M%C%H%o!<%/$+$i$NA4(B IP $B%"%I%l%9$,%^%C%A$7$^$9!#(B
 .El
-
+.Pp
 $BK\4X?t$O!"DL>o!"$"$k<g$N%$%s%?!<%M%C%H%"%/%;%9$r6X;_$5$l$F$$$k(B
 $BFbIt%^%7%s$KBP$7!"308~$-@\B3$r%j%@%$%l%/%H$9$k$+!"(B
 $B$^$?$O$"$k<o$N30It%^%7%s$X$N%"%/%;%9$r@)8B$7$^$9!#(B
-.Ss 4.5 PacketAliasPptp()
-
+.Ed
+.Pp
 .Ft extern int
 .Fn PacketAliasPptp "struct in_addr addr"
-
-$BK\4X?t$O!"(B
-.Em G Ns No eneral
-.Em R Ns No outing
-.Em E Ns No ncapsulation
+.Bd -ragged -offset indent
+$BK\4X?t$O!"(BGeneral Routing Encapsulation
 .Pq Dv IPPROTO_GRE
 $B%Q%1%C%H$r!"(B
 .Fn PacketAliasSetAddress
@@ -567,27 +616,30 @@
 .Ar addr
 $B$r;HMQ$7$F%(%$%j%"%9$7$^$9!#(B
 $B$3$l$K$h$j!"FbIt%M%C%H%o!<%/>e$N%^%7%s$,(B
-.Em P Ns No oint
-to
-.Em P Ns No oint
-.Em T Ns No unneling
-.Em P Ns No rotocol
+Point to Point Tunneling Pprotocol
 $B$r;HMQ$G$-$k$h$&$K$J$j$^$9!#(B
 .Pp
-If the passed address is
+$BEO$5$l$?%"%I%l%9$,(B
 .Dv INADDR_NONE
-.Pq 255.255.255.255 ,
+.Pq 255.255.255.255
+$B$N>l9g!"(B
 .Dv PPTP
-aliasing is disabled.
-.Sh 5. $B%U%i%0%a%s%HA`:n(B
+$B%(%$%j%"%9$OL58z2=$5$l$^$9!#(B
+.Ed
+.Sh $B%U%i%0%a%s%HA`:n(B
 $B$3$N%;%/%7%g%s$N4X?t$OCe?.%U%i%0%a%s%HA`:n$G;HMQ$5$l$^$9!#(B
-
-$BH/?.%U%i%0%a%s%H$O!"(BPacketAliasRedirectAddress() $B$G@_Dj$7$?(B
+.Pp
+$BH/?.%U%i%0%a%s%H$O!"(B
+.Fn PacketAliasRedirectAddress
+$B$G@_Dj$7$?(B
 $BE,MQ2DG=$JBP1~IU$K$h$k%"%I%l%9JQ99$K$h$j!"(B
-$B$^$?$O(B PacketAliasSetAddress() $B$G@_Dj$7$?(B
+$B$^$?$O(B
+.Fn PacketAliasSetAddress
+$B$G@_Dj$7$?(B
 $B%(%$%j%"%7%s%0%"%I%l%9$N>JN,;~CM$K$h$j!"(B
-PacketAlaisOut() $BFb$G=hM}$5$l$^$9!#(B
-
+.Fn PacketAlaisOut
+$BFb$G=hM}$5$l$^$9!#(B
+.Pp
 $BCe?.%U%i%0%a%s%H$O(B 2 $BDL$j$NJ}K!$G=hM}$5$l$^$9!#(B
 $B%U%i%0%a%s%H2=$5$l$?(B
 IP $B%Q%1%C%H$N%X%C%@$,4{$KJ,$+$C$F$$$k>l9g$O!"(B
@@ -595,18 +647,21 @@
 $BF1$8J}<0$G:FBP1~IU$1$5$l$^$9!#(B
 $B%U%i%0%a%s%H$O%X%C%@$,E~Ce$9$kA0$KJ]B8$5$l!"(B
 $B%X%C%@%U%i%0%a%s%H$,>CLG$7$?CJ3,$G<h$j=P$5$l$^$9!#(B
-.Ss 5.1 PacketAliasSaveFragment()
-
+.Pp
 .Ft int
 .Fn PacketAliasSaveFragment "char *ptr"
-
-PacketAliasIn() $B$+$i(B
-PKT_ALIAS_UNRESOLVED_FRAGMENT $B$,JV$5$l$F$/$k$H!"$3$N4X?t$,!"(B
+.Bd -ragged -offset indent
+.Fn PacketAliasIn
+$B$+$i(B
+.Dv PKT_ALIAS_UNRESOLVED_FRAGMENT 
+$BJV$5$l$F$/$k$H!"$3$N4X?t$,!"(B
 $B;D$C$F$$$k%U%i%0%a%s%H$N%]%$%s%?$rJ]B8$9$k$?$a$K;HMQ$G$-$^$9!#(B
-
+.Pp
 $B0z?t(B
-.Em ptr
-$B$O(B malloc() $B$G3d$jEv$F$i$l$?%a%b%j%V%m%C%/$r(B
+.Fa ptr
+$B$O(B
+.Xr malloc 3
+$B$G3d$jEv$F$i$l$?%a%b%j%V%m%C%/$r(B
 $B;X$9$3$H$,0EL[$N$&$A$K2>Dj$5$l$F$$$^$9!#(B
 $B%U%i%0%a%s%H$,2r7h$5$l$J$$>l9g!"(B
 $B%Q%1%C%H%(%$%j%"%7%s%0%(%s%8%s$O(B
@@ -614,125 +669,157 @@
 [$B<B<AE*$K$O!"$3$N4X?t$O!"(B
 $B%a%b%j2rJ|$N%3!<%k%P%C%/4X?t$,(B
 $B0z?t$H$7$FEO$5$l$k$h$&$K=$@5$7$F$*$/I,MW$,$"$j$^$9(B]$B!#(B
-
-$B$3$N4X?t$O!"@5>o<B9T$N>l9g(B PKT_ALIAS_OK $B$rJV$7!"(B
-$B%(%i!<$N>l9g(B PKT_ALIAS_ERROR $B$rJV$7$^$9!#(B
-.Ss 5.2 PacketAliasGetNextFragment()
-
+.Pp
+$B$3$N4X?t$O!"@5>o<B9T$N>l9g(B
+.Dv PKT_ALIAS_OK
+$B$rJV$7!"%(%i!<$N>l9g(B
+.Dv PKT_ALIAS_ERROR
+$B$rJV$7$^$9!#(B
+.Ed
+.Pp
 .Ft char *
 .Fn PacketAliasGetFragment "char *buffer"
-
-$B$3$N4X?t$O!"(BPacketAliasSaveFragment() $B$GJ]4I$5$l$?(B
+.Bd -ragged -offset indent
+$B$3$N4X?t$O!"(B
+.Fn PacketAliasSaveFragment
+$B$GJ]4I$5$l$?(B
 $B%U%i%0%a%s%H%]%$%s%?$N:F<h$j=P$7$,$G$-$^$9!#(B
-.Em buffer
-$B$G<($9(B IP $B%X%C%@%U%i%0%a%s%H$O!"(BPacketAliasIn() $B$,(B
-PKT_ALIAS_FOUND_HEADER_FRAGMENT $B$rJV$7$?$H$-$K;XDj$5$l$k(B
+.Fa buffer
+$B$G<($9(B IP $B%X%C%@%U%i%0%a%s%H$O!"(B
+.Fn PacketAliasIn
+$B$,(B
+.Fv PKT_ALIAS_FOUND_HEADER_FRAGMENT
+$B$rJV$7$?$H$-$K;XDj$5$l$k(B
 $B%X%C%@%U%i%0%a%s%H$G$9!#(B
 $B%U%i%0%a%s%H$N%]%$%s%?$,:F<h$j=P$7$5$l$k$H!"(B
 $B8F$S=P$7%W%m%0%i%`$K$h$j%U%i%0%a%s%H$K(B
 $BF0E*$K3d$jEv$F$i$l$F$$$?%a%b%j$,2rJ|$5$l$^$9!#(B
-
+.Pp
 $B%U%i%0%a%s%H$,$J$/$J$k$G(B
-PacketAliasGetFragment() $B$rB3$1$F8F$V$3$H$,$G$-$^$9!#(B
-$B=hM}$9$k%U%i%0%a%s%H$,$J$/$J$k$H%L%k$,JV$5$l$F$-$^$9!#(B
-.Ss 5.3 PacketAliasFragmentIn()
-
+.Fn PacketAliasGetFragment
+$B$rB3$1$F8F$V$3$H$,$G$-$^$9!#(B
+$B=hM}$9$k%U%i%0%a%s%H$,$J$/$J$k$H(B
+.Dv NULL
+$B$,JV$5$l$F$-$^$9!#(B
+.Ed
+.Pp
 .Ft void
-.Fn PacketAliasFragmentIn "char *header" "char *fragment" 
-
-PacketAliasGetFragment() $B$K$h$j%U%i%0%a%s%H$N:F<hF@$r9T$J$&$H$-!"(B
-PacketAliasFragmentIn() $B8F$S=P$7$r<B9T$7$F(B
+.Fn PacketAliasFragmentIn "char *header" "char *fragment"
+.Bd -ragged -offset indent
+.Fn PacketAliasGetFragment
+$B$K$h$j%U%i%0%a%s%H$N:F<hF@$r9T$J$&$H$-!"(B
+.Fn PacketAliasFragmentIn
+$B8F$S=P$7$r<B9T$7$F(B
 $B%U%i%0%a%s%H$N%(%$%j%"%9$r2r=|$G$-$^$9!#(B
 $B0z?t(B
-.Em header 
+.Fa header 
 $B$O!"%F%s%W%l!<%H$H$7$F;H$o$l$F$$$k%X%C%@%U%i%0%a%s%H$N%]%$%s%?$G$9!#(B
 $B0z?t(B
-.Em fragment
+.Fa fragment
 $B$O%(%$%j%"%92r=|$9$k%Q%1%C%H$N%]%$%s%?$G$9!#(B
-.Sh 6. $B$=$NB>$N4X?t(B
-
-.Ss 6.1 PacketAliasSetTarget()
-
+.Ed
+.Sh $B$=$NB>$N4X?t(B
 .Ft void
 .Fn PacketAliasSetTarget "struct in_addr addr"
-
+.Bd -ragged -offset indent
 $B4{B8$N%(%$%j%"%9%j%s%/$H4XO"$N$J$$(B
 $B30$+$i$NCe?.%Q%1%C%H$,%[%9%H%^%7%s$KE~Ce$9$k$H!"(B
-$B$=$l$O(B PacketAliasSetTarget() $B8F$S=P$7$K$h$j(B
+$B$=$l$O(B
+.Fn PacketAliasSetTarget
+$B8F$S=P$7$K$h$j(B
 $B;XDj$5$l$k%"%I%l%9$XAw$i$l$^$9!#(B
-
-$B$3$N4X?t$,8F$P$l$J$$$+!"$"$k$$$O;XDj%"%I%l%9$,(B INADDR_NONE $B$N>l9g!"(B
+.Pp
+$B$3$N4X?t$,8F$P$l$J$$$+!"$"$k$$$O;XDj%"%I%l%9$,(B
+.Dv INADDR_NONE
+$B$N>l9g!"(B
 $B30$+$i$N$"$i$f$k?75,Ce?.%Q%1%C%H$O(B
-PacketAliasSetAddress $B$G@_Dj$5$l$k%"%I%l%9$X9T$-$^$9!#(B
-
-$B$3$N4X?t$,(B INADDR_ANY $B%"%I%l%9$r0z?t$H$7$F8F$P$l$?>l9g!"(B
+.Fn PacketAliasSetAddress
+$B$G@_Dj$5$l$k%"%I%l%9$X9T$-$^$9!#(B
+.Pp
+$B$3$N4X?t$,(B
+.Dv INADDR_ANY
+$B%"%I%l%9$r0z?t$H$7$F8F$P$l$?>l9g!"(B
 $B30$+$i$N$"$i$f$k?75,Ce?.%Q%1%C%H$O(B
 $B%Q%1%C%HCf$G;XDj$5$l$k%"%I%l%9$X9T$-$^$9!#(B
 $B30It$N%^%7%s$,FbIt$N%^%7%s$XD>@\%k!<%F%#%s%02DG=$J>l9g!"(B
 $B30It$N%^%7%s$,D>@\FbIt$N%^%7%s$HOC$9$3$H$r2DG=$H$7$^$9!#(B
-.Ss 6.2 PacketAliasCheckNewLink()
-
+.Ed
+.Pp
 .Ft int
-.Fn PacketAliasCheckNewLink "void"
-
+.Fn PacketAliasCheckNewLink void
+.Bd -ragged -offset indent
 $B?75,$N%(%$%j%"%7%s%0%j%s%/$,@8@.$5$l$k$H!"(B
 $B$3$N4X?t$O(B 0 $B0J30$NCM$rJV$7$^$9!#(B
 $B30$+$i$NCe?.%H%i%U%#%C%/$,=g<!0[$J$k%5!<%P$XAw$i$l$k$H$$$&>u672<$G!"(B
-$B$3$N4X?t$r(B PacketAliasSetTarget() $B8F$S=P$7$r(B
+$B$3$N4X?t$r(B
+.Fn PacketAliasSetTarget
+$B8F$S=P$7$r(B
 $B%G%U%)%k%H$NL\E*%"%I%l%9$rJQ99$N$?$a<B9T$9$k$H$-$N%H%j%,$K$G$-$^$9!#(B
-.Ss 6.3 PacketAliasInternetChecksum() 
-
+.Ed
+.Pp
 .Ft u_short
 .Fn PacketAliasInternetChecksum "u_short *buffer" "int nbytes"
-
+.Bd -ragged -offset indent
 $B$3$l$O$h$=$G$O;H$&$3$H$,$"$j$^$;$s$,!"(B
 $BJXMx$J%f!<%F%#%j%F%#4X?t$G$9!#(B
 $B%$%s%?!<%M%C%H%A%'%C%/%5%`$r7W;;$7$^$9!#(B
 $B%A%'%C%/%5%`$O!"(BIP $B$*$h$S%W%m%H%3%k(B
 (TCP, UDP, ICMP) $B8GM-$N%X%C%@$N$I$A$i$G$b;H$o$l$F$$$^$9!#(B
-
+.Pp
 $B0z?t(B
-.Em buffer 
+.Fa buffer 
 $B$O%A%'%C%/%5%`$r<h$k%G!<%?%V%m%C%/$r;X$7$F$$$^$9!#$^$?(B
-.Em nbytes
+.Fa nbytes
 $B$O%P%$%H?t$rM?$($^$9!#(B
 16 $B%S%C%H$N%A%'%C%/%5%`%U%#!<%k%I$O(B
 $B%A%'%C%/%5%`7W;;$NA0$K(B 0 $B%/%j%"$5$l$^$9!#(B
-
+.Pp
 $B%A%'%C%/%5%`$O%A%'%C%/%5%`<+?H$r4^$a$?(B
 $B%G!<%?%V%m%C%/$NA`:n$K$h$j8!>Z$9$k$3$H$,$G$-$^$9!#(B
 $B%A%'%C%/%5%`$,@5$7$1$l$P!"(B
 PacketAliasInternetChecksum() $B$O(B 0 $B$rJV$7$^$9!#(B
-.Sh 7. $B:n<T(B
-Charles Mott (cmott@scientech.com), versions 1.0 - 1.8, 2.0 - 2.4. 
-
-Eivind Eklund (eivind@freebsd.org), versions 1.8b, 1.9 $B$*$h$S(B 2.5.
+.Ed
+.Sh $B:n<T(B
+.An Charles Mott Aq cmott@scientech.com ,
+versions 1.0 - 1.8, 2.0 - 2.4$B!#(B
+.An Eivind Eklund Aq eivind@freebsd.org ,
+versions 1.8b, 1.9 $B$*$h$S(B 2.5$B!#(B
 $B%"!<%-%F%/%A%c$K$*$1$k?t!9$N2~A1$K$h$k9W8%$N$[$+$K!"(B
 IRC DCC $B$K4X$9$k%5%]!<%H$r9T$J$$$^$7$?!#(B
 $B$J$i$S$K(B FTP/IRC DCC $B$N%U%!%$%"%&%)!<%k$N%P%$%Q%9$G$9!#(B
-.Sh 8. $B<U<-(B
-
+.Sh $B<U<-(B
 $B0J2<!"35N,;~Be=g$K<($9$N$O!"(B
 $BM-1W$J%3%a%s%H$d%G%P%C%0$N<j=u$1$rDs6!$7$F$/$l$??M!9$NL>A0$G$9!#(B
-
-.Bl -inset -compact -offset left
-.It Gary Roberts
-.It Tom Torrance
-.It Reto Burkhalter
-.It Martin Renters
-.It Brian Somers
-.It Paul Traina
-.It Ari Suutari
-.It Dave Remien
-.It J. Fortes
-.It Andrzej Bialeki
-.It Gordon Burditt
+.Pp
+.Bl -item -offset indent -compact
+.It
+Gary Roberts
+.It
+Tom Torrance
+.It
+Reto Burkhalter
+.It
+Martin Renters
+.It
+Brian Somers
+.It
+Paul Traina
+.It
+Ari Suutari
+.It
+Dave Remien
+.It
+J. Fortes
+.It
+Andrzej Bialecki
+.It
+Gordon Burditt
 .El
-.Sh $BIUO?(B: $B35G0E*$JGX7J(B
+.Sh $B35G0E*$JGX7J(B
 $B$3$NIUO?$O!"%=!<%9%3!<%I$N=$@5$r8!F$$7$F$$$k?M$d!"(B
 $B%Q%1%C%H%(%$%j%"%7%s%04X?t$r;HMQ$7$F(B
 $B$d$dFq2r$J%"%W%j%1!<%7%g%s$r:n@.$9$k?M$rBP>]$H$7$F$$$^$9!#(B
-
+.Pp
 $B$3$3$K$O%Q%1%C%H%(%$%j%"%7%s%0%(%s%8%s$N(B
 $B35G0E*$J%U%l!<%`%o!<%/$,5-=R$5$l$F$$$^$9!#(B
 $B5DO@$NCf?4$O!"%m!<%+%k%^%7%s$H%(%$%j%"%9$5$l$?<1JL;R(B
@@ -741,15 +828,16 @@
 "$B%(%$%j%"%7%s%0(B $B%j%s%/(B" $B$K9M$(J}$K$D$$$F$G$9!#(B
 $B$3$&$7$?%j%s%/$,$I$N$h$&$KH/@8$7$F(B
 $B$^$?>CLG$9$k$+$K$D$$$F8!F$$5$l$F$$$^$9!#(B
-.Ss A.1 $B%(%$%j%"%7%s%0%j%s%/(B
-"$B%(%$%j%"%7%s%0(B $B%j%s%/(B" $B$O!"(B
+.Ss $B%(%$%j%"%7%s%0%j%s%/(B
+.Em $B%(%$%j%"%7%s%0(B $B%j%s%/(B
+$B$O!"(B
 7 $B$D$NMWAG$G5-=R$G$-$k$H$$$&9M$(J}$,$"$j$^$9(B:
 .Bd -literal -offset indent
 ($B%m!<%+%k%"%I%l%9!"(B $B%m!<%+%k%]!<%HHV9f!"(B
 $B%(%$%j%"%9%"%I%l%9!"%(%$%j%"%9%]!<%HHV9f!"(B
 $B%j%b!<%H%"%I%l%9!"%j%b!<%H%]!<%H!"%W%m%H%3%k(B)
 .Ed
-
+.Pp
 $B30$XH/?.$9$k%Q%1%C%H$O!"(B
 $B%m!<%+%k%"%I%l%9$H%m!<%+%k%]!<%HHV9f$,!"(B
 $B%(%$%j%"%9%"%I%l%9$H%(%$%j%"%9%]!<%HHV9f$GCV$-49$($i$l$^$9!#(B
@@ -761,13 +849,13 @@
 $BI,MW$K1~$8$F=$@5$5$l$^$9!#(B
 $B%(%$%j%"%7%s%0%j%s%/$O!"%M%C%H%o!<%/$N%H%i%U%#%C%/$K$h$j!"(B
 $BI,MW$K1~$8$F@8@.!">CLG$,9T$J$o$l$^$9!#(B
-
+.Pp
 $B%W%m%H%3%k$O!"$"$k>u67$G$O(B TCP $B$+(B UDP $B$G$"$j!"(B
 $B$^$?$O(B ICMP $B$G$"$C$F$+$^$$$^$;$s(B
 (ICMP $B$N$"$k<o$N%Q%1%C%H%?%$%W$K$O!"(B
 $B8D!9$N%Q%1%C%H$N=hM}J}<0$r7h$a$k%]!<%HHV9f$HF1MM$JF/$-$r$9$k!"(B
 $B0lO"$N(B id $BHV9f$K%(%$%j%"%9$9$k$3$H$,$G$-$k$b$N$,$"$j$^$9(B)$B!#(B
-
+.Pp
 $B$=$l$>$l$N%(%$%j%"%9%j%s%/$O(B
 $B<!$N(B 5 $B$D$N?tCM$NAH9g$;$r;}$C$F$$$J$1$l$P$J$j$^$;$s!#(B
 $B$9$J$o$A!"%(%$%j%"%9%"%I%l%9(B / $B%]!<%H!"(B
@@ -776,7 +864,7 @@
 $BF1$8%(%$%j%"%9(B IP $B%"%I%l%9$r6&M-$9$k$3$H$,2DG=$H$J$j$^$9!#(B
 $B6%9g$,5/$3$k%1!<%9$G$O!"%(%$%j%"%7%s%0%]!<%H$,!"(B
 $B0l0U@-$,J]$F$k$h$&A*Br$5$l$^$9!#(B
-.Ss A.2 $B@EE*$*$h$SF0E*%j%s%/(B
+.Ss $B@EE*$*$h$SF0E*%j%s%/(B
 $B%(%$%j%"%7%s%0%j%s%/$K$O@EE*$*$h$SF0E*$J$b$N$,$"$j$^$9!#(B
 $B@EE*%j%s%/$OL54|8B$KB8B3$7!"(BIP $B%Q%1%C%H$NJQ49$K4X$7$F$O(B
 $B8GDj$5$l$?5,B'$rJ];}$7$F$$$^$9!#(B
@@ -790,7 +878,7 @@
 $B<+F0E*$K:o=|$5$l$^$9!#(B
 $B%?%$%`%"%&%H5,B'$OE,@Z$J%*!<%W%s(B / $B%/%m!<%:$r9T$J$o$J$$(B
 TCP $B@\B3$K$bE,MQ$5$l$^$9!#(B
-.Ss A.3 $B%(%$%j%"%7%s%0%j%s%/$NItJ,Dj5A(B
+.Ss $B%(%$%j%"%7%s%0%j%s%/$NItJ,Dj5A(B
 $B%(%$%j%"%7%s%0%j%s%/$OItJ,E*$JDj5A$,2DG=$G$9!#(B
 $B$3$l$O%j%b!<%H%"%I%l%9$*$h$S(B ($B$^$?$O(B)
 $B%j%b!<%H%]!<%H$,ITL@$G$"$k>l9g$K9T$J$$$^$9!#(B
@@ -799,12 +887,12 @@
 $B85!9$NItJ,Dj5A$N%j%s%/$,F0E*$J$b$N$G$"$k>l9g!"(B
 $B40A4;EMM$N%j%s%/$,@8@.$5$l$?8e$=$l$O:o=|$5$l!"(B
 $B$=$&$G$J$$>l9gL54|8B$K;D$k$3$H$K$J$j$^$9!#(B
-
+.Pp
 $B$?$H$($P!"ItJ,Dj5A%j%s%/$O<!$NDL$j$G$9!#(B
 .Bd -literal -offset indent
 (192.168.0.4, 23, 204.228.203.215, 8066, 0, 0, tcp)
 .Ed
-
+.Pp
 0 $B$NCM$O%j%b!<%H%"%I%l%9$*$h$S%]!<%H$NL$Dj5AItJ,$rI=$7$F$$$^$9!#(B
 $B%j%s%/$,@EE*$J$b$N$G$"$l$P!"(B
 $B30$+$iCe?.$7$F$/$kA4%H%i%U%#%C%/$r(B
@@ -818,9 +906,9 @@
 .Bd -literal -offset indent
 ($B%m!<%+%k%"%I%l%9!"%(%$%j%"%9%"%I%l%9(B)
 .Ed
-
+.Pp
 $B%"%I%l%9BP1~I=$OF0E*%j%s%/@8@.;~$KI,MW$H$5$l$^$9!#(B
-
+.Pp
 $B%m!<%+%k%M%C%H%o!<%/$+$i30$XH/?.$9$k$"$i$f$k%Q%1%C%H$O!"(B
 $B4{B8$N40A4Dj5A$5$l$?%j%s%/$H0lCW$7$F$$$J$1$l$P!"(B
 $BF0E*%j%s%/$r<+F0E*$K@8@.$7$^$9!#(B
@@ -831,7 +919,7 @@
 $B;HMQ$5$l$^$9!#(B
 $BI,MW$G$"$l$P!"%G%U%)%k%H%"%I%l%9$O(B
 $B8D!9$N%Q%1%C%H$,E~Ce$9$k$?$S$KJQ99$G$-$^$9!#(B
-
+.Pp
 $B%(%$%j%"%7%s%0%]!<%HHV9f$O!"(B
 $B?7$?$JF0E*%j%s%/$,4{B8$N%j%s%/$H6%9g$7$J$$$h$&7h$a$i$l$^$9!#(B
 $B%G%U%)%k%HA`:n%b!<%I$G$O!"%Q%1%C%H%(%$%j%"%7%s%0%(%s%8%s$O(B

----Next_Part(Sun_Apr__7_01:44:21_2002_749)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Content-Description: libalias.3.1_26-1_23_2_11
Content-Disposition: inline; filename="libalias.3.1_26_1_23_2_11"

--- libalias.3.1.26	Sun Apr  7 00:22:46 2002
+++ libalias.3.1.23.2.11	Sun Apr  7 01:02:14 2002
@@ -1,15 +1,40 @@
-.\" jpman %Id%
+.\"-
+.\" Copyright (c) 2001 Charles Mott <cm@linktel.net>
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" %FreeBSD: src/lib/libalias/libalias.3,v 1.23.2.11 2001/12/17 10:08:22 ru Exp %
 .\"
 .Dd April 13, 2000
 .Dt LIBALIAS 3
-.Os FreeBSD
+.Os
 .Sh $BL>>N(B
 .Nm libalias
 .Nd $B%9%+%l!<%I$*$h$S%M%C%H%o!<%/%"%I%l%9JQ49MQ%Q%1%C%H%(%$%j%"%7%s%0%i%$%V%i%j(B
 .Sh $B=q<0(B
-.Fd #include <sys/types.h>
-.Fd #include <netinet/in.h>
-.Fd #include <alias.h>
+.In sys/types.h
+.In netinet/in.h
+.In alias.h
 .Pp
 $B4X?t$N%W%m%H%?%$%W$O!"$3$N%F%-%9%H$NK\J8$G>R2p$7$^$9!#(B
 .Sh $B2r@b(B
@@ -160,13 +185,11 @@
 $B$3$N%b!<%I%S%C%H$,@_Dj$5$l$F$$$k$H!"(B
 TCP $B@\B3$d(B UDP $B%H%i%s%6%/%7%g%s$K4XO"$9$k(B
 $B30It$+$iCe?.$9$k$"$i$f$k%Q%1%C%H$O!"(B
-$B8F$S=P$7%W%m%0%i%`$GL5;k(B
-.Po
+$B8F$S=P$7%W%m%0%i%`$GL5;k(B (
 .Fn PacketAliasIn
 $B$G$"$l$P(B
 .Dv PKT_ALIAS_IGNORED
-$B$rJV$9(B
-.Pc
+$B$rJV$9(B)
 $B$9$k$?$a$N0u$,IU$1$i$l$^$9!#(B
 $B%Q%1%C%H$N%(%$%j%"%9%[%9%H$d(B
 $B%m!<%+%k%M%C%H%o!<%/$+$iH/@8$7$?@\B3$d(B
@@ -390,11 +413,20 @@
 .Fn PacketAliasSetAddress
 $B$G@_Dj$5$l$?$b$N$r;HMQ$7$^$9!#(B
 .Fn PacketAliasRedirectPort
-$B8F$S=P$7$N8e$G(B
+$B$,(B
 .Fn PacketAliasSetAddress
-$B8F$S=P$7$,<B9T$5$l!"(B
-$B%"%I%l%9$,JQ99$5$l$F$b!"(B
-$B0z?t$,(B 0 $B$N>l9g$3$l$OL58z$K$J$j$^$9!#(B
+$B8F$S=P$78l$K(B
+$B%"%I%l%9JQ99$N$?$a$K8F$S=P$5$l$F$b!"(B
+0 $B%j%U%!%l%s%9$,$3$NJQ99$r5-O?$7$^$9!#(B
+.Pp
+$BIi2Y6&M-MQ$K%j%s%/$,99$K@_Dj$5$l$k$H!"(B
+.Fa local_addr
+$B$H(B
+.Fa local_port
+$B$OL5;k$5$l!"%5!<%P%W!<%k$+$iF0E*$KA*Br$5$l$^$9!#(B
+$B$3$l$O(B
+.Fn PacketAliasAddServer
+$B$G8e=R$5$l$F$$$^$9!#(B
 .Pp
 .Fa remote_addr
 $B$,(B 0 $B$N>l9g!"(B
@@ -453,10 +485,18 @@
 $B$K$h$j@_Dj$5$l$?(B
 $B%Q%1%C%H%(%$%j%"%7%s%0%"%I%l%9$,;HMQ$5$l$^$9!#(B
 .Fn PacketAliasSetAddress
-$B$O(B
+$B$,(B
 .Fn PacketAliasRedirectAddr
 $B$N8F$S=P$78e$K(B
-$B%"%I%l%9JQ99$N$?$a$K8F$S=P$5$l$F$bL58z$G$9!#(B
+$B%"%I%l%9JQ99$N$?$a$K8F$S=P$5$l$F$b!"(B
+0 $B%j%U%!%l%s%9$,$3$NJQ99$r5-O?$7$^$9!#(B
+.Pp
+$BIi2Y6&M-MQ$K%j%s%/$,99$K@_Dj$5$l$k$H!"(B
+.Fa local_addr
+$B$OL5;k$5$l!"%5!<%P%W!<%k$+$iF0E*$KA*Br$5$l$^$9!#(B
+$B$3$l$O(B
+.Fn PacketAliasAddServer
+$B$G8e=R$5$l$F$$$^$9!#(B
 .Pp
 .Fn PacketAliasRedirectAddr
 $B$KBP$9$k0lO"$N8F$S=P$7$,(B
@@ -496,6 +536,53 @@
 $B$,JV$5$l$k>l9g!"4X?t8F$S=P$7$O@5>o$K=*N;$7$F$$$^$;$s!#(B
 .Ed
 .Pp
+.Ft int
+.Fo PacketAliasAddServer
+.Fa "struct alias_link *link"
+.Fa "struct in_addr addr"
+.Fa "u_short port"
+.Fc
+.Bd -ragged -offset indent
+$BK\4X?t$O!"(B
+.Fa link
+$B$r!"(BIP Network Address Translation (RFC 2391, LSNAT) $B$r;HMQ$7$?(B
+$BIi2Y6&M-MQ$K@_Dj$7$^$9!#(B
+LSNAT $B$O<!$N$h$&$KF0:n$7$^$9!#(B
+$B%/%i%$%"%s%H$,!"%5!<%P2>A[%"%I%l%9$r;HMQ$7$F%5!<%P$X%"%/%;%9$r;n$_$^$9!#(B
+LSNAT $B%k!<%?$,!"%5!<%P%W!<%kCf$N(B 1 $B8D$N%[%9%H$KBP$7!"(B
+$BMW5a$rF)2aE*$K%j%@%$%l%/%H$7$^$9!#(B
+$B%[%9%HA*Br$K$O!"<B;~4VIi2Y6&M-%"%k%4%j%:%`$r;HMQ$7$^$9!#(B
+$BJ#?t$N%;%C%7%g%s$,F10l$N%/%i%$%"%s%H$+$i3+;O$5$l$k$+$b$7$l$^$;$s!#(B
+$B3F%;%C%7%g%s$O!"$=$N;~!9$N%5!<%P%W!<%k%[%9%H4V$NIi2Y%P%i%s%9$K$h$C$F!"(B
+$B0[$J$k%[%9%H$K8~$1$i$l$k2DG=@-$,$"$j$^$9!#(B
+$B?t8D$N8GM-$N%5!<%S%9$KBP$7$FIi2Y6&M-$,K>$^$l$k>l9g!"(B
+LSNAT $B$N@_Dj$K$h$j!"K>$^$l$k%5!<%S%9$K$N$_Ii2Y6&M-$r8BDj2DG=$G$9!#(B
+.Pp
+$B8=:_$N$H$3$m!":G$bC1=c$JA*Br%"%k%4%j%:%`$N$_$,<BAu$5$l$F$$$^$9!#(B
+$B$3$NJ}K!$O!"%i%&%s%I%m%S%s$K$h$kA*Br$N$_$G$"$j!"(B
+$B%[%9%H$NIi2Y$r9MN8$7$J$$$b$N$G$9!#(B
+.Pp
+$B$^$:!"(B
+.Fa link
+$B$,(B
+.Fn PacketAliasRedirectPort
+$B$^$?$O(B
+.Fn PacketAliasRedirectAddr
+$B$K$h$j:n@.$5$l$^$9!#(B
+$B<!$K(B
+.Fn PacketAliasAddServer
+$B$,J#?t2s8F$P$l!"(B
+.Fa link
+$B$N%5!<%P%W!<%k$K%(%s%H%j$,DI2C$5$l$^$9!#(B
+.Pp
+.Fn PacketAliasRedirectAddr
+$B$G:n@.$5$l$?%j%s%/$KBP$7!"(B
+.Fa port
+$B0z?t$OL5;k$5$l$$$+$J$kCM!"Nc$($P(B htons(~0) $B$r;}$A$($^$9!#(B
+.Pp
+$BK\4X?t$O!"@.8y;~$K$O(B 0 $B$rJV$7!"<:GT;~$K$O(B -1 $B$rJV$7$^$9!#(B
+.Ed
+.Pp
 .Ft void
 .Fn PacketAliasRedirectDelete "struct alias_link *ptr"
 .Bd -ragged -offset indent
@@ -605,32 +692,51 @@
 $B$^$?$O$"$k<o$N30It%^%7%s$X$N%"%/%;%9$r@)8B$7$^$9!#(B
 .Ed
 .Pp
-.Ft extern int
-.Fn PacketAliasPptp "struct in_addr addr"
+.Ft struct alias_link *
+.Fo PacketAliasRedirectProto
+.Fa "struct in_addr local_addr"
+.Fa "struct in_addr remote_addr"
+.Fa "struct in_addr alias_addr"
+.Fa "u_char proto"
+.Fc
 .Bd -ragged -offset indent
-$BK\4X?t$O!"(BGeneral Routing Encapsulation
-.Pq Dv IPPROTO_GRE
-$B%Q%1%C%H$r!"(B
-.Fn PacketAliasSetAddress
-$B$G@_Dj$5$l$?%"%I%l%9$NBe$j$K!"(B
-.Ar addr
-$B$r;HMQ$7$F%(%$%j%"%9$7$^$9!#(B
-$B$3$l$K$h$j!"FbIt%M%C%H%o!<%/>e$N%^%7%s$,(B
-Point to Point Tunneling Pprotocol
-$B$r;HMQ$G$-$k$h$&$K$J$j$^$9!#(B
+$BK\4X?t$O!";XDj$7$?%j%b!<%H%"%I%l%9$+$i%(%$%j%"%9%"%I%l%9$X$N%W%m%H%3%kHV9f(B
+.Fa proto
+$B$NA4%Q%1%C%H$,!";XDj$7$?%m!<%+%k%"%I%l%9$X%j%@%$%l%/%H$9$k$3$H$r;XDj$7$^$9!#(B
 .Pp
-$BEO$5$l$?%"%I%l%9$,(B
-.Dv INADDR_NONE
-.Pq 255.255.255.255
-$B$N>l9g!"(B
-.Dv PPTP
-$B%(%$%j%"%9$OL58z2=$5$l$^$9!#(B
+.Fa local_addr
+$B$^$?$O(B
+.Fa alias_addr
+$B$,(B 0 $B$N>l9g!"(B
+$B$G3NN)$7$?%Q%1%C%H%(%$%j%"%9%"%I%l%9$,;HMQ$5$l$k$3$H$r;XDj$7$^$9!#(B
+.Fn PacketAliasSetAddress
+$B$,(B
+.Fn PacketAliasRedirectProto
+$B$N8F$S=P$78e$K(B
+$B%"%I%l%9JQ99$N$?$a$K8F$S=P$5$l$F$b!"(B
+0 $B%j%U%!%l%s%9$,$3$NJQ99$r5-O?$7$^$9!#(B
+.Pp
+.Fa remote_addr
+$B$,(B 0 $B$N>l9g!"(B
+$BA4%j%b!<%H%[%9%H$+$i$N%Q%1%C%H$r%j%@%$%l%/%H$9$k$3$H$r;XDj$7$^$9!#(B
+$BHs(B 0 $B$N%j%b!<%H%"%I%l%9$O!"%U%!%$%"%&%)!<%kMQES$KM-MQ$J>l9g$,$"$j$^$9!#(B
+.Pp
+2 $B8D$N(B
+.Fn PacketAliasRedirectProto
+$B8F$S=P$7$,!"%"%I%l%9;XDj$K$*$$$F=E$J$k>l9g!"(B
+$B:G?7$N8F$S=P$7$,M%@h$7$^$9!#(B
+.Pp
+$BK\4X?t$O!"8e$K(B
+.Fn PacketAliasRedirectDelete
+$B$K;HMQ2DG=$J%]%$%s%?$rJV$7$^$9!#(B
+.Dv NULL
+$B$,JV$5$l$k>l9g!"4X?t8F$S=P$7$O@5>o$K=*N;$7$F$$$^$;$s!#(B
 .Ed
 .Sh $B%U%i%0%a%s%HA`:n(B
 $B$3$N%;%/%7%g%s$N4X?t$OCe?.%U%i%0%a%s%HA`:n$G;HMQ$5$l$^$9!#(B
 .Pp
 $BH/?.%U%i%0%a%s%H$O!"(B
-.Fn PacketAliasRedirectAddress
+.Fn PacketAliasRedirectAddr
 $B$G@_Dj$7$?(B
 $BE,MQ2DG=$JBP1~IU$K$h$k%"%I%l%9JQ99$K$h$j!"(B
 $B$^$?$O(B
@@ -729,9 +835,9 @@
 $B8F$S=P$7$K$h$j(B
 $B;XDj$5$l$k%"%I%l%9$XAw$i$l$^$9!#(B
 .Pp
-$B$3$N4X?t$,8F$P$l$J$$$+!"$"$k$$$O;XDj%"%I%l%9$,(B
+$B$3$N4X?t$,(B
 .Dv INADDR_NONE
-$B$N>l9g!"(B
+$B%"%I%l%9$r0z?t$H$7$F8F$P$l$?>l9g!"(B
 $B30$+$i$N$"$i$f$k?75,Ce?.%Q%1%C%H$O(B
 .Fn PacketAliasSetAddress
 $B$G@_Dj$5$l$k%"%I%l%9$X9T$-$^$9!#(B
@@ -779,42 +885,54 @@
 $B%A%'%C%/%5%`$,@5$7$1$l$P!"(B
 PacketAliasInternetChecksum() $B$O(B 0 $B$rJV$7$^$9!#(B
 .Ed
+.Pp
+.Ft int
+.Fn PacketUnaliasOut "char *buffer" "int maxpacketsize"
+.Bd -ragged -offset indent
+$B%(%$%j%"%9=hM}:Q$N308~$-%Q%1%C%H$O!"(B
+$B%W%i%$%Y!<%H%"%I%l%9(B/$B%]!<%H$N>pJs$rK\4X?t$K$h$C$FI|3h$5$l$F$$$^$9!#(B
+.Fa buffer
+$B$G;X$5$l$k(B IP $B%Q%1%C%H$H(B
+.Fa maxpacketsize
+$B$,!"%(%i!<%A%'%C%/$N$?$a$KDs6!$5$l$F$$$^$9!#(B
+$BK\4X?t$O!"%(%$%j%"%9=hM}:Q%Q%1%C%H$N85$N(B IP $B%X%C%@$,(B
+$BI,MW$H$J$k99$J$k=hM}(B ($BNc$($P%m%.%s%0(B) $B$K;HMQ2DG=$G$9!#(B
+.Ed
+.Sh $B%P%0(B
+PPTP $B%(%$%j%"%9$O!"J#?t$NFbIt%/%i%$%"%s%H$,F10l$N30It%5!<%P$K(B
+$BF1;~$K@\B3$9$k$HF0:n$7$^$;$s!#(B
+$B$J$<$J$i!"(BPPTP $B$O(B 2 $B$D$N(B IP $B%"%I%l%94V$K(B
+$BC10l$N(B TCP $B@)8f@\B3$rI,MW$H$9$k$+$i$G$9!#(B
 .Sh $B:n<T(B
-.An Charles Mott Aq cmott@scientech.com ,
+.An Charles Mott Aq cm@linktel.net ,
 versions 1.0 - 1.8, 2.0 - 2.4$B!#(B
 .An Eivind Eklund Aq eivind@freebsd.org ,
 versions 1.8b, 1.9 $B$*$h$S(B 2.5$B!#(B
 $B%"!<%-%F%/%A%c$K$*$1$k?t!9$N2~A1$K$h$k9W8%$N$[$+$K!"(B
 IRC DCC $B$K4X$9$k%5%]!<%H$r9T$J$$$^$7$?!#(B
 $B$J$i$S$K(B FTP/IRC DCC $B$N%U%!%$%"%&%)!<%k$N%P%$%Q%9$G$9!#(B
+.An Erik Salander Aq erik@whistle.com
+$B$,(B PPTP $B$H(B RTSP $B$N%5%]!<%H$rDI2C$7$^$7$?!#(B
+.An Junichi Satoh Aq junichi@junichi.org
+$B$,(B RTSP/PNA $B$N%5%]!<%H$rDI2C$7$^$7$?!#(B
 .Sh $B<U<-(B
 $B0J2<!"35N,;~Be=g$K<($9$N$O!"(B
 $BM-1W$J%3%a%s%H$d%G%P%C%0$N<j=u$1$rDs6!$7$F$/$l$??M!9$NL>A0$G$9!#(B
 .Pp
-.Bl -item -offset indent -compact
-.It
-Gary Roberts
-.It
-Tom Torrance
-.It
-Reto Burkhalter
-.It
-Martin Renters
-.It
-Brian Somers
-.It
-Paul Traina
-.It
-Ari Suutari
-.It
-Dave Remien
-.It
-J. Fortes
-.It
-Andrzej Bialecki
-.It
-Gordon Burditt
-.El
+.Bd -ragged -offset indent
+.An -split
+.An Gary Roberts
+.An Tom Torrance
+.An Reto Burkhalter
+.An Martin Renters
+.An Brian Somers
+.An Paul Traina
+.An Ari Suutari
+.An Dave Remien
+.An J. Fortes
+.An Andrzej Bialecki
+.An Gordon Burditt
+.Ed
 .Sh $B35G0E*$JGX7J(B
 $B$3$NIUO?$O!"%=!<%9%3!<%I$N=$@5$r8!F$$7$F$$$k?M$d!"(B
 $B%Q%1%C%H%(%$%j%"%7%s%04X?t$r;HMQ$7$F(B

----Next_Part(Sun_Apr__7_01:44:21_2002_749)----
