From owner-man-jp-reviewer@jp.FreeBSD.org Mon Jun  3 23:18:28 2002
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) id g53EISx45053;
	Mon, 3 Jun 2002 23:18:28 +0900 (JST)
	(envelope-from owner-man-jp-reviewer@jp.FreeBSD.org)
Received: from sccrmhc03.attbi.com (sccrmhc03.attbi.com [204.127.202.63])
	by castle.jp.FreeBSD.org (8.11.6+3.4W/8.11.3) with ESMTP/inet id g53EIRv45048
	for <man-jp-reviewer@jp.FreeBSD.org>; Mon, 3 Jun 2002 23:18:27 +0900 (JST)
	(envelope-from horikawa@jp.FreeBSD.org)
Received: from localhost ([12.252.32.143]) by sccrmhc03.attbi.com
          (InterMail vM.4.01.03.27 201-229-121-127-20010626) with ESMTP
          id <20020603141819.DMLB20219.sccrmhc03.attbi.com@localhost>
          for <man-jp-reviewer@jp.FreeBSD.org>;
          Mon, 3 Jun 2002 14:18:19 +0000
Date: Mon, 03 Jun 2002 08:18:06 -0600 (MDT)
Message-Id: <20020603.081806.107945223.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(Mon_Jun__3_08:18:06_2002_182)--"
Content-Transfer-Encoding: 7bit
Reply-To: man-jp-reviewer@jp.FreeBSD.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+020417
X-Sequence: man-jp-reviewer 4174
Subject: [man-jp-reviewer 4174] (man3) ftpio.3 devstat.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(Mon_Jun__3_08:18:06_2002_182)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

ftpio.3 $B$H(B devstat.3 $B$N:9J,$G$9!#(B

$B86J8:9J,$NE,MQ0J30$K!"<!$NJQ99$r9T$$$^$7$?!#(B
o $BLa$9(B -> $BJV$9(B
o $B%<%m(B -> 0
o $B%f!<%6!<(B -> $B%f!<%6(B
o userland -> $B%f!<%6%i%s%I(B
o $B%+%s%^(B -> $B%3%s%^(B
o $B3d$j?6$j(B -> $B3d$jEv$F(B (allocate $B$NLu8l$H$7$F(B)
o getnumdevs() $B$O!V%G%P%$%9HV9f!W$G$O$J$/!V%G%P%$%9?t!W$rJV$9(B
  $B$HD{@5$7$^$7$?!#(B
o atomically $B$O!"!V<+F0E*$K!W$G$O8m$j$J$N$G!"!VIT2DJ,$K!W$H$7$^$7$?!#(B
--
$BKY@nOBM:(B

----Next_Part(Mon_Jun__3_08:18:06_2002_182)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Content-Description: devstat.3.jdiff
Content-Disposition: inline; filename="devstat.3.jdiff"

--- devstat.3~	Sun Jun  2 22:43:57 2002
+++ devstat.3	Sun Jun  2 23:24:30 2002
@@ -1,5 +1,5 @@
 .\"
-.\" Copyright (c) 1998 Kenneth D. Merry.
+.\" Copyright (c) 1998, 1999 Kenneth D. Merry.
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -25,16 +25,28 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\"	%Id: devstat.3,v 1.3 1999/01/06 04:59:53 obrien Exp %
+.\" %FreeBSD: src/lib/libdevstat/devstat.3,v 1.7.2.8 2001/12/17 10:08:29 ru Exp %
 .\"
 .Dd May 21, 1998
 .Dt DEVSTAT 3
-.Os FreeBSD 3.0
+.Os
 .Sh $BL>>N(B
-.Nm devstat
+.Nm devstat ,
+.Nm getnumdevs ,
+.Nm getgeneration ,
+.Nm getversion ,
+.Nm checkversion ,
+.Nm getdevs ,
+.Nm selectdevs ,
+.Nm buildmatch ,
+.Nm compute_stats ,
+.Nm compute_etime
 .Nd $B%G%P%$%9E}7W%f!<%F%#%j%F%#%i%$%V%i%j(B
+.Sh $B%i%$%V%i%j(B
+.Lb libdevstat
 .Sh $B=q<0(B
-.Fd #include <devstat.h>
+.In sys/dkstat.h
+.In devstat.h
 .Ft int
 .Fn getnumdevs "void"
 .Ft long
@@ -88,7 +100,7 @@
 .Fa "struct timeval prev_time"
 .Fc
 .Sh $B2r@b(B
-.Nm devstat
+.Nm
 $B%i%$%V%i%j$O!"%+!<%M%k(B
 .Xr devstat 9
 $B%$%s%?%U%'!<%9$r=hM}$9$k$N$K(B
@@ -96,32 +108,32 @@
 .Xr devstat 9
 $B%$%s%?%U%'!<%9$O!"(B
 .Xr sysctl 3
-$B$K$h$C$F%f!<%6!<$,%"%/%;%9$G$-$^$9!#(B
+$B$K$h$C$F%f!<%6$,%"%/%;%9$G$-$^$9!#(B
 .Pp
 .Fn getnumdevs
 $B$O!"%+!<%M%kFb$N(B
-.Nm devstat
-$B%5%V%7%9%F%`$H$H$b$KEPO?$5$l$?(B
-$B%G%P%$%9$NHV9f$rJV$7$^$9!#(B
+.Nm
+$B%5%V%7%9%F%`$KEPO?$5$l$?(B
+$B%G%P%$%9$N?t$rJV$7$^$9!#(B
 .Pp
 .Fn getgeneration
 $B$O!"%+!<%M%kFb$N%G%P%$%9(B
-.Nm devstat
+.Nm
 $B%j%9%H$N8=:_$N@$Be$r(B
 $BJV$7$^$9!#(B
 .Pp
 .Fn getversion
 $B$O!"8=:_$N%+!<%M%k(B
-.Nm devstat
+.Nm
 $B%G%P%$%9%P!<%8%g%s$rJV$7$^$9!#(B
 .Pp
 .Fn checkversion
 $B$O!"%+!<%M%k(B
-.Nm devstat
+.Nm
 $B%P!<%8%g%s$KBP$7$F(B
-userland devstat
+$B%f!<%6%i%s%I(B devstat
 $B$r%A%'%C%/$7$^$9!#(B
-2 $B$D$,F10l$N>l9g!"%<%m$,JV$5$l$^$9!#$=$&$G$J$$>l9g$O!"(B
+2 $B$D$,F10l$N>l9g!"(B0 $B$,JV$5$l$^$9!#$=$&$G$J$$>l9g$O!"(B
 .Va devstat_errbuf
 $B$K3:Ev$9$k%(%i!<$rI=<($7(B -1 $B$rJV$7$^$9!#(B
 .Pp
@@ -144,11 +156,18 @@
 .Ed
 .Pp
 .Fn getdevs
-$B$O(B
+$B$O!"(B
 .Va statinfo
-$B9=B$$,3d$j?6$i$l$k$N$rM=4|$7!"$^$?!"Dj9o$h$jAa$/(B
+$B9=B$$,3d$jEv$F$i$l$k$3$H$r4|BT$7!"$^$?!"(B
+.Fn getdevs
+$B$N5/F0$NA0$K(B
 .Va dinfo
-$B%5%V%(%l%a%s%H$,3d$j?6$i$l$k$N$bM=4|$7$^$9!#(B
+$B%5%V%(%l%a%s%H$,3d$jEv$F$i$l$F(B 0 $B$G=i4|2=$5$l$k$3$H$b4|BT$7$^$9!#(B
+.Va dinfo
+$B%5%V%(%l%a%s%H$O!"8F$S=P$7$H8F$S=P$7$N4V$N>uBV$r3JG<$9$k$?$a$K;HMQ$5$l!"(B
+$B:G=i$N(B
+.Fn getdevs
+$B8F$S=P$7$N8e$K$OJQ99$7$F$O$J$j$^$;$s!#(B
 .Va dinfo
 $B%5%V%(%l%a%s%H$K$O<!$N%(%l%a%s%H$,F~$C$F$$$^$9!#(B
 .Bd -literal -offset indent
@@ -162,16 +181,16 @@
 .Pp
 .Va kern.devstat.all sysctl
 $BJQ?t$K$O!"(B
-.Nm devstat
+.Nm
 $B9=B$$NG[Ns$,F~$C$F$$$^$9$,!"G[Ns$N@hF,$O8=:_$N(B
-.Nm devstat
+.Nm
 $B@$Be$G$9!#@$Be$,%P%C%U%!$N@hF,$K$"$kM}M3$O!"(B
-.Nm devstat
-$BE}7W$K%"%/%;%9$7$F$$$k(B userland $B%=%U%H%&%'%"$,<+F0E*$K(B
-$BE}7W>pJs$*$h$SBP1~$9$k@$BeHV9f$NN>J}$r<+F0E*$KF@$k$h$&$K$9$k$?$a$G$9!#(B
+.Nm
+$BE}7W$K%"%/%;%9$7$F$$$k%f!<%6%i%s%I%=%U%H%&%'%"$,<+F0E*$K(B
+$BE}7W>pJs$*$h$SBP1~$9$k@$BeHV9f$NN>J}$rIT2DJ,$KF@$k$h$&$K$9$k$?$a$G$9!#(B
 $B%/%i%$%"%s%H%=%U%H%&%'%"$,JL$N(B
 .Nm sysctl
-$BJQ?t(B ( $B$3$l$OJX59$N$?$a$KMxMQ$G$-$^$9(B ) $B$rDL$8$F@$BeHV9f$rF@$k$3$H$r(B
+$BJQ?t(B ($B$3$l$OJX59$N$?$a$KMxMQ$G$-$^$9(B) $B$rDL$8$F@$BeHV9f$rF@$k$3$H$r(B
 $B6/@)$5$l$?>l9g!"%G%P%$%9$N%j%9%H$O!"%/%i%$%"%s%H$,@$Be$rF@$k;~9o$H!"(B
 $B%/%i%$%"%s%H$,%G%P%$%9%j%9%H$rF@$k;~9o$N4V$GJQ2=$9$k2DG=@-$,$"$j$^$9!#(B
 .Pp
@@ -186,9 +205,9 @@
 .Va kern.devstat.all
 .Nm sysctl
 $BJQ?t$+$i(B
-.Nm devstat
+.Nm
 $B9=B$$NG[Ns$N@hF,$r;X$9%]%$%s%?$G$9!#(B
-.Nm devinfo
+.Va devinfo
 $B9=B$$N@$Be(B
 $B%5%V%(%l%a%s%H$K$O!"(B
 .Va kern.devstat.all
@@ -198,7 +217,7 @@
 $B9=B$$N(B
 .Va numdevs
 $B%5%V%(%l%a%s%H$K$O!"%+!<%M%k(B
-.Nm devstat
+.Nm
 $B%5%V%7%9%F%`$GEPO?$5$l$?%G%P%$%9$N8=:_$NHV9f$,F~$C$F$$$^$9!#(B
 .Pp
 .Fn selectdevs
@@ -222,7 +241,7 @@
 $B%U%#!<%k%I$r4pAC$K$7$F%=!<%H$5$l$^$9!#(B
 .Va bytes
 $BCM$O!"8=;~E@$G$O!"%f!<%6$,J]<i$9$kI,MW$,$"$j$^$9!#>-MhE*$K$O!"$3$l$O(B
-.Nm devstat
+.Nm
 $B%i%$%V%i%j%k!<%A%s$G9T$o$l$k2DG=@-$,$"$j$^$9!#%G%P%$%9$,L>A0$^$?$O(B
 $B%Q%?!<%s$K$h$C$FA*Br$5$l$F$$$J$$>l9g!"@-G=DI@W%3!<%I$,%7%9%F%`Fb$N(B
 $B3F%G%P%$%9$rA*Br$7!"$3$l$i$r@-G=$K$h$C$F%=!<%H$7$^$9!#%G%P%$%9$,L>A0$^$?$O(B
@@ -246,7 +265,7 @@
 .Fn selectdevs
 $B$O!"L>A0$^$?$O0lCW%Q%?!<%s$K$h$C$F;XDj$5$l$?(B
 $BA*Br$5$l$F$$$J$$%G%P%$%9$rA*Br$7$^$9!#$^$?!"$3$l$O(B
-.Nm devstat
+.Nm
 $B$N=g=x$G$5$i$K%G%P%$%9$rA*Br$7$^$9!#A*Br$7$?%G%P%$%9$N?t$,(B
 .Va maxshowdevs
 $B$KEy$7$/$J$k$^$G!"$^$?$O$9$Y$F$N%G%P%$%9$,A*Br$5$l$k$^$G$G$9!#(B
@@ -284,14 +303,14 @@
 .Fn selectdevs
 $B$O!"%/%i%$%"%s%H$K$h$C$FEO$5$l$?(B
 .Va dev_select
-$B9=B$$N3d$j?6$j$H%5%$%:JQ99$r=hM}$7$^$9!#(B
+$B9=B$$N3d$jEv$F$H%5%$%:JQ99$r=hM}$7$^$9!#(B
 .Fn selectdevs
 $B$O!"(B
 .Va numdevs
 $B%U%#!<%k%I$H(B
 .Va current_generation
 $B%U%#!<%k%I$r;HMQ$7$F!"8=:_$N(B
-.Nm devstat
+.Nm
 $B@$Be$H%G%P%$%9$N?t$rDI@W$7$^$9!#(B
 .Va num_selections
 $B$,(B
@@ -305,7 +324,7 @@
 $B$O!"A*Br%j%9%H$rI,MW$K1~$8$F%5%$%:JQ99$7!"A*BrG[Ns$r=i4|2=$7D>$7$^$9!#(B
 .Pp
 .Fn buildmatch
-$B$O!"%+%s%^$G6h@Z$i$l$?0lCW%9%H%j%s%0$r<h$j!"(B
+$B$O!"%3%s%^$G6h@Z$i$l$?0lCW%9%H%j%s%0$r<h$j!"(B
 .Fn selectdevs
 $B$,M}2r$9$k(B
 \fBdevstat_match\fR $B9=B$$K%3%s%Q%$%k$7$^$9!#0lCW%9%H%j%s%0$N7A<0$O(B
@@ -316,12 +335,12 @@
 .Ed
 .Pp
 .Fn buildmatch
-$B$O!"I,MW$K1~$8$F!"0lCW%j%9%H$N3d$j?6$j$H:F3d$j?6$j$r(B
+$B$O!"I,MW$K1~$8$F!"0lCW%j%9%H$N3d$jEv$F$H:F3d$jEv$F$r(B
 $B=hM}$7$^$9!#8=;~E@$G4{CN$N0lCW%?%$%W$K$O<!$N$b$N$,4^$^$l$^$9!#(B
 .Pp
 .Bl -tag -width indent -compact
 .It $B%G%P%$%9%?%$%W(B:
-.Bl -tag -width 123456789 -compact
+.Bl -tag -width 9n -compact
 .It da
 $B%@%$%l%/%H%"%/%;%9%G%P%$%9(B
 .It sa
@@ -351,7 +370,7 @@
 .El
 .Pp
 .It $B%$%s%?%U%'!<%9(B:
-.Bl -tag -width 123456789 -compact
+.Bl -tag -width 9n -compact
 .It IDE
 $BE}9g%I%i%$%VEE;R9)3X%G%P%$%9(B (Integrated Drive Electronics devices)
 .It SCSI
@@ -361,7 +380,7 @@
 .El
 .Pp
 .It $B%Q%9%9%k!<(B:
-.Bl -tag -width 123456789 -compact
+.Bl -tag -width 9n -compact
 .It pass
 $B%Q%9%9%k!<%G%P%$%9(B
 .El
@@ -378,7 +397,7 @@
 $B$H(B
 .Va previous
 $B$N(B
-.Nm devstat
+.Nm
 $B9=B$$NN>J}$r;XDj$7$?$$$H;W$&$b$N$G$9!#;XDj4|4V$KEO$C$FE}7W$,(B
 $B7W;;$G$-$k$h$&$K$9$k$?$a$K$G$9!#%$%s%9%?%s%9$K$h$C$F$O!"%7%9%F%`5/F0$+$i$N(B
 $BE}7W$r7W;;$9$k$?$a$K!"%f!<%6$O(B
@@ -441,7 +460,7 @@
 $B4X?t(B (
 .Va statinfo
 $B9=B$BNFb(B ) $B$,!"8=:_$N(B
-.Nm devstat
+.Nm
 $B%j%9%H$r<h$j=P$9$?$S$K!"(B
 .Fn getdevs
 $B4X?t$,5-O?$7$?;~9o$H$H$b$K:G$b0lHLE*$K;HMQ$5$l$^$9!#(B
@@ -454,7 +473,7 @@
 $BJQ?t$r<h$j=P$9$H$-$K%(%i!<$,$"$C$?>l9g$O(B -1 $B$rJV$7$^$9!#(B
 .Pp
 .Fn checkversion
-$B$O!"%+!<%M%k$H(B userland devstat $B%P!<%8%g%s$,0lCW$9$k>l9g!"(B
+$B$O!"%+!<%M%k$H%f!<%6%i%s%I(B devstat $B%P!<%8%g%s$,0lCW$9$k>l9g!"(B
 0 $B$rJV$7$^$9!#0lCW$7$J$$>l9g!"(B -1 $B$rJV$7$^$9!#(B
 .Pp
 .Fn getdevs
@@ -477,7 +496,7 @@
 .Fn compute_etime
 $B7W;;:Q$_$N7P2a;~4V$rJV$7$^$9!#(B
 .Pp
-.Nm devstat
+.Nm
 $B%i%$%V%i%j4X?t$N(B 1 $B$D$+$i%(%i!<$,JV$5$l$?>l9g!"0lHL$K!"%(%i!<$N(B
 $BM}M3$,%0%m!<%P%k%9%H%j%s%0(B
 .Va devstat_errbuf
@@ -493,20 +512,19 @@
 .Xr vmstat 8 ,
 .Xr devstat 9
 .Sh $BNr;K(B
-.Nm devstat
+.Nm
 $BE}7W%7%9%F%`$O:G=i$K(B
 .Fx 3.0
 $B$K8=$l$^$7$?!#(B
 .Sh $B:n<T(B
-Kenneth Merry
-.Aq ken@FreeBSD.ORG
+.An Kenneth Merry Aq ken@FreeBSD.org
 .Sh $B%P%0(B
 .Fn getdevs ,
 .Fn selectdevs
 $B!"$*$h$S(B
 .Fn buildmatch
 $B$K$h$C$F3d$j?6$i$l$?%a%b%j$r(B
-$B3d$j?6$j2r=|$9$k$?$a$N%$%s%?%U%'!<%9$,$*$=$i$/$"$k$O$:$G$9!#(B
+$B3d$jEv$F2r=|$9$k$?$a$N%$%s%?%U%'!<%9$,$*$=$i$/$"$k$O$:$G$9!#(B
 .Pp
 .Fn selectdevs
 $B$O!"%G%P%$%9$,0JA0$KA*Br$5$l$F$$$J$$>l9g!"(B

----Next_Part(Mon_Jun__3_08:18:06_2002_182)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Content-Description: ftpio.3.jdiff
Content-Disposition: inline; filename="ftpio.3.jdiff"

--- ftpio.3~	Sun Jun  2 22:34:50 2002
+++ ftpio.3	Sun Jun  2 22:42:14 2002
@@ -22,10 +22,10 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\"	%Id: ftpio.3,v 1.17 1998/03/19 07:34:09 charnier Exp %
+.\" %FreeBSD: src/lib/libftpio/ftpio.3,v 1.21.2.8 2001/12/17 10:08:30 ru Exp %
 .\"
 .Dd June 17, 1996
-.Dt ftpio 3
+.Dt FTPIO 3
 .Os
 .Sh $BL>>N(B
 .Nm ftpLogin ,
@@ -39,39 +39,47 @@
 .Nm ftpPassive ,
 .Nm ftpVerbose ,
 .Nm ftpGetURL ,
-.Nm ftpPutURL
+.Nm ftpPutURL ,
+.Nm ftpLoginAf ,
+.Nm ftpGetURLAf ,
+.Nm ftpPutURLAf
 .Nd FTPIO $B%f!<%6%i%$%V%i%j(B
 .Sh $B=q<0(B
-.Fd #include <ftpio.h>
+.In ftpio.h
 .Ft FILE *
 .Fn ftpLogin "char *host" "char *user" "char *passwd" "int ftp_port" "int verbose" "int *retcode"
 .Ft int
-.Fn ftpChdir "FILE *stream, char *dirname"
+.Fn ftpChdir "FILE *stream" "char *dirname"
 .Ft int
 .Fn ftpErrno "FILE *stream"
 .Ft const char *
 .Fn ftpErrString "int errno"
 .Ft time_t
-.Fn ftpGetModtime "FILE *stream, char *file"
+.Fn ftpGetModtime "FILE *stream" "char *file"
 .Ft off_t
-.Fn ftpGetSize "FILE *stream, char *file"
+.Fn ftpGetSize "FILE *stream" "char *file"
 .Ft FILE *
-.Fn ftpGet "FILE *stream, char *file, off_t *seekto"
+.Fn ftpGet "FILE *stream" "char *file" "off_t *seekto"
 .Ft FILE *
-.Fn ftpPut "FILE *stream, char *file"
+.Fn ftpPut "FILE *stream" "char *file"
 .Ft int
 .Fn ftpAscii "FILE *stream"
 .Ft int
 .Fn ftpBinary "FILE *stream"
 .Ft int
-.Fn ftpPassive "FILE *stream, int status"
+.Fn ftpPassive "FILE *stream" "int status"
 .Ft void
-.Fn ftpVerbose "FILE *stream, int status"
+.Fn ftpVerbose "FILE *stream" "int status"
 .Ft FILE *
-.Fn ftpGetURL "char *url, char *user, char *passwd, int *retcode"
+.Fn ftpGetURL "char *url" "char *user" "char *passwd" "int *retcode"
 .Ft FILE *
-.Fn ftpPutURL "char *url, char *user, char *passwd, int *retcode"
-
+.Fn ftpPutURL "char *url" "char *user" "char *passwd" "int *retcode"
+.Ft FILE *
+.Fn ftpLoginAf "char *host" "int af" "char *user" "char *passwd" "int ftp_port" "int verbose" "int *retcode"
+.Ft FILE *
+.Fn ftpGetURLAf "char *url" "int af" "char *user" "char *passwd" "int *retcode"
+.Ft FILE *
+.Fn ftpPutURLAf "char *url" "int af" "char *user" "char *passwd" "int *retcode"
 .Sh $B2r@b(B
 $B$3$N4X?t$O!"(BFTP $B%3%M%/%7%g%s$r4IM}$9$k$?$a$N(B
 $B9b%l%Y%k$J%i%$%V%i%j$r<BAu$7$^$9!#(B
@@ -87,23 +95,23 @@
 .Fa verbose
 $B%U%#!<%k%I$r(B
 $B;HMQ$7$F%m%0%$%s$7$h$&$H$7$^$9!#%m%0%$%s$K@.8y$9$l$P!"I8=`E*$J(B
-$B%9%H%j!<%`5-=R;R$,La$5$l$^$9!#$3$N5-=R;R$O!"8e$N(B FTP $B%*%Z%l!<%7%g%s$K(B
-$BEO$7$F$/$@$5$$!#%(%i!<$,H/@8$7$?>l9g$O(B NULL $B$,La$5$l!"(B
+$B%9%H%j!<%`5-=R;R$,JV$5$l$^$9!#$3$N5-=R;R$O!"8e$N(B FTP $B%*%Z%l!<%7%g%s$K(B
+$BEO$7$F$/$@$5$$!#%(%i!<$,H/@8$7$?>l9g$O(B NULL $B$,JV$5$l!"(B
 .Fa retcode
-$B$K$O!"30It%5!<%P$,La$9%(%i!<%3!<%I$,F~$j$^$9!#(B
+$B$K$O!"30It%5!<%P$,JV$9%(%i!<%3!<%I$,F~$j$^$9!#(B
 .Pp
 .Fn ftpChdir
 $B$O!"%5!<%P$N(B CD $B%3%^%s%I$r=P$7!"(B
 .Fa dir
 $B$G;XDj$5$l$?(B
-$B%G%#%l%/%H%j$KJQ99$7$h$&$H$7$^$9!#LdBj$,$J$1$l$P%<%m$,La$5$l$^$9!#(B
-$BLdBj$,$"$k>l9g$O!"%5!<%P$N%(%i!<%3!<%I$,La$5$l$^$9!#(B
+$B%G%#%l%/%H%j$KJQ99$7$h$&$H$7$^$9!#LdBj$,$J$1$l$P(B 0 $B$,JV$5$l$^$9!#(B
+$BLdBj$,$"$k>l9g$O!"%5!<%P$N%(%i!<%3!<%I$,JV$5$l$^$9!#(B
 .Pp
 .Fn ftpErrno
-$B$O!":G8e$N%*%Z%l!<%7%g%s$N%5!<%P%(%i!<%3!<%I$rLa$7$^$9!#(B
+$B$O!":G8e$N%*%Z%l!<%7%g%s$N%5!<%P%(%i!<%3!<%I$rJV$7$^$9!#(B
 FTP $B$N%(%i!<%3!<%I$K@:DL$7$F$$$k>l9g$O!"%(%i!<$N860x$N3NG'$KM-1W$G$9!#(B
 .Fn ftpErrString
-$B$O!"?M4V$,H=FI$G$-$k%5!<%P%(%i!<%3!<%I$rLa$7$^$9!#(B
+$B$O!"?M4V$,H=FI$G$-$k%5!<%P%(%i!<%3!<%I$rJV$7$^$9!#(B
 .Pp
 .Fn ftpGet
 $B$O!"(B
@@ -111,28 +119,28 @@
 $B0z?t$,;XDj$9$k%U%!%$%k$r<h$j=P$7(B (FTP $B%5!<%P$N%+%l%s%H%G%#%l%/%H%j(B
 $B$+$i$NAjBP%Q%9$HA[Dj$5$l$k!#(B
 .Fn ftpChdir
-$B;2>H(B)$B!"$=$N%U%!%$%k$N$?$a$N?7$7$$(B FILE* $B%]%$%s%?$rLa$7$^$9!#(B
-$B%(%i!<$,H/@8$7$?>l9g$O(B NULL $B$rLa$7$^$9!#(B
+$B;2>H(B)$B!"$=$N%U%!%$%k$N$?$a$N?7$7$$(B FILE* $B%]%$%s%?$rJV$7$^$9!#(B
+$B%(%i!<$,H/@8$7$?>l9g$O(B NULL $B$rJV$7$^$9!#(B
 .Fa seekto
 $B$,(B NULL $B$G$O$J$$>l9g!"$3$l$,;X$9@0?t$NFbMF$O!"%U%!%$%k$N:F3+%]%$%s%H(B
-$B$H$7$F;HMQ$5$l$^$9!#$D$^$j!"La$5$l$?%9%H%j!<%`$O!"%U%!%$%k$N(B
+$B$H$7$F;HMQ$5$l$^$9!#$D$^$j!"JV$5$l$?%9%H%j!<%`$O!"%U%!%$%k$N(B
 .Fa *seekto
 $B%P%$%H$r;X$7$F$$$k$H$$$&$3$H$G$9!#$3$l$O!"%(%i!<$G<:GT$7$?E>Aw$r(B
 $B8zN(E*$K:F3+$9$k:]$KJXMx$G$9!#%7!<%/A`:n$,%(%i!<$K$J$C$?>l9g!"(B
 .Fa *seekto
-$B$NCM$O%<%m$K$J$j$^$9!#(B
+$B$NCM$O(B 0 $B$K$J$j$^$9!#(B
 .Pp
 .Fn ftpGetModtime
 $B$O!"(B
 .Fa file
 $B0z?t$,;XDj$9$k%U%!%$%k$N:G=*=$@5;~9o$r(B
-$BLa$7$^$9!#%U%!%$%k$r%*!<%W%s$G$-$J$$>l9g$O(B 0 $B$,La$5$l$^$9!#(B
+$BJV$7$^$9!#%U%!%$%k$r%*!<%W%s$G$-$J$$>l9g$O(B 0 $B$,JV$5$l$^$9!#(B
 .Pp
 .Fn ftpGetSize
 $B$O!"(B
 .Fa file
 $B0z?t$,;XDj$9$k%U%!%$%k$N%5%$%:$r%P%$%HC10L$G(B
-$BLa$7$^$9!#%U%!%$%k$r%*!<%W%s$G$-$J$$>l9g$O(B -1 $B$,La$5$l$^$9!#(B
+$BJV$7$^$9!#%U%!%$%k$r%*!<%W%s$G$-$J$$>l9g$O(B -1 $B$,JV$5$l$^$9!#(B
 .Pp
 .Fn ftpPut
 $B$O!"(B
@@ -142,7 +150,7 @@
 .Fn ftpChdir
 $B;2>H(B)$B!"%U%!%$%k$N?7$7$$(B
 .Fa stream
-$B%]%$%s%?$rLa$7$^$9!#%(%i!<$,H/@8$7$?>l9g$O(B NULL $B$rLa$7$^$9!#(B
+$B%]%$%s%?$rJV$7$^$9!#%(%i!<$,H/@8$7$?>l9g$O(B NULL $B$rJV$7$^$9!#(B
 .Pp
 .Fn ftpAscii
 $B$O!"(B
@@ -177,7 +185,7 @@
 $B$,;XDj$9$k%U%!%$%k$r<h$j=P$7$^$9!#$3$l$O!"(B
 $B%5!<%P$N(B
 .Fa stream
-$B$,La$5$l$J$$$3$H=|$1$P!"(B
+$B$,JV$5$l$J$$$3$H=|$1$P!"(B
 .Fn ftpLogin ,
 .Fn ftpChdir ,
 .Fn ftpGet
@@ -192,7 +200,7 @@
 $B$,;XDj$9$k%U%!%$%k$r:n@.$7$^$9!#$3$l$O!"(B
 $B%5!<%P$N(B
 .Fa stream
-$B$,La$5$l$J$$$3$H$r=|$1$P!"(B
+$B$,JV$5$l$J$$$3$H$r=|$1$P!"(B
 .Fn ftpLogin ,
 .Fn ftpChdir ,
 .Fn ftpPut
@@ -200,16 +208,33 @@
 $B%5!<%P$H$N%3%M%/%7%g%s$O!"%U%!%$%k$,40A4$K=q$-9~$^$l$?;~E@$G(B
 $B%/%m!<%:$5$l$^$9!#J#?t$N%U%!%$%k$r:n@.$9$k>l9g$O!"Dc%l%Y%k$N%k!<%A%s(B
 $B$r;HMQ$7$F$/$@$5$$!#$3$NJ}$,$O$k$+$K8zN(E*$G$9!#(B
+.Pp
+.Fn ftpLoginAf ,
+.Fn ftpGetURLAf ,
+.Fn ftpPutURLAf
+$B$O!"(B
+.Fn ftpLogin ,
+.Fn ftpGetURL ,
+.Fn ftpPutURL
+$B$HF1MM$G$9$,!"%"%I%l%9%U%!%_%j(B
+except that they are able to specify address family
+.Fa af
+$B$r;XDj2DG=$JE@$,0[$J$j$^$9!#(B
 .Sh $B4D6-JQ?t(B
-.Bl -tag -width FTP_PASSIVE_MODE -offset 123
+.Bl -tag -width FTP_PASSIVE_MODE -offset 3n
 .It Ev FTP_TIMEOUT
 .Tn FTP
 $B@\B3$r0[>o=*N;$5$;$kA0$K!"DL?.Aj<j$+$i$N1~Ez$rBT$D:GBg;~4V(B
 ($BICC10L(B) $B$G$9!#(B
 .It Ev FTP_PASSIVE_MODE
-$B%Q%C%7%V%b!<%I(B
+$BDj5A$5$l$F$$$k>l9g!"%Q%C%7%V%b!<%I(B
 .Tn FTP
 $B$r6/@)E*$K;HMQ$7$^$9!#(B
+$B$?$@$7(B ``NO'' $B$^$?$O(B ``no'' $B$KDj5A$5$l$F$$$k>l9g$O!"(B
+$B%"%/%F%#%V%b!<%I$r6/@)E*$K;HMQ$7$^$9!#(B
+$BDj5A$5$l$F$$$k>l9g!"$3$NJQ?t$N@_Dj$O!"(B
+.Fn ftpPassive
+$B$N8F$S=P$7$KM%@h$7$^$9!#(B
 .El
 .Sh $B%P%0(B
 $B$3$$$D$rE0DlE*$K;H$$9~$`$H!"FbIt>uBV%^%7%s$r:.Mp$5$;$F$7$^$&2DG=@-$,(B

----Next_Part(Mon_Jun__3_08:18:06_2002_182)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Description: devstat.3.diff.txt
Content-Disposition: inline; filename="devstat.3.diff.txt"

===================================================================
RCS file: /home/ncvs/src/lib/libdevstat/devstat.3,v
retrieving revision 1.3
retrieving revision 1.7.2.8
diff -u -p -r1.3 -r1.7.2.8
--- src/lib/libdevstat/devstat.3	1999/01/06 04:59:53	1.3
+++ src/lib/libdevstat/devstat.3	2001/12/17 10:08:29	1.7.2.8
@@ -1,5 +1,5 @@
 .\"
-.\" Copyright (c) 1998 Kenneth D. Merry.
+.\" Copyright (c) 1998, 1999 Kenneth D. Merry.
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
@@ -25,16 +25,28 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\"	$Id: devstat.3,v 1.2 1998/09/20 00:11:09 ken Exp $
+.\" $FreeBSD: /home/ncvs/src/lib/libdevstat/devstat.3,v 1.7.2.8 2001/12/17 10:08:29 ru Exp $
 .\"
 .Dd May 21, 1998
 .Dt DEVSTAT 3
-.Os FreeBSD 3.0
+.Os
 .Sh NAME
-.Nm devstat
+.Nm devstat ,
+.Nm getnumdevs ,
+.Nm getgeneration ,
+.Nm getversion ,
+.Nm checkversion ,
+.Nm getdevs ,
+.Nm selectdevs ,
+.Nm buildmatch ,
+.Nm compute_stats ,
+.Nm compute_etime
 .Nd device statistics utility library
+.Sh LIBRARY
+.Lb libdevstat
 .Sh SYNOPSIS
-.Fd #include <devstat.h>
+.In sys/dkstat.h
+.In devstat.h
 .Ft int
 .Fn getnumdevs "void"
 .Ft long
@@ -97,37 +109,38 @@ interface, which is accessible to users 
 .Pp
 .Fn getnumdevs
 returns the number of devices registered with the
-.Nm devstat
+.Nm
 subsystem in the kernel.
 .Pp
 .Fn getgeneration
 returns the current generation of the
-.Nm devstat
+.Nm
 list of devices in the kernel.
 .Pp
 .Fn getversion
 returns the current kernel
-.Nm devstat
+.Nm
 version.
 .Pp
 .Fn checkversion
-checks the userland devstat version against the kernel devstat version.  If
-the two are identical, it returns zero.  Otherwise, it prints an
-appropriate error in 
+checks the userland devstat version against the kernel devstat version.
+If the two are identical, it returns zero.
+Otherwise, it prints an appropriate error in
 .Va devstat_errbuf
 and returns -1.
 .Pp
 .Fn getdevs
 fetches the current list of devices and statistics into the supplied
 .Va statinfo
-structure.  The
+structure.
+The
 .Va statinfo
-structure can be found in 
+structure can be found in
 .Aq Pa devstat.h :
 .Bd -literal -offset indent
 struct statinfo {
 	long            cp_time[CPUSTATES];
-	long            tk_nin;  
+	long            tk_nin;
 	long            tk_nout;
 	struct devinfo  *dinfo;
 	struct timeval  busy_time;
@@ -139,7 +152,14 @@ expects the
 .Va statinfo
 structure to be allocated, and it also expects the
 .Va dinfo
-subelement to be allocated ahead of time.  The
+subelement to be allocated and zeroed prior to the first invocation of
+.Fn getdevs .
+The
+.Va dinfo
+subelement is used to store state between calls, and should not be modified
+after the first call to
+.Fn getdevs .
+The
 .Va dinfo
 subelement contains the following elements:
 .Bd -literal -offset indent
@@ -155,14 +175,14 @@ The
 .Va kern.devstat.all
 .Nm sysctl
 variable contains an array of
-.Nm devstat
+.Nm
 structures, but at the head of the array is the current
-.Nm devstat
-generation.  The reason the generation is at the head of the buffer is so
-that userland software accessing the devstat statistics information can
-atomically get both the statistics information and the corresponding
-generation number.  If client software were forced to get the generation
-number via a separate
+.Nm
+generation.
+The reason the generation is at the head of the buffer is so that userland
+software accessing the devstat statistics information can atomically get
+both the statistics information and the corresponding generation number.
+If client software were forced to get the generation number via a separate
 .Nm sysctl
 variable (which is available for convenience), the list of devices could
 change between the time the client gets the generation and the time the
@@ -181,27 +201,28 @@ structure is basically a pointer to the 
 structures from the
 .Va kern.devstat.all
 .Nm sysctl
-variable.  The generation subelement of the
-.Nm devinfo
+variable.
+The generation subelement of the
+.Va devinfo
 structure contains the generation number from the
 .Va kern.devstat.all
 .Nm sysctl
-variable.  
+variable.
 The
 .Va numdevs
-subelement of the 
+subelement of the
 .Va devinfo
 structure contains the current
 number of devices registered with the kernel
-.Nm devstat
+.Nm
 subsystem.
 .Pp
 .Fn selectdevs
 selects devices to display based upon a number of criteria:
 .Bl -tag -width flag
 .It specified devices
-Specified devices are the first selection priority.  These are generally
-devices specified by name by the user.  e.g. da0, da1, cd0.
+Specified devices are the first selection priority.
+These are generally devices specified by name by the user e.g. da0, da1, cd0.
 .It match patterns
 These are pattern matching expressions generated by
 .Fn buildmatch
@@ -209,28 +230,29 @@ from user input.
 .It performance
 If performance mode is enabled, devices will be sorted based on the
 .Va bytes
-field in the 
+field in the
 .Va device_selection
 structure passed in to
 .Fn selectdevs .
-The 
+The
 .Va bytes
-value currently must be maintained by the user.  In the future,
-this may be done for him in a
+value currently must be maintained by the user.
+In the future, this may be done for him in a
 .Nm
 library routine.
 If no devices have been selected by name or by pattern, the performance
 tracking code will select every device in the system, and sort them by
-performance.  If devices have been selected by name or pattern, the
-performance tracking code will honor those selections and will only sort
-among the selected devices.
+performance.
+If devices have been selected by name or pattern, the performance tracking
+code will honor those selections and will only sort among the selected
+devices.
 .It order in the devstat list
 If the selection mode is set to DS_SELECT_ADD, and if there are still less
-than 
+than
 .Va maxshowdevs
 devices selected,
 .Fn selectdevs
-will automatically select up to 
+will automatically select up to
 .Va maxshowdevs
 devices.
 .El
@@ -243,7 +265,7 @@ In add mode,
 .Fn selectdevs
 will select any unselected devices specified by name or matching pattern.
 It will also select more devices, in devstat list order, until the number
-of selected devices is equal to 
+of selected devices is equal to
 .Va maxshowdevs
 or until all devices are
 selected.
@@ -255,52 +277,53 @@ by name or by matching pattern.
 .It DS_SELECT_REMOVE
 In remove mode,
 .Fn selectdevs
-will remove devices specified by name or by matching pattern.  It will not
-select any additional devices.
+will remove devices specified by name or by matching pattern.
+It will not select any additional devices.
 .It DS_SELECT_ADDONLY
 In add only mode,
 .Fn selectdevs
 will select any unselected devices specified by name or matching pattern.
-In this respect it is identical to add mode.  It will not, however, select
-any devices other than those specified.
+In this respect it is identical to add mode.
+It will not, however, select any devices other than those specified.
 .El
 .Pp
 In all selection modes,
 .Fn selectdevs
-will not select any more than 
+will not select any more than
 .Va maxshowdevs
-devices.  One exception to
-this is when you are in
+devices.
+One exception to this is when you are in
 .Dq top
-mode and no devices have been selected.  In
-this case,
+mode and no devices have been selected.
+In this case,
 .Fn selectdevs
-will select every device in the system.  Client programs must pay attention
-to selection order when deciding whether to pay attention to a particular
-device.  This may be the wrong behavior, and probably requires additional
-thought.
+will select every device in the system.
+Client programs must pay attention to selection order when deciding whether
+to pay attention to a particular device.
+This may be the wrong behavior, and probably requires additional thought.
 .Pp
 .Fn selectdevs
-handles allocation and resizing of the 
+handles allocation and resizing of the
 .Va dev_select
 structure passed in
 by the client.
 .Fn selectdevs
-uses the 
+uses the
 .Va numdevs
-and 
+and
 .Va current_generation
 fields to track the
 current
 .Nm
-generation and number of devices.  If 
+generation and number of devices.
+If
 .Va num_selections
 is not the same
-as 
+as
 .Va numdevs
-or if 
+or if
 .Va select_generation
-is not the same as 
+is not the same as
 .Va current_generation ,
 .Fn selectdevs
 will resize the selection list as necessary, and re-initialize the
@@ -322,8 +345,8 @@ Currently known match types include:
 .Pp
 .Bl -tag -width indent -compact
 .It device type:
-.Bl -tag -width 123456789 -compact
-.It da 
+.Bl -tag -width 9n -compact
+.It da
 Direct Access devices
 .It sa
 Sequential Access devices
@@ -352,7 +375,7 @@ Floppy devices
 .El
 .Pp
 .It interface:
-.Bl -tag -width 123456789 -compact
+.Bl -tag -width 9n -compact
 .It IDE
 Integrated Drive Electronics devices
 .It SCSI
@@ -362,28 +385,30 @@ Any other device interface
 .El
 .Pp
 .It passthrough:
-.Bl -tag -width 123456789 -compact
+.Bl -tag -width 9n -compact
 .It pass
 Passthrough devices
 .El
 .El
 .Pp
 .Fn compute_stats
-provides an easy way to obtain various device statistics.  Only two
-arguments are mandatory:
+provides an easy way to obtain various device statistics.
+Only two arguments are mandatory:
 .Va current
 and
 .Va etime .
-Every other argument is optional.  For most applications, the user will
-want to supply both
+Every other argument is optional.
+For most applications, the user will want to supply both
 .Va current
 and
 .Va previous
 devstat structures so that statistics may be calculated over a given period
-of time.  In some instances, for instance when calculating statistics since
-system boot, the user may pass in a NULL pointer for the
+of time.
+In some instances, for instance when calculating statistics since system boot,
+the user may pass in a NULL pointer for the
 .Va previous
-argument.  In that case,
+argument.
+In that case,
 .Fn compute_stats
 will use the total stats in the
 .Va current
@@ -418,7 +443,8 @@ is NULL, the result will be the total nu
 .It total_blocks
 This is basically
 .Va total_bytes
-divided by the device blocksize.  If the device blocksize is listed as 
+divided by the device blocksize.
+If the device blocksize is listed as
 .Sq 0 ,
 the device blocksize will default to 512 bytes.
 .It kb_per_transfer
@@ -429,7 +455,8 @@ This is the average number of transfers 
 .It mb_per_second
 This is average megabytes per second.
 .It blocks_per_second
-This is average blocks per second.  If the device blocksize is
+This is average blocks per second.
+If the device blocksize is
 .Sq 0 ,
 a default blocksize of 512 bytes will be used instead.
 .It ms_per_transaction
@@ -439,10 +466,10 @@ The average number of milliseconds per t
 .Fn compute_etime
 provides an easy way to find the difference in seconds between two
 .Va timeval
-structures.  This is most commonly used in conjunction with the time
-recorded by the
+structures.
+This is most commonly used in conjunction with the time recorded by the
 .Fn getdevs
-function (in struct 
+function (in struct
 .Va statinfo )
 each time it fetches the current
 .Nm
@@ -457,14 +484,16 @@ fetching the variable.
 .Pp
 .Fn checkversion
 returns 0 if the kernel and userland
-.Nm devstat
-versions match.  If they do not match, it returns -1.
+.Nm
+versions match.
+If they do not match, it returns -1.
 .Pp
 .Fn getdevs
 and
 .Fn selectdevs
 return -1 in case of an error, 0 if there is no error and 1 if the device
-list or selected devices have changed.  A return value of 1 from
+list or selected devices have changed.
+A return value of 1 from
 .Fn getdevs
 is usually a hint to re-run
 .Fn selectdevs
@@ -499,8 +528,7 @@ The
 statistics system first appeared in
 .Fx 3.0 .
 .Sh AUTHORS
-Kenneth Merry
-.Aq ken@FreeBSD.ORG
+.An Kenneth Merry Aq ken@FreeBSD.org
 .Sh BUGS
 There should probably be an interface to de-allocate memory allocated by
 .Fn getdevs ,

----Next_Part(Mon_Jun__3_08:18:06_2002_182)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Description: ftpio.3.diff.txt
Content-Disposition: inline; filename="ftpio.3.diff.txt"

===================================================================
RCS file: /home/ncvs/src/lib/libftpio/ftpio.3,v
retrieving revision 1.17
retrieving revision 1.21.2.8
diff -u -p -r1.17 -r1.21.2.8
--- src/lib/libftpio/ftpio.3	1998/03/19 07:34:09	1.17
+++ src/lib/libftpio/ftpio.3	2001/12/17 10:08:30	1.21.2.8
@@ -22,10 +22,10 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.\"	$Id: ftpio.3,v 1.16 1998/02/10 07:01:51 jkh Exp $
+.\" $FreeBSD: /home/ncvs/src/lib/libftpio/ftpio.3,v 1.21.2.8 2001/12/17 10:08:30 ru Exp $
 .\"
 .Dd June 17, 1996
-.Dt ftpio 3
+.Dt FTPIO 3
 .Os
 .Sh NAME
 .Nm ftpLogin ,
@@ -39,46 +39,54 @@
 .Nm ftpPassive ,
 .Nm ftpVerbose ,
 .Nm ftpGetURL ,
-.Nm ftpPutURL
-.Nd FTPIO User library
+.Nm ftpPutURL ,
+.Nm ftpLoginAf ,
+.Nm ftpGetURLAf ,
+.Nm ftpPutURLAf
+.Nd FTPIO user library
 .Sh SYNOPSIS
-.Fd #include <ftpio.h>
+.In ftpio.h
 .Ft FILE *
 .Fn ftpLogin "char *host" "char *user" "char *passwd" "int ftp_port" "int verbose" "int *retcode"
 .Ft int
-.Fn ftpChdir "FILE *stream, char *dirname"
+.Fn ftpChdir "FILE *stream" "char *dirname"
 .Ft int
 .Fn ftpErrno "FILE *stream"
 .Ft const char *
 .Fn ftpErrString "int errno"
 .Ft time_t
-.Fn ftpGetModtime "FILE *stream, char *file"
+.Fn ftpGetModtime "FILE *stream" "char *file"
 .Ft off_t
-.Fn ftpGetSize "FILE *stream, char *file"
+.Fn ftpGetSize "FILE *stream" "char *file"
 .Ft FILE *
-.Fn ftpGet "FILE *stream, char *file, off_t *seekto"
+.Fn ftpGet "FILE *stream" "char *file" "off_t *seekto"
 .Ft FILE *
-.Fn ftpPut "FILE *stream, char *file"
+.Fn ftpPut "FILE *stream" "char *file"
 .Ft int
 .Fn ftpAscii "FILE *stream"
 .Ft int
 .Fn ftpBinary "FILE *stream"
 .Ft int
-.Fn ftpPassive "FILE *stream, int status"
+.Fn ftpPassive "FILE *stream" "int status"
 .Ft void
-.Fn ftpVerbose "FILE *stream, int status"
+.Fn ftpVerbose "FILE *stream" "int status"
 .Ft FILE *
-.Fn ftpGetURL "char *url, char *user, char *passwd, int *retcode"
+.Fn ftpGetURL "char *url" "char *user" "char *passwd" "int *retcode"
 .Ft FILE *
-.Fn ftpPutURL "char *url, char *user, char *passwd, int *retcode"
-
+.Fn ftpPutURL "char *url" "char *user" "char *passwd" "int *retcode"
+.Ft FILE *
+.Fn ftpLoginAf "char *host" "int af" "char *user" "char *passwd" "int ftp_port" "int verbose" "int *retcode"
+.Ft FILE *
+.Fn ftpGetURLAf "char *url" "int af" "char *user" "char *passwd" "int *retcode"
+.Ft FILE *
+.Fn ftpPutURLAf "char *url" "int af" "char *user" "char *passwd" "int *retcode"
 .Sh DESCRIPTION
 These functions implement a high-level library for managing FTP connections.
 .Pp
 .Fn ftpLogin
 attempts to log in using the supplied
 .Fa user ,
-.Fa passwd,
+.Fa passwd ,
 .Fa ftp_port
 (if passed as 0,
 .Fa ftp_port
@@ -86,13 +94,14 @@ defaults to the standard ftp port of 21)
 .Fa verbose
 fields.  If it is successful, a
 standard stream descriptor is returned which should be passed to
-subsequent FTP operations. On failure, NULL is returned and
+subsequent FTP operations.
+On failure, NULL is returned and
 .Fa retcode
 will have the error code returned by the foreign server.
 .Pp
 .Fn ftpChdir
 attempts to issue a server CD command to the directory named in
-.Fa dir.
+.Fa dir .
 On success, zero is returned.  On failure, the error code from the server.
 .Pp
 .Fn ftpErrno
@@ -140,7 +149,7 @@ and returns a new
 pointer for the file or NULL on failure.
 .Pp
 .Fn ftpAscii
-sets ascii mode for the current server connection named by
+sets ASCII mode for the current server connection named by
 .Fa stream .
 .Pp
 .Fn ftpBinary
@@ -185,16 +194,28 @@ operations except that no server stream 
 to the server closes when the file has been completely written.  Use the
 lower-level routines if multiple puts are required as it will be far more
 efficient.
+.Pp
+.Fn ftpLoginAf ,
+.Fn ftpGetURLAf ,
+.Fn ftpPutURLAf
+are same as
+.Fn ftpLogin ,
+.Fn ftpGetURL ,
+.Fn ftpPutURL
+except that they are able to specify address family
+.Fa af .
 .Sh ENVIRONMENT
-.Bl -tag -width FTP_PASSIVE_MODE -offset 123
+.Bl -tag -width FTP_PASSIVE_MODE -offset 3n
 .It Ev FTP_TIMEOUT
 Maximum time, in seconds, to wait for a response
-from the peer before aborting an 
+from the peer before aborting an
 .Tn FTP
 connection.
 .It Ev FTP_PASSIVE_MODE
-Force the use of passive mode
-.Tn FTP .
+If defined, forces the use of passive mode, unless equal
+to ``NO'' or ``no'' in which case active mode is forced.
+If defined, the setting of this variable always overrides any calls to
+.Fn ftpPassive .
 .El
 .Sh BUGS
 I'm sure you can get this thing's internal state machine confused if

----Next_Part(Mon_Jun__3_08:18:06_2002_182)----
