[alt.sources.amiga] Some fixes for zmodem distributed with VT100 v2.9

rick@anasaz.UUCP (Rick Coupland) (11/19/89)

Here are some fixes I came up with for the zmodem file transfer program
which was recently distributed with v2.9 of VT100 on comp.sources.amiga.

I am using Lattice C v5.04 so some of the fixes were just to make the sources
compatible with this compiler.  Some of the other problems which were fixed
(I don't remember all of them) were:

    1.  Wouldn't work when attempting to send files at a baud rate faster
	than 2400 baud.
    2.  File modification times were not being sent properly for some files.
    3.  File protection bits were not being set properly for files being
	sent to Unix systems.


The first file included here is a uuencoded, compressed, context diff
showing all of the changes to the source files.  The second file is a
new source file for "dos_packet.c".  This routine is called by rz.c
and wasn't in any library that I have, so I coded a new one.

Rick Coupland	...!{noao!asuvax | mcdphx}!anasaz!rick
(602) 870-3330

--------------------------------------------------------------------------
#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of shell archive."
# Contents:  p1.Z.uu dos_packet.c
# Wrapped by rick@rick on Sat Nov 18 13:12:51 1989
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'p1.Z.uu' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'p1.Z.uu'\"
else
echo shar: Extracting \"'p1.Z.uu'\" \(16203 characters\)
sed "s/^X//" >'p1.Z.uu' <<'END_OF_FILE'
Xbegin 644 p1.Z
XM'YV-*@*">,*$R(LI9>0D>>)BC((6$$$@5,C08<"+&#,JN A"AHT;+&3<F*$ 
XMA,F3:=S0 3$&S8Z2)TU68?+$R1$0;<+,6<,BB<HZ:9KH7/,RILDY=,+023,&
XM1!4A6:@4 :'"21D\=(:@"2/G90NC*5=& 4JG* B8)E^H,)G&# JM9<:L&9N&
XM#HH4*4"(2;,718P4.U2\0(O2+8@0$Y_ *>,FKYPR=.K(<0.BB!0I3Z1XC>@1
XMI$@9(""*)LQ6)4N7I)W2M(ES:,^?08>:C8E4*5.G4*52M8I5*U>SA-6R=0M7
XM+EV[>/7R3>,7L.#4;5$<3KRX,8C'D2=7OISY9<;O%S<*%#DCY(T<T TC3JB8
XML6/(DBE;QJPYO70F;,J8H>,#!HB\>\"4 $3XZ5>6 B& D !V\8& 0E579;65
XM'"NL %AJ(/21VD)4I-%&&2WX0(<<7RSUH0MTV/'%'''- 4(/()A8QAMUT/%"
XM###,=A*''H(H(HDRHJAB&TS)\<:+(. (PY(PJ(""C#3240*.%XK6T0TRF(=#
XM:**U8-]T[%7W7G;R<5>?42!$!T*!^_7W'P@!FC1@"VP>F.""\&F'0E@I/,B;
XMA%Q5>"&:&:;G()0U B@@CQ^&.&*)/0JY8HM((FHCCMZ!]YUX:XE40T@XT" @
XM@?GM9Q:>9#H(86\3"JKC21HF&!.C/CX:9(J3CN$BC);>F"."1M'J*)"1XDKD
XM&$8BJ2233EHZ)0P7RKKC$QTV^N,7;KQ!1ADNI/'&%T.\T49.;I"!)!52?!$$
XM$41(4404510Q!14O26L20N4NA *M@QJ%+QD3^<6"%'%-)$0=9O0[*VQ"[:0L
XM"#SPX. 5*858!8MR0/&&''2$V 8<7TR1QAE"U*7P23GMU,,58=0EG4\3B7Q&
XMPVN P <(M,I,L\TX,SQ4E9S=0 .H-7 YFIRD&G@J@WKRZ6>$OE%HX:LFQ0J6
XM&8?V&*6B=PI[[:TJLJAKI5K7Z&N]"GIM:[%#%GDDC,LNV6S94E*)=@)JDYCM
XMMMU^&^ZX891[;KKKMOMNO//>_:^^_*(=DX9H_AMP# ,7G-#!"5/M4V2Q.0PW
XMQ!*C0+$;%F.L,<<>@RQSR72<;%+*:ZS<LET]QSSRSC?G?/M0/&\.%,T7:KHI
XM1S+@4%[QZ*'I>^<U?Q[QQ!7[<'%"IW?LP\<AC\RZZZVIS+++M2>D,^^Y4]OC
XM^ [G[O-.W+?E8'%SD747UPHND08;;#!N_H<LP-YO O;#G[X<A!0YU&$,*UG(
XM%.A !H+%@2HI@%E"^O>S4^VE+W^AFH:L5+RAR2 ',3 :1#:TON8E"730(YWT
XM3+<QZV%O=2:C&NQD!SX)R@%]-2M?M<J P]Z5L'U8>PL:XA(_ER4G0'=RWY/H
XME@)@)2 F <S?$_:UOS)0D'VGBN( 45#  R;P"0ML8!D>J(((NF$B5US#_R[(
XMG RF1D/"TPCQ<("#D.1 5')B8W,TF)HRL(%%:0HB"F!G AOB, 4AZ &TX.1$
XM*-Y/BE3<81K_%Y,C0*8)<SC#OLY(O192\B0MZ0'!QF PA&T!!ETX54S4A((Z
XM]2!J<_C>4MR@2;ST)P5[$(X94F*N*($ #6^X0VO<D(?3<"4,"$R(B[A2AH=P
XM)@<PL.,-1.BE/"YGCV_LXQ_+$$@'#7(HA>3D#7?'OD0N$HD*6F40+=7$.P'P
XMD?J3I/]4>1)+T@&3FK1A]3YIDE".LI1F.&4J!:1.Z;2R5'1XY81B.;N4U#(%
XMM\SE6G8I.%\"4YCD*F9+CIE,.2SS,9P:2$%>( <QS$$,#7'F5TIZTI3&$2,A
XMC0'E8F #M#S')"-HR[:P%H0F).$(08#)"'::$FZ"$00BH,,001 $(ITA#"* 
XM21<1B+,G% $K$Z$*0N@0L'[-I"8W80)C6+# -\"!!5#@BA'8$(8SS,$L&Y4#
XM"-(JA[KD80A(V $(A ,'KMC5F') )AT2 @(G]"!;;K!B$7I0!CN,]0D]T):Y
XMGF,EF;(@!EOJ4C5-<E,0Y-0,.V6J3X$J5*(F=B!30*I2N=G4D4%5 2OPK&FY
XM604B4.$)1C""@V9@@QJH  <KD$$38RO5$7FQJE?E*F%5L-6NFN6KK!&K&\A*
XM![.B5:UL=2M<)S17O]+AKGG=ZUKZ6M?O E:PA#4L8A7+6,=.%[*2I<I@.$(0
XM@\A!#RFUTGU=^M* A+0&Y:E!\CR;DC&PH0[;@EB0T. #H1;XP GF 5+(X"T7
XM,-C!;C P@KG) P3F83$6;G""<IIA"'.X-G0(,88U'.%MV8$I99C#"V0D!Q7C
XM],$;AIB+82QCC*4A#&RP,8%+G&,>L($O@:UKC%] AC?,0<56 C +!$S-%9M8
XMP9&Z\(V)'.$)5UC+0V8QAST,X@N/&,<1ODI<9OSA& N9Q&+6<6-Y/.,>U1C,
XM<+XR#W8\AB7[&,AO1C.'CRR&)*=AR4U^\H7[ZU^.X"!+.+@!::X@A"(X :]3
XM&(*[+(TFX7QW,2!X ];F@*PR,"9-E+D#&IB"AA@=R:RG[BRLS!*6GM4EJS R
XM0A"8,(4BT-HT9V@#';Y 83.885()U36O?2U>$"!!)R X0A.H$&ICLV@E8C U
XM9:[] _G"I-;!'G:QS;"#!"1 .$QXPQB 7&TS7!L$9C!2&Z(][1CUR-NE6<E6
XMH6"DP2*P!^B*UV:^\F@6@+#*1J&TI3&MZ2)PVBB>;G.U04#JQYPZ)2!0-:M=
XM'>KJX/MQOTZ@&VY-V%SONM<OB>UG0TN%)#2A"%JH21%@B^J5A)O8;3GVM0$N
XM!8'3'-S"QKFQ>V"#)K7\Y3%W@J]I/@(_LNC;P [ZN)'= V6CO-G/=I&TJ2UJ
XM=T-&+]JF.&2ZW5F@BSOGY3[W6M*];C;8^T/M?G>\Q45O:LO(041R0XUBG)?.
XM-KU<;>'42T-J/!;@8,"SAKK(22Y7DR\[Y""X^=1W;G5F"R?K=8_[U[-]:FY[
XM.T%F%SJYS8UN=;.[ZW*7=^;O7G;3[+O?<4EHP)>>;Q!0(2%MJ/K)F:UVIP#R
XM]G+(.[O;H"UNDGTPM9?E$'@N< 4)1Y;PWAA+WN"&70;?-M0'NQDVQDT#.]FA
XM&>=E,'] V8A$VN T0'C-(R_UG!/=Z"Z'N<S-TO1M*I[]9S<VU2NOU\M#>^N:
XMAVUAYWG/ 7I1EW^CUWMLQVYWAWI?-W?S!H!W-T@IL7=ST'>#,6*,46SW]WIO
XMX&^RUW.TMW[ EWO\YWQK,3VVAWLI,7S%!P+'=W_*QWR\]WRS$WUR-0;49WTY
XML139EVW;]Q@LP0;?1TOA5R[C]QR,I@(A)0-2YA$P !.DH40H0 9P@"1-YG$H
XM( (BP (@8 (HAA>)Y 0SP02*0B@IL7U(PD7&154^L7U$H!1A $%!@#_JU@1E
XMT 8H@ )$2$LI, =IH <SXA93)7)P*(<IX(4OUP1&\ 50\!1,D 1#$"UHHD1O
XM>"15" <A0H1RX85I^ 9X 2R$@AUCT -[4GUO$")I0 9?X 1UT 9"P(EKX")?
XM\8FJR(JN"(NR. ?30P8IH (U$ ,RT']KH1-S\(K<%(R@(09Y,%AZL8L?9Q1.
XMQTV,)"?1804)(09.5@9Y809P4%<J08@,E!!RP (B< :0$6^F!F\MDQ]DP 5N
XM( +_0XH]X <PP 0#UQ$U4$<>D0/J-X6"9(58"&N4L85=^(5AB$@]0(9,8(;5
XM6(FHN(:%V#.'F!1T:(=C@(=ZR(?4=P9_&(B#R(8&Y(:H&(=)D8@@L(B-^(A"
XM$(F3Z#CJY""7Z"!6N(GJQA.HMGU'Y$1*9(L^L(I?4 4C1P>YF&UR)3'0TD@F
XM08I( @-X< .Y%96Y=3?3*(J$<A+T>(K;=XNM^(JQ>).TF).I^).XZ)6[V(N_
XMJ(S$" +&B(P@H(QZT8S<) ;06( * CEH,HTF$2<*<HW9N(W=^(UA(8[;(@?E
XM>([I:''L>#]E\([Q.(^048I."952.96"%T=-6 .>80,D<977$9FFZ)- F8M?
XM*1=A*9IEJ8M@B9; *(QKV99P!Y?,Z(QT"9;1&!-Z^9 )X)<E!9CP)ICAR(:%
XM>9CH2 ?JR$UFT(Z-"8_R>#?T:(_XB"%X"2ND8006IY$.\HDLP)%^2'$@*6H/
XM\HEXD8\>80/F 1J:)2#3B9O;M)<"PIO:R"*!"8[&*9SD:([%>9R+Z8[,28FH
XM(IE/69F622CK62A&89VFAIU:^0;;V8<>Z9V"")XJ()[!PV@A-0,R,#0S, -1
XM6'LJ@&)FP9<G,9%$  7H0A56Z!6K9!II !Q&\:%)L1(P\BM&(9 P(I+'5:(G
XM6D8Y@9%<])WB.)(KH:-2,)XJ!0(;6AX;FEE=<G\PJA0A2AHD:J)2@*)PX*(Q
XM\:0R"@(T&A,V2D!M.*14"D$]RHD_&J%!FJ-4:J1+2'@B87@;"A-\B2=GD 9(
XM05BU)C9TH'=MX(5Z.@:2T14"\AAU>J<YR%TL4BYQI:)T:J>#=:A<0157^IZF
XM,09TN0;YX09IUWNS&6,<1P:O>(5*9:?/>),?)R!&D 8>10=B0X,[H*=\JDAZ
XM502BQB*,H7N/=Z3&\RFAXA_IZ9YR0JB.BJ>F :NOZ*>Q!ZB&N31E4*B/"EAB
XMIZ@3<BJU9JEL@*F,L:G"T:DN4ET@ *H?$R.KYB*U*1>G*B>INJJM.GNO&GNQ
XMFB.54:O:AJLH=YG"$U,P< /1A",W4%,F\8WJ-D1A4)@HX 9A\"%-U$_<I0(&
XM^R%1>B?":JC0J@($27S;XH4J<%94D;&3:A("(ASOME-A4 =LL!+D=;"0H4QL
XM65&.99BKZ*F=E0 5^X(P(@)W( +YR*\@@2/&HWX VQ)E,+ )4; HF[ 3V[!E
XM\+ *$K'/&E=4,;,7*ZE8VGLAJQ\C6[(@<+(?\JC+Q++D^+(N$K-0RTTU>[.9
XMTE\Q]1'F25./)B )T!(6BP)II51(ZX4HD*\WD+=?" *IFA\6RXW]4G]/9XU!
XMU 3:<G<F8 +X)WK(1C]/=!(RT@.&2P8RT@(H( ,JP%LVL (VD+F]]8L9J@)%
XM)[K^L0(H('DY1Q4@4'2J6W3\]*US\&1D, =?T"%R88HR4@*NJP(M-P1+, 6.
XM:!DA4P1#4!-$0$\F(2,O\'[("[NR2[M-4(&#U0.YBP*CFZ% \Q5L6QYLZX^_
XMJB!OBP9Q.[=H4+<.@K=ZJ[A]FX?%9Z0X596$ZR"3B[B*B[KZ=VV.&Q.1.[\]
XM8KF8J[F<Z[DU +HT0+JD"P*F:[]8LQ:NV[RS^[RURQ2QLT0?HKO0PKN2^+O!
XMFRZ]5KQ.<+P$!;D]LKQ%Y\"QZP*S^P71JW?36[W72P,5NA;U]0)S@%\.824U
XMS%]HRQ$TD -35@,.!EKZ(5H_%51;%F<2QD!?UF!'K&=DQBUF%F9ZAF*!QF4<
XMQF=+1F-5C,18W&,)\6-!AF>"!C&$9FB(YF10%A$]/&4VH'XK-\0]5<165F1>
XM]@9;[,2?!L4BUFQY1L<Q&F*?)\5%IF9CP&:+H6A,+,@M-F=])F-:+,96+&<O
XMUL@T_,6 !LE(7,9^=<:(;*^:\E\!-F!]O,B3G,5V=L=%UL657%>7G,BC/&A(
XMMLDREF@J=F:1+ )A01;>X@8OD,MUL<L6%E4>BU.SM29/< 1&D 1,,!4B4,-$
XM> ;"+%OZ450@X"[K@E?$NP1'6@-#P[K?^\J23&>/[,ICO&>,[&>6',;D',E&
XM%LM*-LMH',7@S .^[(.\7,_ #&9"%4BAQ01!0 6].W--7&0 6UTO0,@JUJ8<
XM40.?4G1S'&&:_,Y,%L_K'&>X#!OVW,L8G<_17%K3?%HT@<S*S,S._ ;0[-$4
XMQ4W63 38[+M2&&7F:0-,>C2*#,N%)LL3W<D#'6'X3'T:S3GV+&1,Q\]#[,\ 
XM+8DSIW+E7-!O<-!X$!<JIM3LS-0Y'=4U#3%4W=-N8-7S3-7C/-0;&'C$1<P?
XMS4TAG<S+C%0E?=)DG=+57 37C 39+(4*+1 "Q@(V@$?2[-8KW=+:/,P@8 =O
XML(I44:;J=A=F(=B$K0+MX09,X,YY@-C%):0@,#I-)DR,71V6'4R2[;%6\A$L
XM,!)N7,Q]+=<N#=B*/5F&/0:2K=1F4"Y%_<\!#1.I316-_=@W+0>1W2\3N=F8
XMW=B^W=F>%=9FX,G@$5(V0#DVX*^!/=BJ#61FVB^UG=F,@=M)MMMFT=OB]]N:
XMO=W"/=G'M3SV+ 0ZP4TJ(-Z[3-XLDMUA6EAE< >^#0)N($PP$B!6HJ^AW<;?
XMW!:PC35&/=LF,=VW#=G"K=U(R-V,$=P7HG+$+85'T=[H37WJ;=X1[@83SMZ4
XM;17PO=WR3=^,5-=K@0.4@P/,?7]U GD^P7A(PG_WI\#[MWMKB7D Z( "V'EC
XM]W&A-VYI5WIM]W;<1./PIGH2>&^MIV\;R&\?&'NN2K4;"&^,F;6PAT"[K!RL
XM&H-6 D*7M23_6'LG?G\IKER-Q[<PSG0Z-<1')W]*]W,'R+@[QZYJ;G/M-W2C
XM>^9)MW0,;G^UY^*4!^-8]W_U!N2<MVTW7N2+J^.DMW:FYW8-:&T/*.3UQGK(
XM-]R 5]P@#@*%1T=>/I2X)N:YFN=QKG.00:^6MQ8R_N>,7N."3@<QZ.D(N..(
XMWN.+[G4K 8&K1^217FO_@N0@N.0@V^2[E!]0GN12_H-U,0>K3H*X)^IZU7LJ
XM6((MZ'9_"X,X;AHSR*XH6-DW&(335WVJVH-3#H3<-X1%> 9'>-GD-QA7OK,P
XM, -N#+_KI^>A?H+^IW6F+NM@9^.J/NUPWNJ'OB:)[N,!&.1T-^1P]QP,/ND=
XM>.11'H("Q^2"\^O<5-"Q]^W%?NRU5H+*?NW-SH(&"^TO:/'4/CO+9^V]!WW:
XMKH/<?GWVK'WA[GV :(1WL-WG;MS#(Q"]54?+W9D9IRLH0'U%"Q-.2[%(&Z7!
XMVJS#FH/,ZJR$%?0=JR 3B6+PEH\?41X?X;U-:A)WP/,^C[! O[!;G[1R2N:O
XM'5IQ3%I%K_1(/ZA&+[%,?RI/'Z-13_-R9//)C=?+K?9HSQ))?_03V_0)\/9*
XM$?=RXK1(NP50\,](L,Q.,%" _?<C,@9P$-GF^_79N[IYB]<]^[V-RO9[S_8+
XMZ_> /^LI)^D<./C<5?B'3P6);VF,KR ."F^ *(C 4>G+G27++6EGS_=M+R"A
XM+_@*0O@H:_B(K_BMS_N/'_E$RS^AAK3]<J15C_E%H_F]3VY"U>"F'ZFH/_RL
XM/_H)\/KN!I)36T"0+_DHZX64/_L6RA$VD -4GP,X$,3]3<1F?^WP@X/?JJJQ
XMMS'%)'WE6C-SL!AC (PYN?P0MB)= G W,0H%0+QL<8I0D@G(' *B*< (,^ "
XMD,(7B':*"W@E 2,P;:A5$)& ,$(#&@$BD 2J%!^X&2!0(GR!#=B2EL 9 E]F
XMP.65@0:8CVZ 9;&!TV2_C3TX-EJ,&/T;(N9*VU&8QX! ]%^HD2O]C^( 0 $(
XM\0J@@$" 2D$!,B8&F!(<( 2,+0<P]I$M>%,!AXT6/!42D M:0 RH C=@!WQ/
XM'_!%A, 5. )+H,U @6JP#!J!%O@"S4T,)$(L@@;*/9BB_G* #]-7S,W<, W*
XM\ 26P*G 2X*KF=P)%-/SS-<#]$_>B#X1ION$5$K '- !?.O):4%,6 (.3%P:
XM+'. .9D_\T4!+: 6#%S63T%4B+XU!E2"VXMY=* E.(BL1P?P !QP \D/<#&2
XM^X990IM'4#^",$\00D.HGJJ?_;D37J<,K(%39+<<5 J()AT!$FI!)+$?_ @;
XMT(/(T%8MPY30##O2,_1"T(+^I,($L KO1RL\$')B#L!"68@":*$MQ(7,3U%4
XM.GWU!V, $!M\Y0T$:($IL 22 !30 6YK$ X$8B@GK,9N"B(A0 O\K7F3N'9>
XM+52 77!%@*04T -ZP'S(#$8K&*:*BW@F^E(0$4I'Q@VL@3!0#>5 1DP =< -
XMA,1E>/Z.%);X@S,@^EV]WY</]V$__(<!41@.Q$/(DQ"B0BP^#%%QN4,%> HK
XM(D<\B0*1(WI !P$24\)(+(DG,26NQ$98M,[6X.$(6**.C 2=-Z>8UM+[?!@K
XM#H#!TX>R9(#P4WW$S^VU-ZA'_6Z,$.,I/5! 5($I@ 0R [7Y6S60!FA%AJ9^
XMNN+::UI@D2J(Q0A(%C^$64Q]JV_Q<3_O-PUGU.C[+/&O[/E QT?9V*(XQ',*
XM0@B,*3/ !N2"5<1,6/&#A+:8B/=T7V!4 8/Q^LD5I'48M9]B-'Z5$>Y1OS/S
XM%N7?9)R+=5$*W,7B,Q8C%<-"63- '"*\^Q:,0AN5T7R,$20U)?K#W\A>7$R'
XM:U$VHHU$Z$0TXXGBC)[1B:"8VS"1UM<E*DTUHRTJ"-QH%W$";R2,OA%I!4<!
XMX?WNCF/<@^$!*V*HT8C["$QME(QRD2Z61[R('N7*;_P0Z_%](;S&IT0F5QX2
XM+KLP(MR &F">^A5ZFHF.SS8TA>[(F+ZC+/)]"8 \ZD;SN"UZHW]4CXNQ(\$;
XM]\BEA&/I.POQ"P48R#: ( /$/.0MH8T&R  'YQ'E%U!LD?#/.<HQ=T*%4D(B
XM\3+6H2'^1V[2$*&@75B ;Z !>J%'F$A"PU]X2-113AQ$;^(C>P"0S M"$FE]
XM(<7%"!UAPFB2+>!)\J6_PX'N6]WK5S-MA!#(PG4C7R!DU)&DA4<*DBIY);<D
XM5="219(1(DDE^86^)(P(D^T$?&5!/7!HJ&%$_(+&<'"!+RJ$'4T(VUF&YHLN
XM!@%W002^ $WP7<FA(5Z5@U54%&!GQ$F/L [:P<;(!7>)&,@>L@\^-AJ!,!*T
XM(@W0:V^2!\HQ*=DCW<"/5&)!4G$-23MI)*5@IDJ257!)^DDGZ2:KDIRDDK;2
XM2N)*+*DK\2273(!>4B$12R@Y#NT@<*I/$X82BH!_ 7XLH1?JA.:B_UU"I,("
XMW-;C(H6'$B3Y !]P RI?OQH:>2N$:+XIN8?HY+*TD[LR3R; /1DL^Z2T!)3F
XMTMT0RBU8"KT@^$N4BG!1"I)&B20>92[T0I*24EK*)X IF65EP .<,K%XRD[D
XM+QW7J%2.$] %F$I4"?8$Y(DT-P?P6DY"P^2%MF58,T+>$@2 RU)EFC!A%S*7
XM)H$4:L%UV2X_X[W"BC2 <@B-^FAN:N6MI#"Y\DZB+#O9)<N?OP238K+Z#4A!
XM&0D'DWUBF4B%6\+,.? MV4"XW$4VLURZDW/I- NF1!1$//-_) "\9"TEX=4L
XM1TCE"*0!QP("\@"-D"N<B-U@@2;P!(A $6@"GZG/S,WN(R[(A;G(%G? !7 !
XM.="?3@6J:!"%L ;*M- F-(#AQQ1$AG)DBHQ4:3(#CY1,F6XS6V)-EPEXMF;7
XM_)I@*6PZ$7.3,\OFSF27:A,1ECFX."L5IH-HE$UD'M* \B TWM_GK)K!273"
XM3=*)-,E=S)R9XE)U?L[6J?S,YNOLF6Z+;8).JRD\6Z;<I)MV4S* @+SI=O9F
XMW_R;@;,,#,[I S@$!^)4G(SS,3E.@1@YB^%]PV]YR^K1-)0)/+'E.!J=6M-X
XM<DV9Z35IYBQ2GH*2>5H1V*<N8:?CU!"N#4X&%2Q(+W$GS4&90LEAXL['6"WK
XMY\H<GM>3FV1/O/GOO*??!)Q$4'S231U4/@]G,$&?C3,GIHKV61!5)1/"BC4@
XM2RQ(WRDHDZ*9F%H/Y$8%O;SP*Y)($"$"'ZBZS &V,@?0 (#P3)UF+6P46L)-
XM7 #'<:(QZP!*'Q0 !PX+RM(K&4NO5 @X("KI9<:*@R?@!9R DVAN<FC6JH&%
XMYP8<'LOY.+6#4J21"<",HH =6B)[HH, HG1 B!)1(PHGD"C$4:);@8F" "?J
XMK5[ Q[&#4[2*#CVIA<!6 !?5344SB'S1B@@"PN@8-9=Q%$E,JGG8KT);VVI\
XMVHZ*6E$ Z87B /7" V( 88  +'JE_@/"="*A5)$Z35-:"U,IUF"E>L5HD4G/
XM:3OW$&JL$$@B8PD*,"I&[60(, (DBPTP/W-I1FLIPLA'."!?&9X8P.Z^UQ-,
XMI*.T#)0'$$!+4:DJQ:6N]'T=0P412D4I\RNEI]26KE)&JDNK)17ZI;$%1@A3
XM"T%,3X Q1:;X8YE^SF;J3:G?/"1QH2T'S$@I"4^78XZ4E?./7H: ($!JTD :
XML).GZ&A607SI+&'?OIR"P+(Q",M_^1=6Y_]SFQI+!'3".L _CT0)> ,'R7F"
XM)"]D-H5-CV"I$?%OH<+VU&Q&1. 8HDJ!M?1 #NFIO%45< ))  OP5">8(A=J
XM0WVH#3&B*DND:3'SY;.,@M$2:HK*OR6K=%4,  F/III"R 104-^C6XR,S[%&
XMH@"C&@"1JN)2JG4R2RY-?1D%^:5&?9I_LJ.ZDX]J-4/J2"VI,A.ELE12J5(%
XM$4P=@S+BKPX;F7H9 4E-#2QN *<Z(\DX5#G.3PVJC35F*1&RZE IZEH]JPP3
XM1CC,2(D$)F41J)27T@7N)"FY*?/.#&R4&]5G?C*L2$<"ZCT4JY35K&:G9)E6
XMF^5EM:AM%:/R22895T\B70U.=M43=D*3JE?%H,'TJ\;U @;6Y$I8$69:6 LV
XM-;&RE<6Z4_]6MSH2CU6H6M= IE 9:EF%J/:2J5I6N-,0FZ;RXZW3$IV8&ZK:
XMI0Z=VU)=5 "Q*E9NPBF?R@#D)MLU+&!7H"I4(=Y0?:],R$J(.!_V:-+D9NFN
XM1Q6\TM9[J5;)J^+JE6[5"G)4WZHRJ6C+O*O#-:^F5+Z:+I%K2UVN+;5]%59J
XMY&GDZW35J46LL?I4_AI9,Q!L]:Z5M<$22<SZ*1OF37J8$J&S2LS0BA<\9FGM
XME*C57]Z-#.G8;NP$79WL]572 ,>I%@"L[3&Q.94M.94YY%_SJTK8KY"URA:?
XM.0!@76A(.0]#(YH.5/ %7Z&L,ZJO5/;)6=D5FV75[);MLE*2NQ[$/60VE<*(
XM, ')3 @THI5&$15)7OA;?$"1T( E,62C T2T@'96#N#9)*!GO\ 5D ))0"KT
XMV44":!6)#""TJ]/0UMD\JFCS;",J EB >%4!25L1*6WQ";0P0$DP62849U/0
XMR,$#)\!% -9[4QLXAHN@=2%$"02.))$#]%7=*9>M-N.L&F G%-P K)6U@_7N
XMU%I6)?#F3:[=M3&@U[X_ ?NFC(=6G9]/9"W$UYMZ8J6L:[FOC56_.@46JV6W
XM!9=MM0#6Q492.BLR^8(C6GB[;-$VVD<;:8O I/VSI];28EHIV62#K5!* \>6
XMXB1;6IL4;&VS/2&ZEC)$6U^[=8 MF5T+&@?8M9:G$FL!WK*]M:KGV2I<:>ME
XML:(?-#PPX+6NVT,[;!*MO/VTH78(C%I[6VKQ[;9 M:K6;?7;A^L47FW%G;5P
XMY^(>7(W+:QGNM!&;-#?B<I-B&W!Q+C?1N;@6!"3<GDM#62>KI;E3X$C< ?I*
XM!M1 '4 *+$\():KBF9V,3:%+75N!7 T@R' 2O8V Y5!P2K]M54W;;D^EKIMX
XMU.?D.EI(2VK]+$]%M9>VO:H=)_MOB^[ S;D%E]DFW:6[</U#PUV=JDOH,I4I
XM6W&5;>#%N'2'YR[<IIMMG6S4S3A4U^IB77"G=5\FN=L37E>!_1)H$^C$3NM(
XMMQU7($33\B#B8@"<A;I2-_->70$4A(ZNY^VZ6$/TAMU[E^K*KETR-[^U/@57
XMDIIA3VI*[;!61"F=!'BGZCYLCP@N!6QTC2[K)<""B^>R 2F@!2@P U9T=$ 4
XM&IL@@*PH/&&GZOZ6]_T?B' <ZI*-T6>21,T0E]U$2]X!ZG,"9EU=0#5)HGA\
XMPKET(<L/P9D!898&Y,"M2A4L;^QE2U5W]F9=VULZ/V_JTKVD=^R>WE:K;NDE
XMF"@7;Y>J!$J4&>W>X[$\79^N<:W. T@BV>W(-$G<(H7%H3S@(F)+;;DMN>47
XM7:[HNTABB^A= 2.8=5+ $YQ341CTDE[<Z(#%EAWL;E&P#XY@<N$%U( >"KZ"
XMKUL8OGC5^,)4S;E21^1+Y:G^:7H&S_LY/"TA)Q2N1"BOBD+Y5C;;+LEDJ<NU
XMN;J3[X<Y0R85YIQW26J>S/4K!]IO#'B_T,A]R%_Z:W]7 L811ENB4_E/;U/I
XM1%R8E0&N5T[HI3W0[X+ ]JP+= #8G8$WH"T*I;9S.5#@!2R!)D $#BF]_(G;
XMH@V0T4N5J9!$!YL"24 +#%EG&E"$T0WH FNHKW*3V.**\P+/7,7]= L((QL 
XMBV^4+$9@^;==@H!U:0]Y8HH$Q7D(*>I$/;!U(=Z3Z*=>* :L@ *2J:AH"C!=
XMFH@5&RD!NX0-CV8"AHNX$3_B/"J)*3&%04[2!Q-K8D[LB94(,A;%YI(4GYH0
XM2+Q0L2I>G:Q8%XN$7GP[IR$M%@FVF%WB8ENJCWEQ+/;'P3@@)XD:8(S%ZCM6
XMQJF"&6\@9\R*H_$T'A'5F(MBXQ:@C6/8510(,J7NA63FMJ)6@F"A&MNQ*3BM
XMV;0%:D#QJT1N 06P9%0B2H(6P!A:[*3/GKDG,&KKH!Y8#(9I"^WD4=N<U%ZJ
XM&,KTXDC)E%Y[62YM^OE>)9DM(1"4'*-NPTIN1BVY^,66F#1':81I\ %(:K@8
XMA;?EE;=4@+P:>V@F=X&:/+ "1DZNB$C9)P-E.2"4XP]/I@)%N>@=9;L\:E7K
XM<>,((?E3R!0L(2!^,CFJRR_G+N?EI:43D3(?L1=2.:'( 3+0$I;A-8X!,&DX
XMH #!X@.>)$N. 6N98+1EG,Q$J(82P4:]B47X@ 'V!"ML]40JV($EJ(0>4 +,
XM10G  S(3#XQAP>*%U')OQLJ@&8@X",%2$3MJ9;FTW L1/V4(:9B#L@A RHNY
XMC5(&QYQ-(+-@41:96=@^.10 $7102FP=C,2'.H@Z,8RYU :."2Q9L(1FF^R6
XM2[,3J1 GV2I5#4.! E!S?"H#JSDC6M"WV3)C\SFDS;89-]_FW+R;$<AOI@,"
XMY4#KXBZ@H&5 %Q#.F_G?](".6NE"<AT9S'HM)A#GR5R9[\(*P,SV@3-[9N"\
XMGD<S768GICF(V.=ME)]AJ6OFPOWYZ_SGVIR;"70\\D*\^1,F:!T=G%/T<);0
XM'54O-PB9C)51B0E8=WF+>U2EXXPCFC)- 8;P>2IG$YCL(%:T:F;-R/!%#Z<8
XMO1)F=("NT;>Y0-,!!8U*%#1H;M /VD='Z(0RH3.B0#Q%K>-!H("4"(C.0&(Q
XM%SMT-BEI^U.AK^J^NJHDN3!4Z;]TI?6SEM:6_GDVT^@!':9O=&0FTPR:1Z=I
XM^DR<V[03>=-J^4C/@"1--=Q= E"\:SHC<F66#!'4\V& $4,@"#B!)L*DLX0P
XMPBSJARM;:?S,FN7$?G[-(B!1)Y1%+:![M9B&U&8Z4K-D!PVA*[5<9<RI D[W
XM"2=!IT?&G9Y8*4!/=VK,^*F'+3<)U2%L.#@(4MT"3'633-6K.O6N!6HZ:"\+
XM &9N(FIB<2P=46O2  N8+D;B#G!-'?1'6, 0&1EHX$!\A0='V:9 J3DU_EI0
XMQ02G]1C@P!:XM"_YCU[,OB(X8MZ!\T+>JH@&$[;D(C+*(TXLRV0E4)_V"VW@
XM@),!1'3)O*&[B$!-"T[)'L T+5T'O75-&-KUNV8!\7I>OX%Z?:_/0+[6$02[
XM#!ALA(VE8H)PN"H,VUPX[,L&L8^$Q!8FT,9BAT1/%?@V-GUU$1X[=O$%8*>$
XMTA](!L"".2;6Q]3PLVUAX!#:VZUH4YR+0K&'23%9VAE[^7%LJ/VQI[;(3@V&
XMR[$$M]'! EK Z @18F4_% $R@([J]MWV 53 K.QM=$2)"LIAL"<!6]N8I#" 
XM DQ P&8!6A \3:3$[1Y8@,*Y-$@@TVR:5>VXX$"-F -;*%R0+#+@!NIOY/DZ
XM%6< @:2B?">&0'X('%4 #DBV.W$57(8;@<Q6(R;$[!X0L%T $A"?-MM.& 5Z
XM/0=X-[)P 12#<J&&R &2YC8W)-X^(*_!@!\@O>UV]$C>2D4'$&_KK4*P-QIP
XMN*QS*063.<"]0\3OQM>M@VH0 3\2!B*;/00,SQ7;W=_O?#_*W<0F58]!"TZ6
XMD:V]9@! I:;L;\LI;*#]M>WW'1#;1[ML*^VBDK:==MF.VB";:D>ZF!"WRX#S
XMGB[EVP?D;3HPN*U(!@_<<*"#%VZL-+Y7QO6FW"KD? ?O[$R\37CW1N$APGM3
XMC<UIP;T;W8;>TIMZ#]H,[KVU]\PFWW_;>X/OQW4=QG<&5^'YFGNL;[;BO@>8
XM7FDVT(=^NYVA?;]=1/X&2?M;7">)0>O#8D#0U&O%20_( 3R0$HQ(V,M]$DM3
XMP<;C8AGA:"AU Q,:7D$$-^ #9-6;L&\D^U4*9AH0C-1/&!_C91PYG''&G/?4
XMN&L#J[63,K)QZ2B'>:D6]^)-&I*_5K]8R-5B; Q\XO&:RI6"%<?URAROX_#J
XM!2KE5[FS^/BU59.$G.^I\:^J0-<X56GC!^]$:G(' <<Q!9>@XW9<E%=H!BF8
XM-5.'2N5I_+V=P\[WK%Y?+"S+!M4:F0:K*Q*]LROL=Z););B(IU)2VDKW62CA
XM<W"&RV)"!81JS$K)ZR<2&P@D80/*C7"(YL]*VX'"E1#M.@L:=!#D#<$$%F<$
XMECE44JHL18=[%1WYB<HWW[-*+%G/%99&B67,G?F6:J^UAIFO 8/NZD  .I_F
XM7$$,6'/ 8L7C@@AM3'')]GCSP7#(6SETE)#A'*&0<W.^%M Y85'G,8:=OR"_
XMDPH?.8-<6YHI$0/S8BXBC_EW3N9]:9FGQ(5>EAOZ0X\\$7VBQY6*+C@=RS;7
XMZ(<4G-<:<;X?1GKO,>ER!:5CW78>Z=XY"HCG9&"><Y-ZOB1.HCRF###""95S
XMI5QT!'-RDY<0,J'O=(8.S<LR1*_FZ(BB9W.CGM&[^<>)E;0SH2IUT\#4MU0Y
XM?^IE^:1+GW7.4[U-+'?D*1*K:_7R;,^]^K4JQ6&=0?KEFC>NZ<C:.CQC-NC9
XM4J(WTY?>W7A]8Z -D.Y7A*7PNFV,@**=3R&)X@0'5I%DJRP"=6VQOP=)TS3[
XM,QWD_MRS:\>JW!1 >VHG[7"T0H3VT=X&3@4YVAB[HHY6:#IRH0]/(/2*:4].
XM^';B#AQH(R*/D[_OM\\;&,':73LEVJ7%31$;)N2.TZ7H)M\!.T!4(H4W@ :R
XM^AS5[I4OVA:/R\+^EO/\A.YZS_B!].G.IZJ[*EP!P[V_"XCC[E'*>RA%[^J]
XMNK1WNAS@7U$,$RD&X5&U@?P2$22\#OO(:V$^^N]!/K"Y2[AP U%#_,J!J$$U
XMH,M-^/ ^@6:DD=? .6B&BJ(-$(YAQ)@Y,-%5P(>(7=:\9Y\$%.\&=H;S"!T?
XM7C23@>J1.K('R8@A)*3%\XX?GT)*1R=!'==#=6@/)&\E-#S*1N7I6F%%J@\?
XMXB<"B4\-)MZA4Y\4[QI@!XO_';*!1L8$'N_C3\CS> O41\@3^2AOY+>'YB@A
XM#^/-_^WID3%:2)&'(>G[D6.YA0L3/KP]&0(HX#'$@3J0THW61%(@#,2!4 5%
XMS^B1@M+2\M$=11H%2I_259'?*)P%'%5SXB^PTJ@&IT<*GOX++.XU% 36E D8
XM SD+FM!WM4O3##UD0/2G?@(+7,H&Z<4(&<GU2BM"+@65S%U@O9K'2F.DTEL/
XM;P$N0+W@$/65LM2GAER?ZE?]C6KUZ"(%O/K)/O?&-5.^M&-6=R?[3O^3OH6U
XM=Q#8ODAM^VD_[E%]N;>4C.$,*!7LG!J J+[(]2-\*>E$8S^?/1O)S@'F*>_&
XM:F2_Z,D]LS_W*"#=:WM^O^G;_;+_%M)%WK<:N*&^W\"]=_CY_C,E:S[!\.&(
XLU?;V/@S<UWN+/T7PO:G?]V9A@YP%V,Z/M!Q4/@GVON1C_)._\55""NCX"@"(
X 
Xend
END_OF_FILE
if test 16203 -ne `wc -c <'p1.Z.uu'`; then
    echo shar: \"'p1.Z.uu'\" unpacked with wrong size!
fi
# end of 'p1.Z.uu'
fi
if test -f 'dos_packet.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'dos_packet.c'\"
else
echo shar: Extracting \"'dos_packet.c'\" \(894 characters\)
sed "s/^X//" >'dos_packet.c' <<'END_OF_FILE'
X/*
X**  dos_packet  -  Send a DOS packet & wait for reply
X*/
X/* Rick Coupland - 10/30/89 */
X
X#include <libraries/dosextens.h>
X#include <exec/memory.h>
X#include <proto/exec.h>
X
X#define MAXARGS 7		/* Maximum number of arguments */
X
Xtypedef struct {
X	struct Message msg;
X	struct DosPacket dp;
X} PKT;
X
Xlong dos_packet(task, type, args)
Xstruct MsgPort *task;
Xint type;
Xlong args;
X{
X	register PKT *pk;
X	struct MsgPort *mp;
X	long rc;
X
X	pk = (PKT *)AllocMem((long)sizeof(PKT), (long)(MEMF_PUBLIC|MEMF_CLEAR));
X	if ( !pk )
X		return -2;
X	mp = &((struct Process *)FindTask(0L))->pr_MsgPort;
X	pk->msg.mn_Node.ln_Name = (char *)(&pk->dp);
X	pk->dp.dp_Link = &pk->msg;
X	pk->dp.dp_Port = mp;
X	pk->dp.dp_Type = type;
X	memcpy((char *)&pk->dp.dp_Arg1, (char *)&args, sizeof(long)*MAXARGS);
X	PutMsg(task, &pk->msg);
X	WaitPort(mp);
X	GetMsg(mp);
X	rc = pk->dp.dp_Res1;
X	FreeMem((char *)pk, sizeof(PKT));
X	return rc;
X}
END_OF_FILE
if test 894 -ne `wc -c <'dos_packet.c'`; then
    echo shar: \"'dos_packet.c'\" unpacked with wrong size!
fi
# end of 'dos_packet.c'
fi
echo shar: End of shell archive.
exit 0
-- 
Rick Coupland	...!{noao!asuvax | mcdphx}!anasaz!rick
(602) 870-3330