sane-project-website/old-archive/1998-04/0179.html

312 wiersze
16 KiB
HTML

<!-- received="Fri Apr 17 14:14:31 1998 PDT" -->
<!-- sent="Fri, 17 Apr 1998 23:14:03 +0200 (MET DST)" -->
<!-- name="Oliver.Rauch@Wolfsburg.DE" -->
<!-- email="Oliver.Rauch@Wolfsburg.DE" -->
<!-- subject="corrected readproc for SANE" -->
<!-- id="199804172114.XAA30648@Babylon5.wolfsburg.de" -->
<!-- inreplyto="" -->
<title>sane-devel: corrected readproc for SANE</title>
<h1>corrected readproc for SANE</h1>
<a href="mailto:Oliver.Rauch@Wolfsburg.DE"><i>Oliver.Rauch@Wolfsburg.DE</i></a><br>
<i>Fri, 17 Apr 1998 23:14:03 +0200 (MET DST)</i>
<p>
<ul>
<li> <b>Messages sorted by:</b> <a href="date.html#179">[ date ]</a><a href="index.html#179">[ thread ]</a><a href="subject.html#179">[ subject ]</a><a href="author.html#179">[ author ]</a>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="0180.html">Gernot Ziegler: "Dexxa Flatbedscanner support ...."</a>
<li> <b>Previous message:</b> <a href="0178.html">Hugo van der Kooij: "Re: Minolta Reply (was:Public Relation Department (Ref. No. CR-3255 V)"</a>
<!-- nextthread="start" -->
<!-- reply="end" -->
</ul>
<!-- body="start" -->
Hello backend-developers!<br>
<p>
The Makefile.in in the backend-directory was not correct!<br>
This is the right version!<br>
<p>
<p>
I just made the follwing test that works fine:<br>
<p>
My sytsem:<br>
/dev/sg0: scsi-disk (id 0)<br>
/dev/sg1: scsi-cdrom (id 4)<br>
/dev/sg2: scanner (id 5)<br>
<p>
in umax.conf: SCSI_NAME: "UMAX " "UMAX S-12"<br>
<p>
xscanimage finds scanner on /dev/sg2<br>
<p>
as root: echo "scsi remove-single-device 0 0 4 0" &gt;/proc/scsi/scsi<br>
<p>
xscanimage finds scanner on /dev/sg1 (must rw for users!)<br>
<p>
as root: echo "scsi remove-single-device 0 0 4 0" &gt;/proc/scsi/scsi<br>
as root: echo "scsi add-single-device 0 0 4 0" &gt;/proc/scsi/scsi<br>
as root: echo "scsi add-single-device 0 0 5 0" &gt;/proc/scsi/scsi<br>
<p>
xscanimage finds scanner on /dev/sg2 again!<br>
<p>
So the user only needs to make all devices on which the scanner may<br>
be connected set to rw for user, then sane always finds the scanner!<br>
<p>
Bye<br>
Oliver<br>
<p>
<p>
------------------------------------------------------------------------<br>
I included the readproc routine into sane. It already works with<br>
the umax-backend.<br>
<p>
I added sanei_readproc to sane-0.72/sanei with the function:<br>
char *sanei_readproc_get_device(char *findvendor, char *findmodel,<br>
int findbus, int findcha, int findid, int findlun)<br>
<p>
You call it with findvendor and findmodel set or<br>
with findbus, findcha, findid and findlun set, see example!<br>
There three differnt possibilities to specifiy a device in the config-file:<br>
SCSI_ID: 0 0 5 0<br>
SCSI_NAME: "UMAX " "UMAX S-12"<br>
/dev/scanner<br>
<p>
<p>
And I added two functions to sanei/sanei_config.c:<br>
void sanei_config_kill_spaces(char **string)<br>
char *sanei_config_read_string(char **string)<br>
<p>
Example for reading configure-file and using readproc:<br>
( you have to #include "sane/sanei_readproc.h" )<br>
<p>
<p>
-------------------------------------------------------------------------------<br>
<p>
fp = sanei_config_open(UMAX_CONFIG_FILE);<br>
if (!fp) <br>
{<br>
attach_scanner("/dev/scanner", 0); /* no config-file: /dev/scanner */<br>
return SANE_STATUS_GOOD;<br>
}<br>
<p>
while(fgets(dev_name, sizeof(dev_name), fp))<br>
{<br>
if (dev_name[0] == '#') { continue; } /* ignore line comments */<br>
<p>
len = strlen (dev_name);<br>
if (dev_name[len - 1] == '\n') { dev_name[--len] = '\0'; }<br>
<p>
if (!len) { continue; } /* ignore empty lines */<br>
<p>
if (strncmp(dev_name, "SCSI_ID:",8) == 0)<br>
{<br>
int bus, cha, id, lun;<br>
char *dev;<br>
char *pos = &amp;dev_name[8];<br>
<p>
bus = strtol(pos, &amp;pos, 10);<br>
cha = strtol(pos, &amp;pos, 10);<br>
id = strtol(pos, &amp;pos, 10);<br>
lun = strtol(pos, &amp;pos, 10);<br>
<p>
dev = sanei_readproc_get_device(NULL,NULL,bus,cha,id,lun);<br>
if (dev != NULL)<br>
{<br>
attach_scanner(dev,0);<br>
}<br>
}<br>
else if (strncmp(dev_name, "SCSI_NAME:",10) == 0)<br>
{<br>
char *vendor, *model;<br>
char *dev;<br>
char *pos = &amp;dev_name[10];<br>
<p>
vendor = sanei_config_read_string(&amp;pos);<br>
model = sanei_config_read_string(&amp;pos);<br>
<p>
DBG(DBG_info, "looking for vendor=\"%s\", model=\"%s\"\n",vendor, model);<br>
<p>
dev = sanei_readproc_get_device(vendor, model, -1, -1, -1, -1);<br>
if (dev != NULL)<br>
{<br>
attach_scanner(dev,0);<br>
}<br>
<p>
free(vendor);<br>
free(model);<br>
}<br>
else<br>
{<br>
attach_scanner(dev_name, 0);<br>
}<br>
}<br>
<p>
fclose(fp);<br>
<p>
-------------------------------------------------------------------------------<br>
<p>
This is the snapshot of the readproc-changes.<br>
It overwirtes/creates the following files:<br>
<p>
sane-0.72/backend/Makefile.in<br>
sane-0.72/include/sane/sanei_readproc.h<br>
sane-0.72/include/sane/sanei_config.h<br>
sane-0.72/sanei/Makefile.in<br>
sane-0.72/sanei/sanei_config.c<br>
sane-0.72/sanei/sanei_readproc.c<br>
<p>
Bye<br>
Oliver<br>
<p>
=============================================================<br>
<p>
begin 644 readproc-0.72a.tar.gz<br>
M'XL(`+"^-S4``^P\:7&lt;:Q[+YROR*-I8CD`$!VJY%Y",L(9L$+4^@)#Y.+AEF<br>
M&amp;C%/PPR91;*NH_?;7U5U]VR@!4&gt;2WWF!8XN97JIK[^KJ;GS=X&gt;5J9:N^^MV3<br>
M?=AZ=6MC@WW'&amp;-O:7*?OVKKXEI\J8YL;M8VMVD9];1-JJ^M;Z]^QC:=#*?Z$<br>
M?J![C'WGVM8][;CG/P="S_OQ(_D/=..".^83Z,$\\J]MKD%MO;I97\C_.3[3<br>
M\C_4+_C0LGG%&lt;AYIC%JUNBGE/4/^\%C=DO)?VZJOH?S7ZQM@_]5'&amp;O_.SS]&lt;<br>
M_MT/K4Z'[;#5@&gt;6L^B--^_FDV?L`!;N^9YB6MZN)[V1)X$[Z&lt;6G\)FH&amp;H66;<br>
MHJY2T;2)!]KT&amp;1N*IUV-?^9&amp;<a href="mailto:/RY.O.YJ@(4$*YY@^%22C(5V6V-">/RY.O.YJ@(4$*YY@^+C(5V6V-</a>&lt;!&gt;LCA^V]5,<br>
M/=!EL7P$"-&gt;^X3I#!21Z@YJ1[G$3%"#@JC95`B.YAFXG&amp;Z0*"),8"RJQG*$K<br>
MB^3CKC;6%0GB"5L9=FCRJ*%ZV]5&lt;VTQ5KH:^MRI+-,3&lt;.A&lt;52U]B4FY6T8XK<br>
M)HBO?]C\\?@4H&lt;K'72QK'T5E^+BK[7&lt;Z_9/35N&gt;XN8_EB===33O\:;^-S9&lt;*<br>
ML7"+J^,+RP'*;4#0\[7V4;?7)-79E8^[J@P@';\_;1XFZE11W&amp;:_V6LF&amp;^#[<br>
MKG;:/.JTWV&amp;Y&gt;`)D]O;P=6\/N^YUSO9;77@OMROP?ZD@&lt;:/GI/(5%&lt;NB&amp;D6%<br>
M8N7&gt;R&lt;E!I_F^2\#E\ZZV%Y?)DLY^5"0?@7FM`RK`;\`0\.P='W=(X5=!#P+7<br>
MM;7#O&gt;/#DQQ@6AZ[)M\QW/$$G*IVV&amp;D?_107VY9SH1TB#^(RR66@'""T.RT2<br>
MQ-X&gt;$&amp;G@`^%0A"&lt;&lt;';\56_!945+4M-UNJP&lt;:\%,+,)2B;;[KM/KOFGL_M8[V<br>
MD0!],K$YT[V`&amp;\S0'==A!J#NPR,SQP;C$Q^*1A,VM@S/#?@%^TW+C&lt;%APM/N<br>
M4:NWRW9/VD?P-7'&amp;;/&gt;_]D"\S']3A0C.=_0)@0GTL&gt;[!Q,+"L?Y90SDGAE\J<br>
MS,*KR$PD'I@JVNBF*9T%L):FJQ(5^N$0"RNV#N])R,5B$5AW=-!^'P%0;=%&lt;<br>
MIEIK6NO7WBDJ(T+O^X&amp;']AWZ%=M%@6*A)?[V+&lt;&lt;*^B8?A.&lt;S*H5Q)BOZXJ_'<br>
M=2#!-:!*TUZRCC7P=.^:&gt;6X86`[W63#2`^:/W-`VV8"S"0B$N4,DURBQ01B`<br>
MA+BS#&amp;<a href="mailto:4.\">4.\</a>]TQ9V#W`1_[V\@C82U"[_`__*OH,$@P`L$.W$N.@G7&lt;``'#%&amp;:R<br>
M*RL8,:FDY5JE6F&amp;L#0H'*);8%6&lt;C';H$+AMS)[!&lt;1T)R!__-C&lt;!G_//$M@PK<br>
ML*\KE0IKE`L2A?[!V=$&gt;:92-#I*=&lt;S"Y0'[50!TFGN4$0P:\=&lt;QP@M\^GT2O<br>
MH6]S/D%8Q^]^S$I=TI81N@OOR;%1Z)I2D%&gt;@%-OL%8KB59GDN%0@&amp;:.)R%&amp;*<br>
M6FZ77M!TL9PLLZA,#2AUO:!L7CLZ:#\K`XA=[+ROS._?:`RYLC?1@9]+!&gt;'^<br>
MH&gt;,EA`G`N#(Z?RB73KBX38_H&gt;XO;54T3:&amp;WG\-N8P@0-GS`1#@"@[G=[9V`/<br>
MY7VIMOVCYF%K9VF%+?T`P`2HAP'*`BCO0P=P]SLQ#003$=O.11YVU0_"`&gt;'J<br>
MC5EY"-S0&lt;K;#RCZ;:H)UH#?[+NJLR6T&gt;@"HZUPPT@'MCF-9@\F088?H5K0(&gt;<br>
M8*]]?-;=)DD92EXD._`#95`"V]5-&amp;%@#W4*$T#$4E2\`06N:=)C;&amp;M32U%5,<br>
M"&amp;2I$$V:*'+;\H.=O(22;["AZZ%I6`Y;6L*Z!C-=E"QCW!BY3(*VG'.H_S+@<br>
M-]12`0&lt;C:(C&amp;:;:C/Q&gt;&gt;.37Y%16,","J+"`8C/WU%UB8%;`:035=AT])5(`N<br>
MEX?@BOR$XD5RB4`K#NDSRGRB,3&gt;KHA+K[(H2L;(K$,A,&lt;/JLAKX[&lt;V"@R#`3<br>
M\OG^&gt;Y*!@XQ-=T]B$HO%&lt;7;^(-$L+3GL+X8N;=DO_3O1M22?2\M_2.E(15U"<br>
M(<a href="mailto:3M.Q-R8WPG%D#.'T@UC">3M.Q-R8WPG%D#.'T@UC</a>&gt;#Y+.:PA"[@?L!&gt;L["4L`,0)'6X:Z#1Q,@4?ZH0&lt;<br>
M(%F-=#^25*R8F8Y2'8C,H^,&gt;`S?N77E6(-406PH]C"'$JLAMGZ&lt;@I'7X[LXL<br>
MH;48D16GB9N)&gt;$9UF:*8=%A#&gt;8*+RAITZG4[Y5FD,!)AZ0.,-2^;]O=;&gt;YW"<br>
MTM*`%_/L[5N`F+`GT1)G&gt;'#K,`&amp;%!LR-8NG+)#+&lt;[,L2_]/O,!M]D5"T'$Q:<br>
M._D\0;L%1:B)9/P?E@?V8,.;?%*RA,(75F4W"&gt;QBL=U.I:(3H`(F-S&amp;Y!T?3<br>
MY&amp;)SPK&gt;4E^_(`'H&lt;6HH/-PU%FQ9[5!*4&lt;L#9Z3,["2?I?_CT^LC3Z4L&amp;:%D8<br>
<a href="mailto:ML.@V3#D3$!UW#(O">ML.@V3#D3$!UW#(O</a>[6/4+,EZ*%HT`702&amp;.@X'WP&amp;A#G1%9H.)Q`J@(IYM+&gt;F3<br>
MD#7W&lt;(`&amp;Y`RC9$9A%RY(6+=YU(JTS*;XSU*!'WH)'&lt;8/'8_[KGT)@T/@PR'D<br>
M,P#_EX0AS)X0$&amp;(D1A%E%#I"\-8;&lt;5`&lt;%9BEB(?H^P+C/P\"N"%%&lt;A80%%%$<br>
MT3_1-!W(@F$`3OU+W0XYAJWW]O$-WTHUQ$7%O,!OZY,%3FN5.8'?VF&lt;*N%P"<br>
MS0O_CF[9(6!Q-2?T6WID`=.*;4[0M_9Y,/")Y2;;C29S8C"[0W9XM0B=$_A=<br>
MW::&amp;H+7MO`/&lt;VNGAX/7!6G4SV=3AP6PT3&amp;[T!Y;S@+94?&amp;^K*\M+43.!*'U.<br>
M!L#J?\X&gt;?QKZO%THK_!8?;*"4&gt;F*&gt;&gt;'?T2T[A$J$S#G$7=VR0V"*94[PMW51<br>
MH#5KZ/`_62$]R96*,)FHV7.,&lt;PQ,CM',0WD*G$S%5$4+O&gt;PTFEB^/4S'']+M<br>
M=N=Y;^&gt;,K=S?8&lt;JCW]LC:VCW]YAR"O=WR7CB^SLD4U,@/6L(43G)$&lt;)QE*QX<br>
M22495S!T-VRN.U'(OH(QXDH%_O\//B='A/&gt;!?I&amp;)_"$`!:`55@ZN)YS9K.SH<br>
M8PA^5R@#\!?[K'OG/B/08@1O"*$6@`3D(!X68S/Z4ABH3:MH9%AH:I63#\='<br>
M'[=)&amp;&gt;4B2&amp;JIZ,PB:-JWWH;Y9A_2$]K_DXGQ_QO[O[7:YF+_]SD^T_+'DL=5<br>
M@OGEOU9=7YS_&gt;);/+?+/S`ZCOS7&amp;W?O_K%Y?VQ#RKVUM;=1K4+M9WZHO]O^?<br>
MX[.ZPK*RUD`F&gt;^[DVK/.1P$K[!59[&lt;V;?[%CV[KD'CO50X.:]$:63]$=@V^U<br>
M9X4I"DIV3"!HU&lt;]Y18N:`O!S3Q]CZZ''.?/=87"E&gt;[S!KMT0=ZF8QW%"]JQ!<br>
M&amp;<a href="mailto:`#0@.F.N">`#0@.F.N</a>&gt;IZ"&amp;#L0FARC64AA)@&gt;#8.;";X:\_W1&amp;7O/'&gt;[I-CL)![9EL(YE<br>
M&lt;,?G3/&lt;1P@0+_1'$K(-KZG&amp;`.'0E#NS`!&lt;`Z)I`:C%M0[S&amp;9&gt;6)U.09"D3!+<br>
MS/5800\0&lt;X^Y$^Q7I"R-K0=QU]G$QS12V@EQ&amp;;D0!E$R""B\LB!,$;MUP]"F<br>
M#4`$\TN[]^'XK,&gt;:1Q_9+\W3T^91[V.#=O/&lt;,&amp;#\D@M0UGAB6[C-IWN&gt;[@28<br>
M-\+&gt;AZW3O0_0I?FNW6GW/B+^!^W&gt;4:O;90?'IZS)3IJGO?;&gt;6:=YRD[.3D^.<br>
MNZT*8UW.%7&lt;1R"T,QGSEV`4FFCS0+=L79'\$H&lt;H]3=I3]+C!+4QNZ&lt;P`Y;I?<br>
M&lt;`A$MUWG7&amp;Q9!@DV-C"/[KA!B6%6G/8KIT2*W6.IEEC;,2HEMO&amp;&amp;]?@8=[U/<br>
M;-W@K,RZ(4)86ZN6V#O7#Z`I\:O)JA"$U,HP%6V5V%FW*:A:6=4T,)GR8WT(<br>
MX$M899E\F#'$_DA[":66PZ&lt;KH(L\WO"#?^VO8ACM5T9OD\7*BV.QIO'/H)&lt;.<br>
M,T;@ZU8RX,XY[FE?`M&lt;+HAZC&lt;]`GT_5*+"[!LPDV,6?FQX*%'S8;A'XI&gt;H'&gt;<br>
M\8MEQL]VZ!0;0`:M.=B4$^J/B#'?VCG^`SYWSO_R1,/?F_WOG?_7:_6ZF/\W<br>
MM^#O%M1N;*UO+N;_Y_A(TT-'B`=%8/)J&amp;@;W?7;D7K&amp;6[E]79H8#6^Q'/H1I<br>
M_)IU*^1WS3&amp;LHA=1P2(J^"=&amp;!4T?\/&lt;GW+``7_[9X!,!G0YAA2`+CU223.`&lt;<br>
MR&amp;43T%++)T4:"EU.[%^"B",-CO&lt;*Y3:A4@\@V^,VUWVN("N]XC$&amp;J%BH0"7D<br>
M#-H3'C&lt;$5`D16QY#(SZZI-R4JT4HP#I@JAD:&gt;'*'X&gt;G:,-`'-B^)D4T7$*+=<br>
M3;0^G]M#L%1`6QF$Q_W0IM,*&lt;5&gt;$"?IKX%F&amp;V-ZF!9TPJ`KIBX&lt;,$?P`4T@`<br>
M!$2`%8X+6GV-0X+]&amp;&amp;@^+CDBW3!`SO(@G7.!R$1N2)&amp;.J68,25R@(F&amp;6,?\4<br>
MH24PQBNP)@\CF$O=MDQ='FH2C(.XQ7&lt;=GUV-KHE])(0(47*'8W*?\W*`D&amp;H+<br>
MX?GA8`R&gt;`&amp;(JYQPW=UU!C%3S,2@'*8CG2U:K8\3P0`Q!`#[_,\04O=2=$@'6<br>
MS]%$`!\Q0J!X%8T$C!=DN7Y&lt;<a href="mailto:.@:NPRA">.@:NPRA</a>)QQ6;9$(%`2LC2!$BS).\MV60(9*^<br>
M"[=Y129!I)70\0$PJC!&amp;+O`$H5R-.#$=E13M*,@.B3OFDXE]C0_4-S54)8&amp;)<br>
MZ9(:7^%1*F$H\KQ:!B(<a href="mailto:T@L$3*D(B!1.YM$Q@Q3G*#WR4B">T@L$3*D(B!1.YM$Q@Q3G*#WR4B</a>)="CP8";D[P#&amp;&amp;%<br>
MS0CR1&lt;M,)!^8EDOANHS6#_#P[TJJ`TP)#BO07H&lt;,S3%UCJ&amp;T['/I6F9ZC`N8<br>
M.?H^S+S&lt;E_']"DK,.4_T2JX+9#&lt;,Q?NBX70W$;?GHKA=D8.4?NN(9O&amp;9YQ/'<br>
M_V);Z"G&amp;F#__"X^+^U_/\LG*__%O?]V[_EO;W%I7^=_Z9AW7?VM;&amp;]7%^N\Y<br>
M/HO[7_^_[G_]DZ]ER2M#N_@]=4EKYF6J.Z]0Q9&gt;M_O8-K]1E+$0/HMMV7UYV<br>
M29[V&lt;..`*G6:194G+B#1F&gt;#X^(IJ0&gt;=,8C!XED;W#&lt;<a href="mailto:O*E.'YF@0$'Q;C8B@_">O*E.'YF@0$'Q;C8B@_</a><br>
M:HB'-&gt;*RN"D&gt;?7%3@5_TBN=/W.R&amp;DIL@N=.;0;1]&amp;]7V#++M#-UVBG![%N7V<br>
M-.GV+;3;LXBWL]3;&amp;?+M)/WV%`/P(%6O&gt;?J^U4/*Y0D5JZ)KO5:W)RT0:_#4<br>
M.)&amp;A:97NV&lt;%!^]=6=SOQR"H&amp;`VY6@*7;]U_UP5L\\LJ,'#R^(06#;XNSVK$F<br>
M%K4&lt;3(2&gt;/)B=J5DJ",,OTE'QZ,*-9HRX&lt;;&amp;=P#Q764V0$3TFFH"")%AP_RGQ<br>
M9,?$B?$$#"W1)#F0@7BG^#'K;)/P66#7RC7-/."$Z30ZX41'G?"8DSK:M%0@<br>
M'L%W4IS%&gt;4\NS3ZN1/Q]RD-+V?@OI=?&amp;8XQP[_W_6JV^H&gt;+_M5JU1K6;&amp;XOX<br>
M[SD^B_S_(O^_R/\O\O^+_/\B_[_(_S]I_C]Y8@=F1GV&lt;.;&amp;CTO^I(OP]ATP9<br>
M)N%O.&gt;QCT?:!.C:4O.J?2P9V,[O*]14!D'L5F`J"5&gt;NOVDLF0:J27*U:7Y?;<br>
M`-1&gt;-C`+'YH_M_K'W7K_0S'NMM\^[7=;)[E\(Y^!A:7+O_VV#+!L\.[3/;9G<br>
M]EA=C@=7/5H'S;-.KP\]N[E\):]`L&amp;[OM'WTOGWPL2#Z@V;UQ2UO;`N+(GD9<br>
M.+FK8EI&gt;G^[&gt;TG&amp;O+M&lt;]8Y01+ZD`;M$@&gt;^6&lt;!-VX$;C@6K`S8=!I=WMD?@[&gt;<br>
MZPQ"3_:&lt;N/1[".B9_1"`ZZ*8?X:.&gt;*\S@AS],(@P8FQ%UR7(V'#_QJ%YI""@<br>
M^"POKYDAMODBZ&amp;RNY@?;+$,VX\ZEY;D._LX'NX0I!CU51&lt;O587G$9O&amp;)^3Q@<br>
M9HC*EV8$=%KSH--&gt;Z'D(+.(!&amp;=IQ&amp;$Q"&amp;/X@03,%2D=GG8Z&lt;L,'@84:6=B(V<br>
MO;1[=KT4%XK:%QA%E&amp;$`46(K#O"D1!(LR8GHD]+:WQL:D[MJPPDLN*OX[EO_<br>
MX?V``;P&amp;VC&gt;@5'BAQ%^DXVY?Y*&amp;W_7?O^^VC=J]0I);X40T!V#GX#&gt;&gt;2%?(9<br>
MQN6+#=D80&lt;&gt;0&lt;U_HIPF`LAV\AXX/&lt;6U#_EA`5/()Z\NL]CO;V5&amp;:_:GZ&gt;U'&lt;<br>
M\_XBOAB&gt;I`/7AXM%L`H=:`&gt;QD&gt;XJJ4`HL8U\ENUINW!ES,&gt;`Q)A^O(45&lt;*37<br>
MQ!9PRH6D6161&lt;-D3^A@0L!7@NQ2QH83T".23;&gt;0&amp;8A$+`#2T*:7,M73K:+DI<br>
M-@,(67RCY6XD9\EWY!*MDG`$^V]09!1C$KOQ9V&gt;2[!;7[@NH/-``VS6H7K3&amp;<br>
M'ZLI?"\T2S*_6&amp;0O4(-86D&gt;BG[HI"-V+21/OQ1++O_)?&amp;:_\/+&amp;M%#FU4F3:<br>
MD&lt;*`PA76H&lt;.4,6PS/0@@8A53M&lt;O(0/YXY2__YN25UD=02-6'PH844GDOK9;#<br>
MB5)(''-M]IBAC\.1FYH&gt;"[H.(`RZ:"BIX%]:TA60F\78N'`L15U]]D@&amp;N3QR<br>
M#7A33-1E1DYP2V.1:YTTM)LG.**KS;.O3C[I:H38%J)2M-MEMHRD?V%16?3T<br>
M&amp;G\YXP9Q?WSDY]K=1^3QE*ZU@]Y1=@U@(4]LOI4#\=D`(&gt;44V7E!-DE]-NE4<br>
M1&lt;/$%=+)2D;&amp;$,'LEG^K+M-/QZ1+89RT-5JO7RLMOV-&lt;&lt;@VHKN1&amp;5.\I;.9$<br>
MALTH)%X7WWPEE@+3V=R]0Z&lt;T91P%^7M;!2(-HFOTL$^A&lt;=\ZJ;7X//@S._\;<br>
M;5T\2@;XGOSOVL;&amp;ILK_UC=J53S_75U;_/[KLWRF[W\9B_M?BTSO(M/[//&gt;_<br>
M'C*;OK2&amp;F(SI-]N_)A(WMOBIS&lt;KH+4M\`+?#LVX/6#S&amp;O*/G!R0&gt;Z/J"0$4)<br>
MFU3^1]WS&gt;3L3?K*Y[H,;#-(MN&gt;&lt;YF&lt;35T'`"^^MR6:$#]F'&gt;DAK+9-$LUY@:<br>
MYI;D6O*6W!3]4&gt;IL9EXLYL[,S!K%BBD7&gt;E]Z[=DU2*X`Q)T^&amp;1S"9X?E?Z:B<br>
M[7Q#-J%+?G$+;'*(17$+CU]:Z-Q4(VAQRB^Q7C88A'X"`#7`0Q,1`,P?.XE!<br>
MH'Y/%,6#6&amp;8*!+9IFW&amp;U'3K9(<a href="mailto:3JA0S@\.VNC">3JA0S@\.VNC</a>["%A%M^EQ*5I`1=2XC5:5\%K<br>
M?V@VQ(L3C@?&lt;DYDH@H#=/M4W-C%5E8(LP/2Q7B2$Z)&lt;)67X5*E;#"U@0BT?_<br>
M?-;CN6_`\TT&amp;J(1)]L)AXHH!YZM5O9I'I"CI-M8_`ZH[Z[0DDVL@B?L/LC)&gt;<br>
MX?DB`U)`5&amp;6V`W,=6?Q%_]]+MV`AJU]+]LG%H.`&gt;((AY`C'"&lt;?]T_Y=3F&lt;V@<br>
ME)EH\Y;5TLLLPW9]+FM3*99:*2^R9-R4R.`\_&lt;K'-$,J'Z/642J?)?)(A$:Q<br>
MF%A+,BE8L:Z#(MD1&lt;YZ/GI]XD);^_8N_7W'!%U5&gt;9%MI.-)Z`1;?*70DVUW%<br>
MUU5T$JO24\AV-OA::0QQ*D(NQI,NK20=5REV3]+`"%F!)"`'2"&amp;DE.65:Z1:<br>
MF=RN1%@ES@H*X9)*G*&amp;B18W`?F/UEQH5I[`H\_;*IXD8&gt;0_XHV8ID%)QA(H4<br>
M4$6*4FL8HH_9R)$.?RW$!BB(&lt;9:&amp;^&amp;+(W:%"IA@C,@3Y^@7D88D!$TN*J*+*<br>
MMLAT`;:01;=E=[Z/TCO83#`=&lt;['(=/A63(='H&gt;+)7$DV4Y).?0Q%5L(83V0*<br>
MJ&lt;22TU1)IL8+R&lt;)B,6)Y$E9$$F.O=V;V:\0M[Z&lt;T)\DD'4WF@&amp;(6?/H7^DJD<br>
MJC$3AS=S#2@:)E/:,]F3F*(C[B3*YF%.LMM7H,JD`LQF$=5]JFW&gt;S:+:UE/P<br>
M*!VD1&amp;Q*%]_+J9A1F8Y?Q:N$D619I:H^K=_-K/6GX%44KT5LBDINY5!R&gt;KM5<br>
MNV(P\]D=.CTFE4H/7*LP#26I0$_!DU2,&amp;O$E53J/G:4[SL&lt;-=/X/YT;]*;BA<br>
MHO&amp;($:I@#@N*NLR%H):#6&gt;\;4Q\M-B+RHY(YZ(_[?)7SP'G_?]LUGQ6$81B,<br>
MWWV*,B@H#"_&gt;!-]DQR+L(?;NIE_^M0UZ$O'07%Q#EVW?LO87XL]DT,&gt;1H/29<br>
M)VWI&amp;60GV5GKM@YF0:^#]P-SA?;Y^;8N0MBYI#OZ&gt;+R6=$!.LQPR-JH@MF4U<br>
MV-`Q+9I7&amp;R*2PJ"PH*ZJ(31352[VG&lt;L(A)69$W&amp;$J`$AO?O/0C@U]V(8.X^"<br>
MR(F&gt;:GKC+7]+WKAK2#:R&gt;A$-(&lt;^&lt;&amp;F!O0\!%$3A$NJ13R-DGUT&lt;])%83,AU*<br>
M6WEM30(%4:#SHPKH@H!E@;3NVX'0&gt;W$/7@!HUS7[XIWR[P&gt;XUFGH8&lt;&gt;KO2D:<br>
=[:\LE#&gt;8I_6B0/TQ&amp;V/3IDW[(<a href="mailto:WL!ZVTY.@!X````">WL!ZVTY.@!X````</a><br>
`<br>
end<br>
<p>
<pre>
--
Source code, list archive, and docs: <a href="http://www.mostang.com/sane/">http://www.mostang.com/sane/</a>
To unsubscribe: echo unsubscribe sane-devel | mail <a href="mailto:majordomo@mostang.com">majordomo@mostang.com</a>
</pre>
<!-- body="end" -->
<p>
<ul>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="0180.html">Gernot Ziegler: "Dexxa Flatbedscanner support ...."</a>
<li> <b>Previous message:</b> <a href="0178.html">Hugo van der Kooij: "Re: Minolta Reply (was:Public Relation Department (Ref. No. CR-3255 V)"</a>
<!-- nextthread="start" -->
<!-- reply="end" -->
</ul>