Date: Thu, 03 Oct 1996 17:00:53 +0900 From: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp> To: hackers@freebsd.org Cc: yokota@zodiac.mech.utsunomiya-u.ac.jp Subject: PS/2 mouse driver Message-ID: <199610030800.RAA06463@zodiac.mech.utsunomiya-u.ac.jp>
next in thread | raw e-mail | index | archive | help
Hi. This is the first time for me to send an e-mail to this mailing list. I have been using FreeBSD 2.1-RELEASE for a few months by now. Recently I obtained a PS/2 mouse. I recompiled the kernel with the `psm' driver, and found the driver sometimes fails to recognize my mouse upon boot up. As I remember troubles with the `psm' device are discussed in comp.unix.bsd.freebsd from time to time, I decided to do some programming to improve the driver. Here is the result of my little effort. I attached the uuencoded gzip'ed source file at the end of this mail. If you kindly test the driver and find it useful, I would be pleased. Few notes: 1. The file can be compiled under 2.1-RELEASE. I expect it is also OK with 2.1.5-RELEASE, though I haven't verified. I also incorporated the code found in `psm.c' in the `-current' tree, in the hope that this driver can be tested under the latest development environment. Define `PSM_CURRENT' to compile the driver for the `-current' tree (see comments near the top of the file). However, since I don't run the `-current' system, I can't guarantee if it actually works... 2. The probe routine (`psmprobe()') will succeed only when the PS/2 mouse port exists AND a mouse is attached to the port. It will fail if the port doesn't exist, or the port exists but a mouse doesn't. 3. If a PS/2 mouse exists and the driver still cannot find it, there is a possible timing problem. It appears it takes awhile to reset the PS/2 mouse, and keyboard too, for that matter (I don't know exactly how long we should wait). You may need to increase `PSM_RESETDELAY' or `PSM_MAXWAIT' to make the probe routine to find your mouse. 4. The `PSM_NORESET' option, which will exclude the code to reset the mouse while probing the mouse, is gone. I understand this option was for systems which hang the keyboard if the mouse reset command is issued. I now included the code which, I hope, will recover the keyboard after the failed mouse reset (because a mouse doesn't exist). This is a kludge, but it works with motherboards with which I tested the driver. 5. The `PSM_DEBUG' option controls debug output. When defined to 0, no debug information is logged. When defined to 1 or 2, debug information will be logged, using the `syslog' facility, at the `LOG_DEBUG' level (see comments near the top of the file). Currently `PSM_DEBUG' is defined as 1 by default. I will change this default to 0 once my code is found to work. 6. I tested the driver with the following motherboards: ASUS P/I-P55TP4XE - This motherboard has the PS/2 mouse port. SHUTTLE HOT-433 - This motherboard doesn't have the mouse port, but I suspect the keyboard controller may support the port, because the manual says there is a version of the board with the mouse port. I also tested the probe logic with the following machines by writing a test program under DOS :-) Dell 310 - An old, 386-based machine without the mouse port. Dell 466/M - It has the mouse port. If you have any questions or suggestions, do contact me. Please note that I don't subscribe to this mailing list; you have to send e-mail to me directly. Thank you. ----------------------------------------------------------------- Kazutaka YOKOTA Dept. of Mechanical Systems Eng., Faculty of Eng., Utsunomiya University, 2753 Ishii-machi, Utsunomiya-shi, Tochigi 321, JAPAN. E-mail: yokota@zodiac.mech.utsunomiya-u.ac.jp ----------------- cut here ------------------------------------ begin 640 psm.c.gz M'XL( +E74S( \P\^WO:QK(_X[]B3_KU!!(9 TG;U$[28)!M3C'X\$CBVYN/ M"&DQ.A9:JH<Q;7/_]CLSNWHB')+:I\WW)1':V7G/[.Q+!T_V]]@3UA++M6=? MS0-6-BNL_N./#0W_?<9TS[YF)\+SI]R[JB)HTW$8@?K,XS[W;KB%[[%IP"W; M#SQ[&@:V<)GA6BST.;-=YHO0,SF]F=JNX:W93'@+7V,K.Y@SX='_(@P0RT)8 M]LPV#<2A,</C;,F]A1T$W&)+3]S8%CP$<R. ?SC@<1RQLMTK9@K7LK&3CUBP MWX('A_A<K^98\YF813R9P@+(T ] G, 7A&K,14WV*2T@DC@CRL"V^0:0-@^ M<P ?HDG(DGA9GH"HZ1CV@GN1CD9GG2$;]D]&[YH#G<'SQ:#_MM/6V^SXDGW\ MV!S"N\>/6;/7AK^73']_,="'0]8?L,[Y1;>CMQ$)]!TT>Z../M18I]?JCMN= MWJG&CL<CUNN/6+=SWAD!QE%? WIZU#/5C?5/$,^Y/FB=P9OF<:?;&5T2U9/. MJ(<43X!DDUTT!Z-.:]QM#MC%>'#1'^H,^6YWAJUNLW.NMZL,.$!<O3[3W^J] M$1N>-;M=UF''.C#2/.[J$A4(T^X,]-8(64Z>6B [,-#5V/!";W7@ 9'I[W7@ MN3FXU%#R5K\WU/\]!CAH9^WF>?,41"C?+3FB =VVQ@/]'-GJG[#A^'@XZHS& M(YV=]OMMTNI0'[SMM/3A$>OV4<\G;#S4-2 R:B)MA064 A ?CP>=D@]G=Y( M'PS&%Z-.OU=A9_UW(#QPVH3>;=)COT<R@_[[@TNE;]0':5IC[\YT: *K]E"\ MT:")ZAB.!IW6* T&)$?]P2@E+.E:/^UV3O5>2T> /B)ZUQGJ%;!-!_@[1:Q( M_%T3*(])=O0#X$T^=H:()?)"C0S'.B>LV7[;0?X5/)A[V%&N0>IKG2GMHS<? M[.T=D$NS"^%A< :"/7OQ_=2W6-\,6/T'2B$-@AA":-BL+5Q7:)!L%LLPX!X; MFC9W,:#&KGW#/=\.UAA1+6/)V4BL(/J'D!/FK#GS(!](4@XW(*7X'#-)> 4Q MNP3B/M+VD<8;TZ^&9E US.IOA@HY-IH;[K5/*<%P?,&LD&.'@6U>LW/#O';X M0H.<9EZ_\5VQFML!KYHVX!%7(7>6\ZII,,J2T!NSU-4<O'ME0!)QG35;&EY@ M&PX\^:%I<M^?A0ZFO"L>!)@"*)T %@-X)>8)$XB)2>21Y:'DF T)L"NN@+HY MIU32''58QT7YV''HLP7D'@+$G(KYDA IC4>IYSW\9MCE$4JX$MZU3+&+-3NW M34_X8A9 A@44$'S,Y4 <NCG -F&;B1 0(6>4%@'%%+,VR'-C.*$Q=3A(,>,> MFHVMYMPE6E),Z"2E(4RQ,T2)CYV$2,K+Y'>?!'*,@$,R!?CC8?OIT@C,^;4= MD$PD/>#J\0#:**A9T[4\OF)GW(-!*6 O#?K]9L6]I<.KQM)PC:J T<H(7[-] M]H+]*W0YC681)RU'N."O,T\L2&F)9E#/YZ@=)8HF'6:ZS@Z$&KPI8F6?U1N; MY,Y)8"0(LEX,#QK2 (BU-3<\4#X[,UPW7+"7BS5P,@O>&'851KPJM\+7A (0 M/]L%<7/\/D$^G(O_V.PR!"N]7,._;]S0YE77N!)K8S_$$/G/,D+?>(Y!*T"* M#(4SP[-6%#?DVLR#>+1=+H<Z&(S!.QQP61.\8N7A$.U&FOG9^"T,C&N#78IK M$1C ?W_YC?@&2@OP,FK8>"'KEC8F^P\2W/SO<HVW]BNZ83@EH^6_J(Z?X1O M9JQW,3QGKUDMU?[27_L'$)<&0+W.O8:_0<'K:^ZYW-E\/[/!I3;>@N3FYENH M!&:%!$%%\OW,XC/6UM^>#'- %K^9^?PV(##(;2#7P1,"S C^<F&8<]#_ =DX M2RMJ,AUA7F-3JLV&T#JP?0/_3H 69!*".'BB_)SY2VYB5#*QI+@\S!4RZC5; M&&M,"3X/R-",?50MCYD?0!@ON O96%514JE8(<WLJ]"CB&>D435Z,(M#$K]" M O "]..B@L"@D[9^/#[=^P9^@DS)FU*]!+T 8> )QY?=T0,1Q2';*\$?X*EV M"*5:]!I&H4,V]6P^TUCCD(&P4P'Q@?1(T1FR4"T,H%A UM*TU6M";L+H96/, M8M"=>)Q#7MHW0P]R8J Q,)SL!WE/<2,PZZULS+A%?5FC6J_>5E,,(?7 7J!6 MR(DYC)5^7D%0%>JCMMYM7F:TE+QFK-2HU;!L!5>"X0H2*OQ>^-QDQBR@/(QY M FOX8(LVSIOOWS4[HPP!]:Y4^HZ5(KS?(;N8%'!H@40N\><QHU@X;,/0M\7I M(J\ ^X(SH2.I%YV#/I/C/*)+<3,<-4?CX>0"2Z32<V0(O1"2.$+#F,X-*]^E MU3\_A_J,^L@NRIT<X @,M(B&'9B<0$KC^?Y8&<K.I1KVM@S(;@FY ]F)C(_6 MI_$#% U#M \!L9X*2*D1G00*:$I[I#G(DT:JPU*IG!<#$F:&,_:4U2N1)G.B M^:P,Q1.-J7DTE1R]U@1\*88XOH2RN52[K=6^KV6A3@NA&CFH=P.HS">C_@3' M*/A#0-;S+!#,*W#&@##*J AE_)"%TGM%0"^R0"-].$I %#WCQSR]YFD/)C4E M%K-D& 5X?CYN9_%,B_F.X2245<AW#HAOL10D6'"DLDRUQ?;(6VP"\XC>L-O$ M2<GDO-_6B<+SVD:*&+S5 0-,:@B@EK'"!IN1T+4LG@V9%5B]5H0MLL1=F#(P MC:UH8.HEL32V8HE!"I$@QP"1V+Q6WRJ9@BO"ALTT=^MWI2[+A6KYHX!T)8,( M.=Z.*/;A/PH4(<,\SBMR;-\2ZW%^V QT&C:0N50@S&3*-L+;/XD6ZI@LVJ*@ M ""6 MJ2%R(H"?1=/EM!6 #$I--. 36V ,FA0P+Q'S?SWK#5[,)4NEZ7$-]O MA6@HB!\V(4#^?G>,T2A!7A0@&0WTYGD2K-PH@&GB D[O=#)HCB34[!G9IH 0 MS'*O0JS"<L9HIV F=3ETU<&BH1L<+!9W 3=DT=78"?AYJ8' SQ/@,D :H9.I M"O*>DD'QHO0,4;S(T-M+AO:I#75 .3?ZYS$.*=*.QR<G^F!R,NYV"^)\2$&4 MAVGD8%1@=@'F>#R\9%'J08X\'H2>*^?*N4S<;/W,2M)6QD;Z[;55$^3^;.)I MGD[Z/Y<*!B+9!OZH>II%C0W5:&6S7NNL+QLXSX<TA$J.\?/^>*A#"$&/S/OC M9K=[T8>4@VU2_(7MF^GNH\%8AWJFO%]/\MM)LSO$ES5I0K'@,(? Z;:<TB4$ MQKW."'SEI@((H/85'OU@KU]3+1.5I= 2=X+G\JVVKH">R^7;"GO)RO#C)X;/ MA_A<29>>'M;3TW VP\(S\$(33,?S3$Q:9^,>Z+_>>$&5X3QTKYEO_R877HK* MR>-AYW] OGJM0;5D1 "[(&Y)B8A#$_M]KV1#:))G:S 5\GSXSS'\X&BO9,X- MC_T:\I#_$B/^<+3WZ4B%>KQNH$PGT<.DRE3R1-@-R_*.2L0-KI5%Q3.]QTD\ M="0XVSIB!);Q!<4@9?H)EB!'6VID*D^B#M,P"*!JEV2_P1I?O4&(3PPF[#CO M_ 4GZQ\V!5+3 3$+:+%!$6-3G,H6R(G8$-ADOR.YMNHNTX/MXM:"G&LB=SD+ MV.ZO)%#'78:!5'<:S.<.(F >/!#<!4SU46GPFYNTTH6>('MCO]#U[2M<32+S MT1R8^IUG),/76\!#/P4OE1:)LME!MBO&P&H"UP4+>E*.C&QSJ[&U-(QAFN$B MQ.4VG&Z0BM14_;UVR8Q;.YIF)NL4I1MA6Z4GM$ Q"<0U=X^B=^XD\U;%VJ?$ M/&ES9S0Q<XRKC00PZ5_HO9(<;-K2(X$?L>3N1FX==B]*<J!Y!_//R"C*F7 ^ MID:,6>B:).72$X$(UDONI]T)E0/,RG6LR>2B7%9>D"R3L">5RE$.W@@"PYS? MV2'286KQ@$58K G*-"%4^'24-)B.\+ELH<=4$^8>V8)/J09;F($C6^@QU21] M5K;)YZ-D=2G#6[P<0R(H6UG<= P/[*5":2\MK 0!Q.KI%?L]UJ66:$FCQ;I' M[-,6G41F;6%)=M[\5W\ AJU'%E)163*!,7]%CJ4>7V&R4PK42I&^Z GUHY5< M01-QC4J7.L5"I"%L] .QU%C)#1V'*A)\!YC!28*U1J!28?@>TAW"]J!"T$HE MDD=3O_;KF)]WT2EFX7CU-.N#>[B(,EG-;8=/DCP[F8;^NDPN!\F[L@?R K:3 MSOMS_9"U+L9L93L.QM,:</@VKM;/<356+"D8ZM%:CUJ3B9(!E"S>&M17Q^D, M&*5$=('.M$R#Q-/\NDJ%_;.P$*J@!;#,IM6F<KT&;D^_01/E_7U)YR6K5?9* M)54G42T 4)_VHC=8,< 0MZD-&!]M)ZT-V\<0<)SUQ+:(W[^#7LJ%%>(?A05H MY6$5!K)-,/5]O68:G]%,(ZN975PFKP+VZA7(]^!ZN)Y:?W]=@'3_>+5%30^M M()@ _/T4E)N,I164;WH(!6%-LT=C1CKMJ&(W5I1&U3&I:Z<\1<H%NI#Y,PI( MK[MJ9N7SC&3,=5]<Q$LWVUG 6'HH)>Q 'CWU+O+;[$5P&^O.R$2Q9@D^RP5& M#%5=VZR0**!X[([$1J_\1S9)4U-%.JWRQ_VZK-%Q*T6HR85JR@5/LN!6R&YQ M<'\QGS&:!^"5#,P7RV!-_B4GS5E^:5)YI&:CD%#^?+9]]9EL.P4J=W!/,$^? MFD>;J><3;43'FY3L->2_O9(CKLK=_JE\IV'9>,B^5?,X6DDHYS50^5_W$3EA M-)4J4AC:Y0$45I!]7WTF^_Y5"DLTL)/"IB*8?ZG&OJ:V^8NUDA*S0"WI38)D MLS%>UY?K+6K&TNN/H ;@+AWWD?OXJB?)-.60'J 3Y'><>7^D^1-Z<;GRF+:Q M,PDI:MO0?%0II#:5(UN@'39M%Z6IS7$I2?;Q/@8"HDT+$[C"M*'M>K&V8Z3I M]=[#;VO/;W-ZI@QJ,EFUX IP-FNJ&B3R,5+ _CZ>78F=)]I1-PA$8RON.!JN MT<P,F'BOU$%5 ODUQ'UF*,A2?^0YBI1C98\$/,')3>2#G]-.7%"10/OU2K+? M;USA.5EH0^=(K0S:/AZ1):QK8J0TA>?K8M?^K++E4M;G]:P6S;?H^HYR6#HG MC7/\YMX=-%VYY!VTK;_=P4%)X=DAO?*36J#[ EWB?OM?Y+CWYJ/98N0O=DY4 MZ)<Z9TG:$C?S4XN[13K>)O/&0OV7,]UI%S(<I_P5*BQT<'#AYC4I,*'HBI6& MJ\S,X<8-9Z!I7$?VJE5YF.NN0,/3G2D?WPRUG0+JSBH_.LAQGWD_PGF'L6.Q MP>*OLA8O5 *.6LC%0Z@@<U#E/O60/0&S@S+,0MG1GQ]4]NB@Q+W+'I_ ^!K9 M91VU?9@AX>\:,I(#$CL(MO.0L:6R3)W&N*<QXXZ\8-G^G]1-ZES(?T$YZ5,H M#Z^=*RA.J$R?2+?+KG\\D2^_+(:*E9@[$G.OE<D631))#"MU"N>>M"EU\DOM MP]:Z04'4/PO1V KQ6:-A![M@QF-;?[Y^3)UQ0E \Q%-;X$%HQY!5332AE%74 M5R3"NRRF#E?].6OMUY$OV]JFWUTYBDL3F \K)FRK(".CVK-&\I/(,A9+G,5. M<)LS&V#X9O=$M'%,*Q-%7ROB!M9[*^2+12&9'X9QVI;'8X,/E"U3-C4--.E7 MC":98W_WIX<(XW]AS$BT ',-X=!EUYQ;<__+%)*<S+LWC:1.*SZP/X.P#\#T M@_AR/ L3>+?N8V+)!>BF7'F,$UA<<^.61C.SS H>+0M-^1[1V9<E)Y[02E;I M<F4HX,NNU.7H?67P)(=9[R]\$IP/%4#)QN=<K$!E+NNP:YCODI[=<('WT)(3 M;3_E-)?4:0J@0'FX(ZJ.8/E^N. L6(GXA!R8*3HCFYY)FSG>\.RD9:SQWB;M MS0)=N2>K+J+?0-K#)5H@2%?/R3/HIAZZ!4#:'@R6OIJPIP2P_8DA)2C+,H7X M3IUY(LQ0TOB_?) ';TKI@Z(:R27=D=95\J=%-7D4T7&(M]3QQ5)IOUZBWNI> M4$!+SMCRB8H;53>AS6;"*]NT2)]BQ_Z S@.OGCZUXZ4H=((,"$S,4:92UNZI MK>!H<SBUC56X.^QQ4]Q _8071R?<\X2WL8&.%_[E&OLZF*,9'#X+HD-V(@SP MV* Z(XK4MA:!J569[,(VW<"3"UE^@.OP<IEKL0A==:<6\D"PXMPE;626[Z-+ MPDDI2*X0+TW10KVJ\-5[R0*Z'H:&91M7>'8*%(*XLOL"=(<WOB(PQ0.7FRQ, M#?-:$LTO"D75;W:=1+W=, 3)7K2FI.6/K^ZZ3[QQM^8S>\5I$D>[[*_*8(:\ M%IVO@P'$6\N W3@2%AVE*SI@:-TLX\P"5@\@*N#5_FOP>/RI)AFV(*LD;;; MX\"JE;2LCI\6+H8@$+;_\NQ#JJ1.9:,YKA2ZCVE70JX7?B1F7M*-W,<_14?N MZ-POMGRHX@'D:)\MP93Q#R +@14N T4 +YNJ90*+D7K)IU W&%V&S#L_R<09 M^RME5SNYB)HYLAS?'J607')U+U7,8F_%\_&DO++,:F3 PVR38@K)L#+^\UV% M4NT&CD2B<F?P;U9O5**MM;AKHU*E?N_P0CU=I)='4M5YP=S(C[>QO?3=W*7P M?7MJ.W9@<Y\0&5/<E4<VEAC86%"(69:M*!<DQ["K>]2WA6?&ZX<;DEI*S,-Z M1:-&$*R::VP<UN20.TJ3H@-")O?PZRK.FO%;&+#\*FO&Q0MD-#R^JQ+;5)H8 MS.1R4WU7@D0!7%76$U'X*#4!>3JB%)"&V)H':4$:*4&BLDC)4=M)#H_S6,&< M^780J@\7H"$.TY0,O("<E]T27.X[D-3*?KA_JD4;$OP69J"F'8 4$1/5%-;I MX2;2#0VB,8U(+ZA'28UZAG[T%0H%K&)B*:@R+'M\(2"%X6<9>)JPN0OAA!9M M#> X(5S\,H2@ DIZ(TA)0V'BE3'"N>'37?*-(*4H6!EK0E"F7[:,6--0G[^ M&GGMXU7AQY6TQ9_MZKH9=VA VS9YL[+1MS%D@A<YS<;Q#\.Z\* $2=DT<>$4 MK\]W],XO8-6(S8SWL?$(=C:"M)C+ H&R\E39$*_K''?ZP]A(E%71'(0"#*2N M=4V%B"3##T2!CQFT<QU(-Z=OEO!;8Q%1(#QXD-#B@;Q7$6?.?,K*I*OTK*=* M%1NE?1^WI,@[Y$7\C#,=(1M4,D-.I:O8M'-% ]3V W\B*0WR%YQQO,^.;.EJ M8-N"F\2X9>]A">52,"OCM.=;Z[!0C'C& Y4L4M6VLY";$MW%J]P]5:5SCHM0 M'0$1\5RCB"^LQT->37$6;=!&>V/J=$M4(&\Y5T*C>SRRI].$AFWFG)"JF6X< M$E;HQ9^?B<;+G0V;OZM[YVY3NN/NQ:+J!9JYRPSX(8!_LO^CO?#\M6)U[S=_ M21B/Y)7^*+Z)O?D:9F(Q>/[Z?!8ZNEA\=TT;.W.JZOJ8W>:32Q865_>7P(N4 M/U#R_HU[@@QJYPH3F<@HX*%[=(,';%QE9V+%Z:,\F+JB(D&Q!3V62VYXOB3D M+P4@B"DQZ.?*#Q:EB1$.'**QCB7"5:C2@N@K)^HC<W+LH8\])0.00I7C@K7[ M^A!&-96-8J&F43E&%:$<^%>VQV4F%J[*;5@=4$14*Y3=4]^+2.14G\I+,KK, MYB%^-4H5M7C'1!W3POI.?D7/#Y< [O]_==?6T\81A9_-KYA4PEW"DMH\I%6X M1(#=Q J!R!!**B''-4O8=K&IUPY82OO;>ZYSV5U;D(#:2@G@]=SGW,_,MZ6M M8(MQ:,BAY;NL([S!>'6-$TZOR&]]9CH(Z#>CV>/Q#IGDR"Y .IR&W,N[&:R[ MMU#7_3R'48K41]T.Q,,2O>8Y)R!,"\EC);Q:#H,?7$9>82O':(L:+Y T0??P MQ((C'[;0&EBZ>I+5Z%'66I6C;_O%XA>@W6#88P(#TY,<$L3A!KU.J[Q5E@H+ M);B-5P3RTSGD\XC_LB\;\%')YWO:@;)K$E ^<=S'\) 2<7":YU.P2?F(/QX1 M+IR;XH6Q:[]P[;C URW'/(V"T9-JW\:[YQR*$I @2>)+'ST(V1]ZNH6M83D: M@R0LSV._BEZ3&$\(E(XB;R#W>;S )ODEDHJO]:0BA7FA@ TT>F.@RMY W-H7 M3Q.4%O_!UI;[*Z7H'['#BN.Z(S]Q?X68G/ED#,*9(O P0)1(:@,"T:47L\#3 MR35 4!&,H 2DGZZU1$H3]X*BQ7J/,ONEJHO3A2'K-SSN0LPY4,AHKDOL(D"0 M\L(N'6!_9'ZB/V:#L#CJ#!"7^6AHH[+5Z25K%X4P#BL;I@3C4)N;>N5&FIBU MKG%:N_$#7C J5-+<GA(&EWW1-/)-H3SG,EQA1HB"65V1ORNP<F5S'(K]CH:F M.P@GZDA\$D=4Y5,:/!/\A#M;3FN@92VM+3?6;]T/MJ"1-LB\I^A;XXQ_-^7W M^ME*&([S)8L5@.A8P;9*J)_N2>]T#SH'K^B,GW.6YESJM\"]<L:/S20VM#_* MI5LT[TACZ-U;.OU]3&Z[N%J';]!2,]E(G#NQ3E0K(5X>$%%2N'5\0U0Y0"WF M@MOJL]+P;%!O"M8,[@CZDBZ05QTMH.I>Q,!T+M *BW6-%ACG]2WS=Y4%_FC. MPORQD V_"!VH:,7?RXP_'XGSI++IG8*.E4XSV@O>CQ&@+L$\/,TQ@U9WP *T M,C+J(R1GO%Y-:!<^R$5E])F[U;HPT6N84(H0KAY,0SY8V^9/+ES=DM7A:^PU M@4? DAX, I2'/>('T&&/;JM?1'5W=3WF)=G<-,W8M$YZ>Z^[L6GPO^?/G\>" M8LB2XCLN3>8N=!0@+MREJPAK;VXV5U9=9UY?TM6PT)>5+X5X@#L,O Q&T/*Y MS8C.CTJDYW&E#O//445-.<KDJ41S>GIJDLN7((>F!*[;A%TZQPP7. T"M$O0 M(E6P D*H.@^A5Y):,) >I2!CRFPB$(7\=36)+;[(> 0T5Z)A'Z0FH.$Y)'O/ MQ,H)YBR1Y*@[23NKX4?/H ',K7BIS*A]<-HY5/Y]E=CLJJ)@U.9P3LUR7YE) MI+7.A6TL"&+;,6D36\%-VW!(+9 +F*<P5^ 9I=<995S$N,$V'*/5+09(T!A! M#>B(F$\16Z>*5;]LV2:$7Q#%Y5F>]AAOA%@Y>'Y-1J ^M1ZG/A!,%??@UOM[ MYHF&U VL'P -Z0#3X9_/R Z"2OJ9T'^\SP@#Y+7IW;\*'9MR<#D,IOW_HE]U MUJ_%P-=*6=LMCG!Y%>X6X[J7=O0VI(C#="??[*N7MK+R(]H+U-\=5H4*JGW; M[G;C<MS86[/"P12*%U<%B]LD/.9<ROFWK>UY3.F2O'?FOH>V"N=3?0$Q\ILL MP@9;@G?5N>P9/(K2G:.Z[FD\5KI/_Y$=?30[7T(I]SJCY%\[5W^:6\/7.63) M1)RU3,"U/;VL_A,K9JK#Q3 ^DS%B=';3G^7^&Q2^@>@P^^;3G%#$-!V9I_## M$:&EM5PHBX.VJ(-K=&$ZN5;(;D3F2Q.@5@IHRUL@5.WGY'@N,90S3&J*)Q=@ M'OB>FP##+4N&GR:7<\W%$M@;+C>! 1(LX5G9S"N!W15(W><>K;Y+J'J$V2&* MK#^8I)_IY1N#P72<L F!AE!^G4TFLXB(B[)S4<&843@?4H >:F/=-&XYK5BK M02.W$9W#]<RZ7P[?[[=V]P_WWM 7?\'_DB&',&_XI>[*),]@1Z)H@)S>FZSD M@]B\^[7=/42>V-LYWGO-:&.P_^#+4%R-QL7UG]BQ5HZ("NE8)!QW/.X/<V2# M/@+?8_(#\2!S_,A'0B0L5KDVVZ9AZG6DNK5M^($1,[ V]<YLC4D!9H4HED'- MN%#'SD.J;!.ZY.@BDLO^:/6XYL+O<,MQ)EWA> -N>Y8)KB6]_R(MX"!:J]R9 MJ*M&>]YRD)>RE+_A.Y*BNE9@^,J@^AE:?X8!@(6D8]>,60OM8=X4;C5H-#9U MCQ\JZU)/TI&,>(V%:'57EO*2+$_N.AD[!>Z!5[AHTL]9P!6S[&:^X=5CBEG; ML@*"=PW?RL6>W(1.4(Q)26ITP_(%4 KN;A2.C,@HY &B%'?KV;HT17=FASPV MJP%SN5--4L&R3I%Q[B&@"86O:!4,KLYC(ZQ-41S?6*BP$>:(4'E,@HV0//&' MB/<\9@G_,'+T73+&2J9SN'>\;P.H5)LRDR:"*2&;+-4H"DGGI:%PM[W3>L$; MW*)8)[T09T9CD$,0@WXV0)A.#6@7A#%7WIVFF0)Y:'1Z,$DDA8FM/;,>K7-O M-SP6OS5?OO#F$V7X54 $OST\H3=G:7_M(>6&3\D\^J#XH2 +/XU&]':#&TY> M!5+D%L15<_U'U_ZMU-O"QQO"?,85WS1KS?6?JLKC\PV/6PM?4W4:JS8V*_8] M6]CWK-3W;''?LZ#OF9.UF'VY3#$UE,).EH@K""7XL82:'X9 JVGW/2BU@U=O M=X[>:.MEWAR>TXOJ,!F%5P@\R\U7="HLL"C8>%$=1Q4+HXG2*/(.2T@1&$LU MS6][K;4[!R<[^UXI59U=E@[>F0+?H/-D!IWG1ID !FND=K^[,OF IGZ:RRDA M0B:3-VF]M.X[8?Y(?P\#4N?[M=;R[N-)30N=7*UJ,!*TNNHKBS,!%0K&%\ * M!:ID=96N6%;$U]"F8M5=ML_5WKKI_Y%, SM+$K1YDLEW=8VBW4_P,Z9J4?*/ M;^XLX!=*997QL.(:WD]QI_'=<-0Q[;DX.+KMXQNT8G\FE#@_\-A09TDH&09# MHD(3RN@'@)[ZW$\SEQX-36;?DJ)MX86''E "X9(:$D"T&TF&!R?&Y]$U6#K> MZFKYAFR!<K1C)O@];Q=,$>J8DP0]=UQZR]Z*\N]74,GQ9_1O(GP ?M,0#T[2 MOMC=4QI[4M$P3Q4>HH4+-(,!,8?QJ]8YIRDP>Q'5D1R"W 4B[%*IZG'S#1WD M,%@7F/W1AZ,.$@-"$D-31YW>T?O=7JO;.6EWC_#C8;<%K/FVTVKMMX&#O-%X 8TXVIUZ4%D+[N&WWS&#[^!X1L:8Q(=0 end
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199610030800.RAA06463>