Return to BSD News archive
Newsgroups: comp.os.386bsd.apps Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!network.ucsd.edu!news.cerf.net!crash!tcd From: tcd@crash.cts.com (Terry C. Dawson) Subject: flexfax-2.1.0 patches for 386bsd Organization: CTS Network Services (crash, ctsnet), El Cajon, CA Date: 08 May 93 21:22:06 PDT Message-ID: <1993May08.212206.22159@crash> Summary: flexfax patches Keyword: flexfax 386bsd g++-include Lines: 254 A few days ago Amancio Hasty Jr. (hasty@netcom.com) asked if anyone had gotten flexfax (v2.1.0) working. Well, After building gcc-2.3.3, libg++-2.3 and ghostscript-2.5.2 (with flexfax additions) I started on flexfax last Saturday. By Sunday evening it was mostly working, I could send and receive. I still have some occasional error messsages that seem to be path related but they haven't caused a problem. The only major problems pertained to the g++ include files and the install shell script, faxaddmodem. As can be seen from the following patches a few things caused a lot of error messages. Most of the patches in the flexfax tree are a result of my configuration and a some quirks of my ZyXEL modem. I am running 386bsd 0.1 PL 0.2.1 plus patchkit84-110 plus a few odds and ends such as Chris Demetriou's com.c (thanks Chris) with some patches to /sys/kern/tty.c to make RTSCTS flow control work. I followed the flexfax configuration instructions and used GNU make 3.63. Then I just worked the problems as they came up. The diffs to the flexfax tree are gzip'ped (for size) and uuencoded. Onward to NetBSD! Hope this helps someone. Your mileage may vary. ================================= diff to g++-include/signal.h --------------- CUT HERE -------------------- *** signal.h.org Sat May 8 19:15:53 1993 --- signal.h Sat May 8 19:18:49 1993 *************** *** 45,51 **** extern SSignalHandler ssignal _G_ARGS((int sig, SSignalHandler action)); extern int gsignal _G_ARGS((int sig)); extern int kill _G_ARGS((_G_pid_t pid, int sig)); ! extern int killpg _G_ARGS((int, int)); extern int siginterrupt _G_ARGS((int, int)); extern void psignal _G_ARGS((unsigned, const char*)); --- 45,51 ---- extern SSignalHandler ssignal _G_ARGS((int sig, SSignalHandler action)); extern int gsignal _G_ARGS((int sig)); extern int kill _G_ARGS((_G_pid_t pid, int sig)); ! extern int killpg _G_ARGS((pid_t, int)); extern int siginterrupt _G_ARGS((int, int)); extern void psignal _G_ARGS((unsigned, const char*)); --------------- AND HERE -------------------- diff to g++-include/unistd.h --------------- CUT HERE -------------------- *** unistd.h.org Sat May 8 19:18:31 1993 --- unistd.h Sat May 8 19:19:37 1993 *************** *** 65,71 **** #endif extern unsigned alarm _G_ARGS((unsigned)); ! extern int brk _G_ARGS((void*)); extern int chdir _G_ARGS((const char*)); extern int chmod _G_ARGS((const char*, _G_mode_t)); extern int chown (const char*, _G_uid_t, _G_gid_t); --- 65,71 ---- #endif extern unsigned alarm _G_ARGS((unsigned)); ! extern char* brk _G_ARGS((const char*)); extern int chdir _G_ARGS((const char*)); extern int chmod _G_ARGS((const char*, _G_mode_t)); extern int chown (const char*, _G_uid_t, _G_gid_t); *************** *** 73,87 **** extern char* crypt _G_ARGS((const char*, const char*)); extern int dup _G_ARGS((int)); extern int dup2 _G_ARGS((int, int)); ! extern void encrypt _G_ARGS((char*, int)); extern int execl (const char*, const char *, ...); extern int execle (const char*, const char *, ...); extern int execlp (const char*, const char*, ...); ! extern int exect _G_ARGS((const char*, const char**, char**)); ! extern int execv _G_ARGS((const char*, const char * const *)); ! extern int execve _G_ARGS((const char*, const char * const *, const char * const *)); ! extern int execvp _G_ARGS((const char*, const char * const *)); ! extern int fchown (int, _G_uid_t, _G_gid_t); extern _G_pid_t fork _G_ARGS((void)); extern int fsync _G_ARGS((int)); extern int ftruncate _G_ARGS((int, _G_off_t)); --- 73,87 ---- extern char* crypt _G_ARGS((const char*, const char*)); extern int dup _G_ARGS((int)); extern int dup2 _G_ARGS((int, int)); ! extern int encrypt _G_ARGS((char*, int)); extern int execl (const char*, const char *, ...); extern int execle (const char*, const char *, ...); extern int execlp (const char*, const char*, ...); ! extern int exect _G_ARGS((const char*, char * const *, char * const *)); ! extern int execv _G_ARGS((const char*, char * const *)); ! extern int execve _G_ARGS((const char*, char * const *, char * const *)); ! extern int execvp _G_ARGS((const char*, char * const *)); ! extern int fchown (int, int, int); extern _G_pid_t fork _G_ARGS((void)); extern int fsync _G_ARGS((int)); extern int ftruncate _G_ARGS((int, _G_off_t)); *************** *** 88,94 **** extern char* getcwd _G_ARGS((char*, _G_size_t)); extern int getdomainname _G_ARGS((char*, int)); extern int getdtablesize _G_ARGS((void)); ! extern int getgroups _G_ARGS((int, _G_gid_t*)); extern _G_uid_t geteuid _G_ARGS((void)); extern _G_gid_t getegid _G_ARGS((void)); extern _G_gid_t getgid _G_ARGS((void)); --- 88,94 ---- extern char* getcwd _G_ARGS((char*, _G_size_t)); extern int getdomainname _G_ARGS((char*, int)); extern int getdtablesize _G_ARGS((void)); ! extern int getgroups _G_ARGS((int, int*)); extern _G_uid_t geteuid _G_ARGS((void)); extern _G_gid_t getegid _G_ARGS((void)); extern _G_gid_t getgid _G_ARGS((void)); *************** *** 114,120 **** #ifdef __OSF1__ extern char* sbrk _G_ARGS((int)); #else ! extern void* sbrk _G_ARGS((int)); #endif extern int syscall _G_ARGS((int, ...)); extern int setgid (_G_gid_t); --- 114,120 ---- #ifdef __OSF1__ extern char* sbrk _G_ARGS((int)); #else ! extern char* sbrk _G_ARGS((int)); #endif extern int syscall _G_ARGS((int, ...)); extern int setgid (_G_gid_t); *************** *** 123,129 **** extern _G_pid_t setpgrp _G_ARGS((void)); extern _G_pid_t setsid _G_ARGS((void)); #else ! extern _G_pid_t setpgrp _G_ARGS((_G_pid_t, _G_pid_t)); #endif extern int setregid _G_ARGS((int, int)); extern int setreuid _G_ARGS((int, int)); --- 123,129 ---- extern _G_pid_t setpgrp _G_ARGS((void)); extern _G_pid_t setsid _G_ARGS((void)); #else ! extern int setpgrp _G_ARGS((_G_pid_t, _G_pid_t)); #endif extern int setregid _G_ARGS((int, int)); extern int setreuid _G_ARGS((int, int)); *************** *** 137,143 **** extern int ttyslot _G_ARGS((void)); //extern int umask _G_ARGS((int)); /* commented out for now; wrong for SunOs4.1 */ extern int unlink _G_ARGS((const char*)); ! extern _G_pid_t vfork _G_ARGS((void)); extern int vadvise _G_ARGS((int)); extern int vhangup _G_ARGS((void)); extern _G_off_t lseek _G_ARGS((int, long, int)); --- 137,143 ---- extern int ttyslot _G_ARGS((void)); //extern int umask _G_ARGS((int)); /* commented out for now; wrong for SunOs4.1 */ extern int unlink _G_ARGS((const char*)); ! extern int vfork _G_ARGS((void)); extern int vadvise _G_ARGS((int)); extern int vhangup _G_ARGS((void)); extern _G_off_t lseek _G_ARGS((int, long, int)); --------------- AND HERE -------------------- diff to flexfax tree gzipped and uuencoded --------------- CUT HERE -------------------- begin 664 ff.dif.uu M'XL(``)B["L``.T::U?B2/8S_2NN@=.VR!M4Q&'VT`@VIU4<P'GL.$=C4I&L M>3"I1&6Z^[_OO55)>`7LU_3.[BQ'(:FJ>^N^'Y7HIF%`WM/`L-B3H3X5F:\5 M\5?5==O5F5W@XV@J7ZWOWW(]8<6+;#:[`4'JS'6@-?&@?`CE:J.\UZB6\/JP M^B*?SS^//354?3A3IP!U*-<;M5*C5I/@V<6/(*-:R^&TN`5(PRT#[MKX->4^ MLT%G$^;HS-%,QL%T8,P\=@1CU=/!=X'C)H^F/Q:0_MCD8+N!XZNXT#6`CYEE M@894;=&"%UMPT1J]:19O3:=1#+@G+Y!^G/$9]R&O@Q@/M%N`ER_E\@Q]-Z+Q M5"H-P\`!U='!]9$:O@R,,DD$QG$!;%JFAN(]\=3)V-16P/>0J!@\'FG,(4*" MGR6"KV#A,1:BHE:HO1X>YW7FF0],1^G@GVG`KP(!:92K!OQVA#)E#D[1)PV! MHZ)B\J@'CM<>LTSUUF*`S/`'KP8J3OB@J0YXS`\\AX#!0>D3F+`<J6J\RO_Y MJDZOT;6\LUQ-M6B,5GZ1[M-?J/STU]%^^B^N_B3//ZCDZJ7(\^G#GA!#&6\, MDVC:@N%%OW\:,C!Q78L"#='ONQ/2.MZ!&#>=._`]QA"J+44O(`4K*&_#O".H MB<<,\XD`Y5C@J;Z)Y!NFQ7"STW[[[7%O,+\=FLD]1\C+R_8%T`UMI)L>TWS7 MF^)N_<M1L^C;DV(4_C(901^S)P(MV?$C:GH,8A;<P)\$/DD0<;B>+H3?;HV: MBH8Q,Q\H*0(GKT`3)Z9<T%V4]FU@&.@..H*I.A>J?_1,U#F"=UL_-X5<"-1$ M>?NF/R4N20$DHH`S3_B?%'CH?Q\M<(`_7^0/ZKS(<<?_"9DG&7U]/W<8I[N+ M07_4O^P=-X-`FPA<!(?4N]OH8R9NR&@$#->C+256P$AIQ)#5"$P&10)"3XZF MD1/&G6V?-,U]!#T9]"\OFD)+=YX;3`CXD2(ML7WGBIW$!"!/'D9BRIJ$[`3W M<F(RY1))Y]VS=!)LN;1(Z-T<H2<KA*(E=@8_=@:Q/U+80_#8#D*B<9\'#("@ MXC7%=%\H]X?+WJBY&.?)D'\/3!]Q:+9(*#[S;--!B!")C()IX2A22:&C_)<I M23=5BWG_&2U)<<L4]0U4E>1?>X?[N?U2[&$]!X$=$714ZT)$HZ92*I<5G!L* M9"-/U=#MFTHXQCFNG0WBZ!8,F/;0Q=!RA@$%P?=+)5H[P!7\-4-QLI;#'YDG M<*!0)DR]9]Z/KA78N-PU#%I]PGQ_VO+N>%.AVV-4$\)')-'0#P$.&=/1L$?W M9(<1,Z$E_CG,U&J?P(S-=#.P/X>?Q&!8JN?JY;WY&B`-JD91.HS$%$_]Z82) MV(HA5F</IL:P=*1Y-%.]$,&%OYJ*MIL9C7X!4=S1!^&R._3-7</75`_R4['B MZ"A<H`7JT@(G6A#F2:YJ<984`2(D?"Z7?F7"TS/*-=?&[.E[K@5%1%,4BVY- M=##!07K&0N+*?+0T@9=$I50/<O5:-6[)A"$Y^L@E@[%?[>#]NU!P0^*,0@8% M#8]QY@N^9=Y]-78GS`@L:[H3L^A/3+UYD\'L"]]E?"01OL]@/G\)3!N[D-FZ M$:G85ST?+(PPS"%I4;R223S$([;%>J/3.8:\@,R;FN=8^/.$Q05]4Y-L<O,. M-!%7CH!;C$U$K4.?B6<ZO@'*E=<:_5#ZL=PI7WD*TD(DQ6N/D!:L7JG(%9M0 M!8!,!I8O.@TN+2&45M35K)%6^O_B2C:VO5*NOK<?&5L*'8.\3REF)JI??.<< M\2)D,\7BT>3H]Z,/"KP'6K'-B[O=0K99+&[?(-0'X98PZ`PO3[&L4\C4L0)$ M0K"C^0.4C)Q1J*71W26_2\-(9#I7=IVDD%M5NZ?<216?0(.)T\=$YKM2Y8+F MT/F3F#HL57*'I0/)%$$<ELIB(#0281HC#`Y(*YRI3F"H&K9,%',5,6G)`(I_ M0I)XLQMSUW^K1-W:C+$FT/A*RW;JNO<<3>.>@0IM2^4<RH#F49$VEX,[-$$; M0SYRCF9CB]0R'X^4&VEIN,]%_WS8">6?9Z2"7U_M_%8LWFW?*!2R$@511KXK MI3E!B(%*)`C2^)RW@-(:[7;;IZWAL%E1Y-U9=_`/8CBU(*>8(!3,D@3_.?VY M<RH@I.PD9GMN#;4"5TIF'NQ**2@?2<_Q:4B/T-,B(5)U?TR?F)4OUP[WV2H= MM"0B@*[#G5-Q?"Z_+^7$?RZ[\T)?<]JGKSF%TX78EQ>OGN=5#I\[S].73O$J MY4;U</TI7N4`"Y7YE)%.B5915"40)B798_:&U_US6=UJXWO9%U(!L=AZ(S2N MQ3+U.&X`)(,"!YJ_./#8@OP39`1&"&U?9B:YB>\%U&;*7"><)ER+1-VZ:-\+ M,)WVFWZ3E$5^9W%&P;6+WJ("EJ/H*"+08D%-@8V/`U]W'Q=`&W%:C;)YF1P# MT%<(<GL'%Z=F-)!\7KX,S^V0"^(UIB=%6#.$%I1N+$C>N-*$M0@'U2�HMN M*>P;IN%2$.OVNOU"-IH1(2^5$B[?O&%/:`B9=[3T`S1@NY"]*ER]PN\=$4M3 MJ4BV>0]FS7PA\T[`?YA1.$\B9,1L2)V<(7X@;\M*)(PC,M6]QV@*UU"\@9=B MN1!:2*K#HNL0M70/N40X"4K3G:`PR7;)[&KSN7>]V:4_T_#BGF;._-+/&^"B M!:8_U@:_Q`@_S0H_T>[^XH;W&9:WB\M)PN(B%>([=\.3*GF49%`1L*5\E)7N MRO(ZPBBC/N)C3TP+?%$7D6WJ*K/I!&R&.<&VDT+L_E[N(`ZQJ8@&`9852I4[ M!ER]8PUYC&LZIE_09<)X)]3_GC;X,,LXHAL@3]H_S!W$GO0L]N<PKN0M`BBB M0<DVM:#M[B[GG=45"[EL=7HYJ^TW*GMKLUH">-<S!7BU!)C<Z.]@0WZKY"IS M!1W=UN/N+PNGO=;KWFEO]$L.6H/>L'=^0L>4T.]"?P"]<VCWS\\[[5$/W?ZG MWN@-C-YTX!++*9R]Z`RZ_<%9Z[S=`8D,H49O>D,8]KNCGUJ#CN@4LT6TJK3I M:%:@,_@N<+#>UPOC[Z&8';6/<1;F9EUN:`Y.+@QJU(XN#XJC%9?3<++.1)N_ M5E_Q[*JNXJE/U],,=%%'Y8/&7GW#D\1*KCJG([J-=33C&/N*,5\6`Y_RXD3U M5#MI`LW<I_'=I?$D'0A@0V<&7%^?G%^VKZ_))9[HW`:4MH*]X`8QOQX>;Y9T MN&"-L,/9!'GO?X2\(^A%D5?+&Q_>5NJY:G7.+?"V-G.+!:-4XEW&HM1>*\U% M^?LZ"G.#U2::?=^QII2.$IAM8$U[S^2SQC6ZH"</IZYVOU87\PM6=3$_FZ"+ M^F9=+$`OF7\U?@[_^>;//,]Q5^1IVBN18?*H+QM]<M`1UDZ/`)<M?=F/['O, MQXF1QF.6XV+NQ[JL4M!L>UDRR_,+0E^>7.UVRK6U,E\!'HT#V?7L0X5>7-C8 M]5!*+D<IN3#A<$B_#]AET\E)832DY_+J[:O&#F5&Z_%5I7"P9^XT\*I<P(NU M@[UXU`E'"S)+BPU#I6[<L/#E&ZZJ*;`87Y$@#2XJA$96M5"JK->"@)BW]FJ# M_C9$GG*]G"O7:PLM)_1"<Q.G:NCFLW<*IN&C08,>4HNG%[SP0KXIP",CS;P[ M>WO<N>CV3CL?!)71'O/]Q>?MD;C%BGP#W[2BLG?E+9Z%R05Y+\RLRKVVWOH7 M(9?DC[%J0[0Y.,S5XX/[-(8`TV$I++RO!Z-A^^PXI="3',_G2JJ8I7-IFQH6 MWXU>#@@<.OTD>?$P3\RA&`U:YS,DOJ<Z7//,B:\DHIK-KV(Z[X]ZW5]B5.CJ MIC%=)FGBN1KC'%LLCVF,WH@0A3HBVUI`=M;JG0I4XBF5K9K6`B;J@VB0SF#E M1F#SNP3VJ&.8X:&Z6N`)7X,1=7:$<P5V>#F#Y(&@,Z\MR04)T62O$3^9GL=# MO>UU:Q0+A0>WMNE75']9+G0X^"_W%K&`X;DVJ$+`XD4"H?S(+?YFR@_?)OK; M&D!RV-*995)GM?KZX=+T:NB:S24$K_7ETC(LG5<2+&6-`RJU]C:$K\I>KEJ> MO77X]?JW=&+[EA;/RL^/R8K"8R7SML@Q;Y#!R&,A<?:124/>\J&"0W,G^;+W MOI2]=\BR3#;T#+\LOBM0*!3D8V/)7/R>W;=GC@NS"KF#K\E>LO%);UMG>_'L MJNG%4Y]N>3/0E;RYJ4HGW52^L>$EO-3U"?:XU13/`=?I*XQTI*Z9]56^L?4E 2OK;VC%G"Y[/Y;^,:=,B%+0`` ` end --------------- AND HERE -------------------- === Terry Dawson tcd@crash.cts.com Home: (619)586-7105