From owner-man-jp-reviewer@jp.freebsd.org  Wed Dec 15 01:55:44 1999
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id BAA38920;
	Wed, 15 Dec 1999 01:55:44 +0900 (JST)
	(envelope-from owner-man-jp-reviewer@jp.FreeBSD.org)
Received: from multi.al.rim.or.jp (multi.al.rim.or.jp [202.247.191.124] (may be forged))
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id BAA38915
	for <man-jp-reviewer@jp.freebsd.org>; Wed, 15 Dec 1999 01:55:44 +0900 (JST)
	(envelope-from k-horik@yk.rim.or.jp)
Received: from mail-relay.rim.or.jp by multi.al.rim.or.jp (8.8.8/3.7W/HMX-12) with ESMTP id BAA04427 for <man-jp-reviewer@jp.freebsd.org>; Wed, 15 Dec 1999 01:55:44 +0900 (JST)
Received: from localhost (pppa44.yk.rim.or.jp [202.247.186.44]) by mail-relay.rim.or.jp (3.7W/HMX-12) id BAA06518 for <man-jp-reviewer@jp.freebsd.org>; Wed, 15 Dec 1999 01:55:42 +0900 (JST)
To: man-jp-reviewer@jp.freebsd.org
X-Mailer: Mew version 1.93 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Multipart/Mixed;
	boundary="--Next_Part(Tue_Dec_14_22:55:58_1999_601)--"
Content-Transfer-Encoding: 7bit
Message-Id: <19991215015505S.k-horik@yk.rim.or.jp>
Date: Wed, 15 Dec 1999 01:55:05 +0900
From: Kazuo Horikawa <k-horik@yk.rim.or.jp>
X-Dispatcher: imput version 980905(IM100)
Lines: 279
Reply-To: man-jp-reviewer@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+990727
X-Sequence: man-jp-reviewer 1796
Subject: [man-jp-reviewer 1796] (check) ng_ksocket.8
Errors-To: owner-man-jp-reviewer@jp.freebsd.org
Sender: owner-man-jp-reviewer@jp.freebsd.org
X-Originator: k-horik@yk.rim.or.jp

----Next_Part(Tue_Dec_14_22:55:58_1999_601)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

 ng_ksocket.8 $B$N%A%'%C%/$G$9!#(B
 $B86J8$,99?7$5$l$F$$$?$N$G!"$=$l$K$"$o$;$^$7$?!#(B


----Next_Part(Tue_Dec_14_22:55:58_1999_601)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Content-Description: ng_ksocket.8.diff
Content-Disposition: attachment; filename=ng_ksocket.8.diff

--- ng_ksocket.8.bak	Tue Dec 14 21:39:32 1999
+++ ng_ksocket.8	Tue Dec 14 22:54:51 1999
@@ -32,7 +32,7 @@
 .\" 
 .\" Author: Archie Cobbs <archie@whistle.com>
 .\"
-.\" $FreeBSD: src/sys/modules/netgraph/ksocket/ng_ksocket.8,v 1.1.2.1 1999/11/17 07:23:47 julian Exp $
+.\" $FreeBSD: src/sys/modules/netgraph/ksocket/ng_ksocket.8,v 1.1.2.2 1999/12/01 19:41:50 julian Exp $
 .\"
 .Dd November 15, 1999
 .\" jpman %Id: ng_ksocket.8,v 1.2 1999/12/10 15:47:52 junkun Stab %
@@ -45,27 +45,27 @@
 .Fd #include <netgraph/ng_ksocket.h>
 .Sh $B2r@b(B
 .Nm ksocket
-$B%N!<%I$O(B netgraph $B%N!<%I$H(B BSD $B%=%1%C%H$r7s$MHw$($F$$$^$9!#(B
+$B%N!<%I$O(B netgraph $B%N!<%I$H(B BSD $B%=%1%C%H$NAPJ}$r7s$MHw$($F$$$^$9!#(B
 .Nm ksocket
-$B%N!<%I%?%$%W$K$h$j%+!<%M%kFbIt$K%=%1%C%H$r3+$/$3$H$,$G$-$^$9!#$^$?!"$3(B
-$B$N%=%1%C%H$O(B netgraph $B%N!<%I$H$7$F=P8=$7$^$9!#(B
+$B%N!<%I%?%$%W$K$h$j%+!<%M%kFbIt$K%=%1%C%H$r3+$/$3$H$,$G$-$^$9!#(B
+$B$^$?!"$3$N%=%1%C%H$O(B netgraph $B%N!<%I$H$7$F=P8=$7$^$9!#(B
 .Nm ksocket
 $B%N!<%I%?%$%W$O%=%1%C%H%N!<%I%?%$%W$N5U$K$"$?$j$^$9(B (
 .Xr ng_socket 8 
-$B$r;2>H$7$F$/$@$5$$(B ): 
-$B%=%1%C%H%N!<%I%?%$%W$,%+!<%M%k%l%Y%k$K$h$k9=@.MWAG(B ($B4XO"$7$?(B 
-netgraph $B%N!<%I(B) $B$r!"%f!<%6%l%Y%k$G(B ($B%=%1%C%H$rDL$7$F(B) $B=hM}2DG=$K(B
+$B$r;2>H$7$F$/$@$5$$(B): 
+$BDL>o$O%+!<%M%k%l%Y%k$K$h$k9=@.MWAG(B ($B4XO"$7$?(B netgraph $B%N!<%I(B) $B$r!"(B
+$B%=%1%C%H%N!<%I%?%$%W$,%f!<%6%l%Y%k$G(B ($B%=%1%C%H$rDL$7$F(B) $B=hM}2DG=$K(B
 $B$7$F$$$k$N$KBP$7$F!"(B
-. Nm ksocket
-$B%N!<%I%?%$%W$O%f!<%6%l%Y%k$K$h$k9=@.MWAG(B ($B4XO"$7$?%=%1%C%H(B) $B$r!"(B
-$B%+!<%M%k%l%Y%k$G(B (netgraph$B%N!<%I$rDL$7$F(B) $B=hM}2DG=$K$7$^$9!#(B
+$BDL>o$O%f!<%6%l%Y%k$K$h$k9=@.MWAG(B ($B4XO"$7$?%=%1%C%H(B) $B$r!"(B
+.Nm ksocket
+$B%N!<%I%?%$%W$,%+!<%M%k%l%Y%k$G(B (netgraph $B%N!<%I$rDL$7$F(B) $B=hM}2DG=$K$7$^$9!#(B
 .Pp
 .Nm ksocket
 $B%N!<%I$O!":G9b$G(B 1 $B$D$N%U%C%/@\B3$r5v$7$^$9!#%N!<%I$K@\B3$9$k$3$H$H!"(B
-$B4XO"$7$?%=%1%C%H$r3+$1$k$3$H$OF1$8$G$9!#(B
+$B4XO"$7$?%=%1%C%H$r3+$/$3$H$OF1$8$G$9!#(B
 $B%U%C%/$KM?$($i$l$kL>A0$O!"(B
-$B%N!<%I$,$I$N$h$&$J<oN`$N%=%1%C%H$H$7$F?6Iq$&$+$r7hDj$7$^$9(B ($B2<5-;2>H(B) $B!#(B
-$B%U%C%/$,@Z$jN%$5$l$?$j!"%N!<%I$,%7%c%C%H%@%&%s$5$l$?$H$-!"(B
+$B%N!<%I$,$I$N$h$&$J<oN`$N%=%1%C%H$H$7$F3+$/$+$r7hDj$7$^$9(B ($B2<5-;2>H(B) $B!#(B
+$B%U%C%/$,@ZCG$5$l$?$j!"%N!<%I$,%7%c%C%H%@%&%s$5$l$?$H$-!"(B
 $B4XO"$7$?%=%1%C%H$OJD$8$i$l$^$9!#(B
 .Sh $B%U%C%/(B
 $BK\%N!<%I%?%$%W$O!"0lEY$K(B 1 $B$D$@$1$N%U%C%/@\B3$r%5%]!<%H$7$^$9!#(B
@@ -95,30 +95,78 @@
 .Xr bind 2
 $B%7%9%F%`%3!<%k$HA4$/F1$85!G=$r;}$A$^$9!#(B
 .Dv "struct sockaddr"
-$B%=%1%C%H%"%I%l%9$r0z?t$H$7$F;XDj$9$kI,MW$,$"$j$^$9!#(B
+$B%=%1%C%H%"%I%l%9%Q%i%a!<%?$r0z?t$H$7$F;XDj$9$kI,MW$,$"$j$^$9!#(B
 .It Dv NGM_KSOCKET_LISTEN
 $B$3$N%a%C%;!<%8$O(B
 .Xr listen 2
 $B%7%9%F%`%3!<%k$HA4$/F1$85!G=$r;}$A$^$9!#(B
-$BCM(B backlog (
+$BCM(B backlog (32 $B%S%C%H(B
 .Dv int
-$B7?$G(B 1 $B$D(B) $B$r0z?t$H$7$F;XDj$9$kI,MW$,$"$j$^$9!#(B
+$B7?(B 1 $B8D(B) $B$r0z?t$H$7$F;XDj$9$kI,MW$,$"$j$^$9!#(B
 .It Dv NGM_KSOCKET_CONNECT
 $B$3$N%a%C%;!<%8$O(B
 .Xr connect 2
 $B%7%9%F%`%3!<%k$HA4$/F1$85!G=$r;}$A$^$9!#(B
 .Dv "struct sockaddr"
-$B%=%1%C%H%"%I%l%9$r0z?t$H$7$F;XDj$9$kI,MW$,$"$j$^$9!#(B
+$B08@h%"%I%l%9$r0z?t$H$7$F;XDj$9$kI,MW$,$"$j$^$9!#(B
 .It Dv NGM_KSOCKET_ACCEPT
 $B8=;~E@$G$O<BAu$5$l$F$$$^$;$s!#(B
 .It Dv NGM_KSOCKET_GETNAME
-$B8=;~E@$G$O<BAu$5$l$F$$$^$;$s!#(B
+$B$3$N%a%C%;!<%8$O(B
+.Xr getname 2
+$B%7%9%F%`%3!<%k$HA4$/F1$85!G=$r;}$A$^$9!#(B
+$B1~Ez$N0z?t%U%#!<%k%ICf$N(B
+.Dv "struct sockaddr"
+$B$H$7$F!"L>A0$,JV$5$l$^$9!#(B
 .It Dv NGM_KSOCKET_GETPEERNAME
-$B8=;~E@$G$O<BAu$5$l$F$$$^$;$s!#(B
+$B$3$N%a%C%;!<%8$O(B
+.Xr getpeername 2
+$B%7%9%F%`%3!<%k$HA4$/F1$85!G=$r;}$A$^$9!#(B
+$B1~Ez$N0z?t%U%#!<%k%ICf$N(B
+.Dv "struct sockaddr"
+$B$H$7$F!"L>A0$,JV$5$l$^$9!#(B
 .It Dv NGM_KSOCKET_SETOPT
-$B8=;~E@$G$O<BAu$5$l$F$$$^$;$s!#(B
+$B$3$N%a%C%;!<%8$O(B
+.Xr setsockopt 2
+$B%7%9%F%`%3!<%k$HA4$/F1$85!G=$r;}$A$^$9!#(B
+$B$?$@$7%*%W%7%g%sL>!"%l%Y%k!"CM$O(B
+.Dv "struct ng_ksocket_sockopt"
+$B$KF~$l$FEO$5$l$^$9!#(B
 .It Dv NGM_KSOCKET_GETOPT
-$B8=;~E@$G$O<BAu$5$l$F$$$^$;$s!#(B
+$B$3$N%a%C%;!<%8$O(B
+.Xr getsockopt 2
+$B%7%9%F%`%3!<%k$HA4$/F1$85!G=$r;}$A$^$9!#(B
+$B$?$@$7%*%W%7%g%s$O(B
+.Dv "struct ng_ksocket_sockopt"
+$B$KF~$l$FEO$5$l$^$9!#(B
+$BK\%3%^%s%I$rAw$k$H$-!"(B
+.Dv value
+$B%U%#!<%k%I$O6u$G$"$k$Y$-$G$9!#La$k$H$-$K!"$3$3$K<h$j=P$7$?CM$rF~$l$^$9!#(B
+.El
+.Pp
+.Sh ASCII $B7A<0$N@)8f%a%C%;!<%8(B
+$B0z?t%U%#!<%k%I$G(B
+.Dv "struct sockaddr"
+$B$rEO$9@)8f%a%C%;!<%8$G$O!"(B
+$B$3$N(B C $B9=B$$r(B ASCII $B$GDL>o$NAjEv7A<0$K$7$?$b$N$O!"<u$1IU$1$i$l$k=q<0$G$9!#(B
+.Dv PF_INET
+$B$H(B
+.Dv PF_LOCAL
+$B$N%"%I%l%9%U%!%_%j$G$O!"$h$jJXMx$J=q<0$b$^$?;HMQ2DG=$G$9!#(B
+$B$=$l$O%W%m%H%3%k%U%!%_%jL>!"B3$$$F%9%i%C%7%e!"B3$$$F<B:]$NHV9f$G$9!#(B
+.Dv PF_INET
+$B$G$O!"%"%I%l%9$O(B IP $B%"%I%l%9!"B3$$$F%*%W%7%g%s$N%3%m%s$H%]!<%HHV9f$G$9!#(B
+.Dv PF_LOCAL
+$B$G$O!"%"%I%l%9$O%@%V%k%/%)!<%H$G3g$i$l$?%Q%9L>$G$9!#(B
+.Pp
+$B;HMQNc(B:
+.Bl -tag -width XXXXXXXXXX
+.It Dv PF_LOCAL
+inet/192.168.1.1:1234
+.It Dv PF_INET
+local/"/tmp/foo.socket"
+.It Other
+.Dv "{ family=16 len=16 data=[ 0x70 0x00 0x01 0x23 ] }"
 .El
 .Pp
 .Sh $B%7%c%C%H%@%&%s(B

----Next_Part(Tue_Dec_14_22:55:58_1999_601)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Description: ng_ksocket.8.ediff
Content-Disposition: attachment; filename=ng_ksocket.8.ediff

--- ng_ksocket.8.en	Tue Dec 14 22:28:50 1999
+++ ng_ksocket.8.eng	Tue Dec 14 21:28:58 1999
@@ -32,10 +32,9 @@
 .\" 
 .\" Author: Archie Cobbs <archie@whistle.com>
 .\"
-.\" $FreeBSD: src/sys/modules/netgraph/ksocket/ng_ksocket.8,v 1.1.2.1 1999/11/17 07:23:47 julian Exp $
+.\" $FreeBSD: src/sys/modules/netgraph/ksocket/ng_ksocket.8,v 1.1.2.2 1999/12/01 19:41:50 julian Exp $
 .\"
 .Dd November 15, 1999
-.\" jpman %Id: ng_ksocket.8,v 0.0 1999/11/28 13:24:13 horikawa Stab %
 .Dt NG_KSOCKET 8
 .Os FreeBSD
 .Sh NAME
@@ -54,16 +53,17 @@
 node type is the reverse of the socket node type (see
 .Xr ng_socket 8 "):"
 whereas the socket node type enables the user-level manipulation (via
-a socket) of a kernel-level entity (the associated Netgraph node), the
+a socket) of what is normally a kernel-level entity (the associated
+Netgraph node), the
 .Nm ksocket
 node type enables the kernel-level manipulation (via a Netgraph node) of
-a user-level entity (the associated socket).
+what is normally a user-level entity (the associated socket).
 .Pp
 A
 .Nm ksocket
 node allows at most one hook connection.  Connecting to the node is
 equivalent to opening the associated socket.  The name given to the hook
-determines what kind of socket the node will act like (see below).
+determines what kind of socket the node will open (see below).
 When the hook is disconnected and/or the node is shutdown, the
 associated socket is closed.
 .Sh HOOKS
@@ -94,7 +94,7 @@
 .It Dv NGM_KSOCKET_LISTEN
 This functions exactly like the
 .Xr listen 2
-system call.  The backlog paramter (a single
+system call.  The backlog paramter (a single 32 bit
 .Dv int )
 should be supplied as an argument.
 .It Dv NGM_KSOCKET_CONNECT
@@ -102,19 +102,68 @@
 .Xr connect 2
 system call.  The
 .Dv "struct sockaddr"
-socket address parameter should be supplied as an argument.
+destination address parameter should be supplied as an argument.
 .It Dv NGM_KSOCKET_ACCEPT
 Currently unimplemented.
 .It Dv NGM_KSOCKET_GETNAME
-Currently unimplemented.
+Equivalent to the
+.Xr getname 2
+system call.  The name is returned as a
+.Dv "struct sockaddr"
+in the arguments field of the reply.
 .It Dv NGM_KSOCKET_GETPEERNAME
-Currently unimplemented.
+Equivalent to the
+.Xr getpeername 2
+system call.  The name is returned as a
+.Dv "struct sockaddr"
+in the arguments field of the reply.
 .It Dv NGM_KSOCKET_SETOPT
-Currently unimplemented.
+Equivalent to the
+.Xr setsockopt 2
+system call, except that the option name, level, and value are passed in a
+.Dv "struct ng_ksocket_sockopt" .
 .It Dv NGM_KSOCKET_GETOPT
-Currently unimplemented.
+Equivalent to the
+.Xr getsockopt 2
+system call, except that the option is passed in a
+.Dv "struct ng_ksocket_sockopt" .
+When sending this command, the
+.Dv value
+field should be empty; upon return, it will contain the
+retrieved value.
+.El
+.Pp
+.Sh ASCII FORM CONTROL MESSAGES
+For control messages that pass a
+.Dv "struct sockaddr"
+in the argument field, the normal ASCII equivalent of the C structure
+is an acceptable form.  For the
+.Dv PF_INET
+and
+.Dv PF_LOCAL
+address families, a more convenient form is also used, which is
+the protocol family name, followed by a slash, followed by the actual
+address.  For
+.Dv PF_INET ,
+the address is an IP address followed by an optional colon and port number.
+For
+.Dv PF_LOCAL ,
+the address is the pathname as a doubly quoted string.
+.Pp
+Examples:
+.Bl -tag -width XXXXXXXXXX
+.It Dv PF_LOCAL
+inet/192.168.1.1:1234
+.It Dv PF_INET
+local/"/tmp/foo.socket"
+.It Other
+.Dv "{ family=16 len=16 data=[ 0x70 0x00 0x01 0x23 ] }"
 .El
 .Pp
+For control messages that pass a
+.Dv "struct ng_ksocket_sockopt" ,
+the normal ASCII form for that structure is used.  In the future, more
+convenient encoding of the more common socket options may be supported.
 .Sh SHUTDOWN
 This node shuts down upon receipt of a
 .Dv NGM_SHUTDOWN

----Next_Part(Tue_Dec_14_22:55:58_1999_601)----
