From owner-man-jp-reviewer@jp.freebsd.org  Sun Aug 15 23:35:10 1999
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id XAA34534;
	Sun, 15 Aug 1999 23:35:10 +0900 (JST)
	(envelope-from owner-man-jp-reviewer@jp.FreeBSD.org)
Received: from mail.yk.rim.or.jp (root@mail.yk.rim.or.jp [202.247.130.37])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id XAA34529
	for <man-jp-reviewer@jp.freebsd.org>; Sun, 15 Aug 1999 23:35:10 +0900 (JST)
	(envelope-from k-horik@yk.rim.or.jp)
Received: from localhost (ppp924.yk.rim.or.jp [202.247.185.175])
	by mail.yk.rim.or.jp (8.8.8/3.6W-RIMNET-98-06-09) with ESMTP id XAA27767
	for <man-jp-reviewer@jp.freebsd.org>; Sun, 15 Aug 1999 23:35:08 +0900 (JST)
To: man-jp-reviewer@jp.freebsd.org
In-Reply-To: Your message of "Sun, 15 Aug 1999 19:50:36 +0900"
	<199908151050.TAA00407@laurel.nk.rim.or.jp>
References: <199908151050.TAA00407@laurel.nk.rim.or.jp>
X-Mailer: Mew version 1.93 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Message-Id: <19990815233439C.k-horik@yk.rim.or.jp>
Date: Sun, 15 Aug 1999 23:34:39 +0900
From: Kazuo Horikawa <k-horik@yk.rim.or.jp>
X-Dispatcher: imput version 980905(IM100)
Lines: 68
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 1486
Subject: [man-jp-reviewer 1486] Re: ch.4
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

 $BKY@n$G$9!#(B

$B7'C+$5$s!'(B
> ch.4 $B$N=iLu$G$9!#(B
> 
> .\"X Most storage for them is allocated only when found
> .\"X so a large number of configured devices is cheap. (once the first
> .\"X has included the driver).
> $B%I%i%$%P$N5-21NN0h$N$[$H$s$I$O!"%G%P%$%9$,8+$D$+$C$?;~$K$N$_(B
> $B3d$jEv$F$i$l$k$N$G!"$?$/$5$s$N%G%P%$%9$r@_Dj$7$F$b(B
> $B9b$/$O$D$-$^$;$s(B ($B$R$H$?$S:G=i$N%G%P%$%9$,%I%i%$%P$rAH$_9~$s$@>l9g(B)$B!#(B
> 
> $B$3$3$N$H$3$m$,$I$&$bNI$/$o$+$i$J$$!#(B
	$B%I%i%$%P$N;HMQ%a%b%jNL(B = a * n + b (if n > 0)
	                       = 0         (if n = 0)
	n $B$O%G%P%$%9?t(B
	a << b
$B$J$N$G!"(B
n > 0 $B$J$i(B n $B$,A}$($F$b!"%I%i%$%P$N;HMQ%a%b%jNL$O$"$^$jA}$($J$$$H$$$&(B
$B0UL#$G$7$g$&!#(B


> .Sh IOCTL
> .\"X User mode programs communicate with the changer driver through a
> .\"X number of ioctls which are described below.  Changer element addresses
> .\"X used in the communcation between the kernel and the changer device are
> .\"X mapped to zero-based logical addresses.  Element types are specified
> .\"X as follows:
> $B%f!<%6%b!<%I%W%m%0%i%`$O!"<!$K<($9(B ioctl $B$r;H$C$F%A%'%s%8%c%I%i%$%P$H(B
> $B%G!<%?$N$d$j$H$j$r9T$J$$$^$9!#%+!<%M%k$H%A%'%s%8%c%G%P%$%9$H$N4V$N(B
> $B%G!<%?$N$d$j$H$j$G;HMQ$5$l$k!"%A%'%s%8%c%(%l%a%s%H$N%"%I%l%9$O!"(B
> $B%<%m$+$i;O$^$kO@M}%"%I%l%9$K3d$jEv$F$i$l$^$9!#%(%l%a%s%H$N%?%$%W$O(B
# $B%<%m(B -> 0 (wordlist.txt $B$K$h$l$P(B)

> $B%I%i%$%P$O$3$N9=B$BN$rFI$_9~$_!"%?%$%W!"O@M}%Y!<%9%"%I%l%9!"%(%l%a%s%H?t(B
> $B$r7hDj$7!"(Bcesr_element_status $B%U%#!<%k%I$,;X$9(B changer_element_status
> $B9=B$BN$NG[Ns$K$I$N>pJs$rJV$9$+$rCN$j$^$9!#%"%W%j%1!<%7%g%s$O!"(B
> cesr_element_count $B8D$N>uBV9=B$BN(B ($B<!$r8+$F2<$5$$(B) $B$rJ];}$9$k$N$K(B
> $B==J,$JBg$-$5$N%a%b%j$r3d$jEv$F$kI,MW$,$"$j$^$9!#(Bcesr_flags $B$K%*%W%7%g%s$G(B
> .Dv CESR_VOLTAGS
> .\"X to indicate that volume tag (bar code) information is to be read from
> .\"X the jukebox and returned.
> $B$r@_Dj$7!"%\%j%e!<%`%?%0(B ($B%P!<%3!<%I(B) $B>pJs$r%8%e!<%/%\%C%/%9$+$i(B
> $BFI$_9~$_JV$9I,MW$,$"$k$3$H$rDLCN$9$k$3$H$,$G$-$^$9!#(B
  $BFI$_9~$s$GJV$9!D(B

> .\"X The information about the elements is returned in an array of
> .\"X changer_element_status structures.  This structure include at least
> .\"X the following fields:
> $B%(%l%a%s%H$K$D$$$F$N>pJs$O!"(Bchanger_element_status $B9=B$BN$NG[Ns$NCf$K(B
> $BJV$5$l$^$9!#$3$N9=B$BN$O>/$J$/$H$b<!$K<($9%U%#!<%k%I$r;}$A$^$9!#(B
> .Bd -literal -offset indent
> u_int            ces_addr;      /* $B%a%G%#%"%A%'%s%8%c$N%(%l%a%s%H%"%I%l%9(B */
> u_char           ces_flags;     /* $B0J2<$N(B CESTATUS $B$NDj5A$r;2>H(B */
> u_char           ces_sensecode; /* $B%(%l%a%s%H$NDI2C%;%s%9%3!<%I(B */
> u_char           ces_sensequal; /* $BDI2C%;%s%9%3!<%I=$>~;R(B */
> u_char           ces_invert;    /* $BH?E>%S%C%H(B */
> u_char           ces_svalid;    /* $B0\F085%"%I%l%9(B (ces_source) $B$,M-8z(B */
> u_short          ces_source;    /* $B%a%G%#%"$N0\F085%"%I%l%9(B */
> changer_voltag_t ces_pvoltag;   /* $B%W%i%$%^%j%\%j%e!<%`%?%0(B */
> changer_voltag_t ces_avoltag;   /* $BBeBX%\%j%e!<%`%?%0(B */
> u_char           ces_idvalid;   /* ces_scsi_id $B$,M-8z(B */
> u_char           ces_scsi_id;   /* $B%(%l%a%s%H$N(B SCSI id (ces_idvalid $B$,Hs%<%m$N>l9g(B) */
> u_char           ces_lunvalid;  /* ces_scsi_lun $B$,M-8z(B */
> u_char           ces_scsi_lun;  /* $B%(%l%a%s%H$N(B SCSI lun (ces_lunvalid $B$,Hs%<%m$N>l9g(B) */
# $B%<%m(B -> 0
--
$BKY@nOBM:(B
