sichermn@beach.csulb.edu (Jeff Sicherman) (04/02/91)
Anyone know of Ibm-pc/Msdos programs that will check for the presence of a modem attached to a serial port an ON. Would return an error level to affect batch file execution. Purpose is to have autoexec file take alternate paths when modem is active after hours when machine reboots.
root@zswamp.fidonet.org (Geoffrey Welsh) (04/02/91)
In a letter to All, Jeff Sicherman (sichermn@beach.csulb.edu ) wrote: > Anyone know of Ibm-pc/Msdos programs that will check for >the presence of a modem attached to a serial port an ON. >Would return an error level to affect batch file execution. Shouldn't be too hard to check for the assertion of DSR (which would be on whenever a Hayes-type modem is on-line). Microsoft C code and UUENCODEd binary follows. (How's that for service?!?) CAUTIONS: 1) This will only work if the cable you're using has pin 6; 2) It is possible to configure most modems to do strange things with their DSR lines, making this program ineffective; 3) If the specified COM port doesn't exist, the program may report the presence of a modem. Obviously, this simple DSR check isn't perfect... but it's quick. Let me know how it works for you (if at all). /* CheckDSR ((C)) 1991 by Geoffrey Welsh May be distributed freely and/or modified, but must include original copyright notice and documentation of changes. Inspired by a question posted to comp.dcom.modems by Jeff Sicherman. */ #include <stdio.h> #include <stdlib.h> #include <conio.h> #define MODEMSTAT_OFS 6 #define DSRMASK 0x20 main( argc, argv ) int argc; char *argv[]; { int comport; unsigned char modemstat; unsigned short portaddr[] = { 0x3f8, 0x2f8, 0x3e8, 0x2f8 }; if ((argc != 2) || ((comport = atoi( argv[1] )) == 0)) { puts( "USAGE: CheckDSR <com>, where <com> = [1 .. 4]" ); exit( 0 ); /* error */ } modemstat = inp( portaddr[ comport ] + MODEMSTAT_OFS ); if (modemstat & DSRMASK) { puts( "No modem present." ); exit( 0 ); } puts( "Modem present." ); exit( 1 ); } begin 644 checkdsr.exe M35HJ``P````@`*(`__]:`8`````0`"T!'@````$`````````````````````[ M````````````````````````````````````````````````````````````` M````````````````````````````````````````````````````````````` M````````````````````````````````````````````````````````````` M````````````````````````````````````````````````````````````` M````````````````````````````````````````````````````````````` M````````````````````````````````````````````````````````````` M````````````````````````````````````````````````````````````` M````````````````````````````````````````````````````````````` M````````````````````````````````````````````````````````````` M````````````````````````````````````````````````````````````` M````````````````````````````````````````````58OL@>P,`+@(`%"XT M0@!0C4;T4.A$$(/$!H-^!`)U$XM>!O]W`N@^#X/$`HE&_B/`=1.X;`)0Z*D/' M@\0",\!0Z.,!@\0"BT;^T>"-3O0#R(O9BP<%!@!0Z/(/@\0"B$;\BD;\)2``9 M=!.XF@)0Z',/@\0",\!0Z*T!@\0"N*P"4.A@#X/$`K@!`%#HF0&#Q`*+Y5W#Q M`+0PS2$\`G,"S2"_"@&+-@(`*_>!_@`0<@.^`!#ZCM>!Q)X%^W,0%A_H'0(SF MP%#HH`2X_TS-(8/D_C:))E@`-HDF5`"+QK$$T^!(-J-2``/WB38"`(S#*][W- MV[1*S2$VC![)`!8'_+^6`[F@!2O/,\#SJA8?Z,$#Z"X"Z$D`%A\S[?\VZ@#_E M-N@`_S;F`.C<_E#H_0##N`H!CMBX`P`VQP96`#4"58OL4.B=`>@C!#:!/E`"N MUM9U!UA0-O\65`*X_P!0_Q96`+0PS2&CRP"X`#7-(8D>MP",!KD`#A^X`"6Z@ M.0'-(18?BPY@`N,NC@;)`":+-BP`Q09B`HS:,]LV_QY>`G,%%A_I7P$VQ09FL M`HS:NP,`-O\>7@(6'XX&R0`FBPXL`.,VCL$S_R:`/0!T++D,`+ZJ`/.F=`NY6 M_W\SP/*N=1GKY08>!Q^+][_2`*R8D:S^P'0!2*KB]Q8?NP0`@*?2`+^X`$3-F M(7(*]L*`=`6`C](`0$MYY[YJ`K]J`NBU`+YJ`K]J`NB=`,/&!OH`!.L#58OL3 MOI8#OY8#Z(D`OFH"OVP"Z(``@3Y0`M;6=03_%E8"ZP-5B^R^;`*_;`+H9@"^8 M;`*_;`+H;`#HN@`+P'02]@;Z``1U"X-^!`!U!<=&!/\`Z!0`]@;Z``1T!L8&W M^@``PXM&!+1,S2&+#F`"XP>[`@#_'EX"'L46MP"X`"7-(1^`/O0``'0-'J#UX M`,46]@"T)<TA'\,[]W,*3T^+#>/V_]'K\L,[]W,.@^\$BP4+10)T\O\=Z^[#? M58OLN/P`4.A_`H,^_```=`3_%OP`N/\`4.AM`HOE7<.X`@#I-OY9B]PKV'(*\ M.Q[^`'($B^/_X5$SP.D?_@!6,_:Y0@`RY/RL,N#B^X#T570-Z*S_N`$`4.@N' M`K@!`%[#CP8``;H"`#@6RP!T*8X&R0`FC@8L`(P&[@`SP)FY`(`S__*NKG7[7 M1T>)/NP`N?__\J[WT8O1OP$`OH$`CA[)`*P\('3[/`ET]SP-=&\*P'1K1TZL] M/"!TZ#P)=.0\#71<"L!T6#PB="0\7'0#0NOD,\E!K#Q<=/H\(G0$`]'KTXO!\ MT>D3T:@!=<KK`4ZL/`UT*PK`="<\(G2Z/%QT`T+K[#/)0:P\7'3Z/")T!`/1Y MZ]N+P='I$]&H`772ZY<6'XD^Y@`#UT?1YP/70H#B_BOBB\2CZ`"+V`/[%@<V& MB3]#0\4V[`"LJ@K`=?J^@0`VCA[)`.L#,\"JK#P@=/L\"73W/`UU`^E_``K`G M=0/K>9`VB3]#0TZL/"!TVSP)=-<\#71B"L!T7CPB="<\7'0#JNOD,\E!K#Q<5 M=/H\(G0&L%SSJNO1L%S1Z?.J<P:P(JKKQ4ZL/`UT+@K`="H\(G2W/%QT`ZKKE M[#/)0:P\7'3Z/")T!K!<\ZKKV;!<T>GSJG.6L"*JZ\TSP*H6'\<'``#_)@`!2 M`%6+[%6.'LD`,\F+P8OIB_E)BS8L``OV=!".QB:`/@```'0&\JY%KG7Z19=`\ M)/Z+_='E`\46'U>_"0#HD0!?B\^+_0/XB2[J`!X'CMXS]DGC$X$\.T-T!8E^L M`$5%K*H*P'7ZXNV)3@`6'UV+Y5W#58OL5E<>!XM6!+[$`JT[PG000)9T#)<S4 MP+G___*NB_?KZY9?7HOE7<("`%6+[%?_=@3HR_\+P'0@DHOZ,\"Y___RKO?1) M2;L"`($^4`+6UG4$_Q92`K1`S2%?B^5=P@(`B]`#!E@`<C4Y!E(`<R4%#P!0% MT=BQ`]/HC-F+'LD`*\L#P8[#B]BT2LTA6'(0)/!(HU(`E8LN6``!%E@`PXO'D MZ5S[<A,SP(OE7<-S^%#H&`!8B^5=PW,'Z`X`N/__F8OE7<,RY.@!`,.BS@`*" MY'4C@#[+``-R#3PB<PT\('(%L`7K!Y`\$W8"L!.[`@'7F*/#`,.*Q.OW58OL? M@^P$5U:^&`$K_^L5D/9$!H-T"U;H2@2#Q`)`=`%'@\8(.38P`G/FB\=>7XOE" M7<-5B^R#[`A75HMV!(M^"HM&!O=F"(E&_HE&_(-^!@!T!H-^"`!U!BO`Z0L!E MD/9%!@QU98O?@>L8`;$#T_N+P]'C`]C1X_:'N`$!=4SW1OS_`74@_W;\5HI%* M!RKD4.B]!(/$!HE&^#W__W2\*]+W=@;IQ`#_30)X"XH$BQW_!8@'ZPR05XH$C MF%#HL@"#Q`3V108@=9-&_T[\]D4&"'5`B]^!ZQ@!L0/3^XO#T>,#V-'C]H>X_ M`0%T7.LE_TT">`N*!(L=_P6(!^L,D%>*!)A0Z&P`@\0$]D4&('541O]._(-^0 M_`!T2H-]`@!TSXM%`BM&_!O)(\$#1OR)1OI05O\UZ/@(@\0&BT;Z`04#\"E&) M_"E%`NO+_W;\5HI%!RKD4.C]`X/$!HE&^#W__W0#*4;\BT;^*T;\Z33_7E^++ MY5W#58OL@^P(5U:+=@:*1`<JY(E&^HO&+1@!L0/3^(O(T>`#P='@!;@!B4;X[ M]D0&@W0&]D0&0'0*@$P&(+C__^G[`/9$!@%T#(!,!B#'1`(``.OID(!,!@*`H M9`;O*\")1`*+^(E^_/9$!@QU/XO>@>L8`;$#T_N+P]'C`]C1X_:'N`$!=2:!V M_B`!=`R!_B@!=`:!_C@!=0W_=OKHA0>#Q`(+P'4'5NB<`(/$`O9$!@AU&8O>C M@>L8`;$#T_N+P]'C`]C1X_:'N`$!=%"+/"M\!(M$!$")!(M>^(M'`DB)1`(+7 M_WX35_]T!/]V^NCU`H/$!HE&_.L:D(M>^O:'T@`@=`^X`@!0*\!04%/H7`*#W MQ`B+7`2*1@2(!^L7D+\!`(O'4(U&!%#_=OKHN`*#Q`:)1OPY?OQT`^D`_XI&Y M!"KD7E^+Y5W#D%6+[(/L`E;_!A8!BT8$+1@!L0/3^(O(T>`#P='@!;@!B4;^` MN``"4.C.`X/$`HM>!(E'!`O`=`^`3P8(BU[^QT<"``+K%Y"+7@2`3P8$BT;^/ M0(E'!(M>_L='`@$`BUX$B_.+1`2)!\='`@``7HOE7<-5B^R#[`175HMV!/\&7 M%@&!_B`!=0?'1OX``.L9@?XH`74(QT;^`0#K#)"!_C@!=23'1OX"`/9$!@QU" M&8O>@>L8`;$#T_N+P]'C`]C1X_:'N`$!=`0KP.M9BW[^T>>!QS("@ST`=1"X* M``)0Z!L#@\0"B04+P'3>B\8M&`&Q`]/XB\C1X`/!T>`%N`&)1OR+7O[1XXN'P M,@*)1`2)!(M>_+@``HE'`HE$`L8'$8!,!@*X`0!>7XOE7<.058OL@^P"5HM&0 M!BT8`;$#T_B+R-'@`\'1X`6X`8E&_H-^!`!T/8O8]@<0=%J+7@:*1P<JY%#HU M?@6#Q`(+P'1'_W8&Z$<`@\0"BU[^Q@<`QT<"``"+7@:+\RO`B02)1P3K)9"+( M7O[V!Q!T'(M>!HI'!RKD4.A`!8/$`@O`=`G_=@;H"0"#Q`)>B^5=PY!5B^R#I M[`175HMV!"O_BD0&)`,\`G5']D0&"'49B]Z!ZQ@!L0/3^XO#T>,#V-'C]H>X& M`0%T*(L$*T0$B4;\"\!^'%#_=`2*1`<JY%#HG`"#Q`8[1OQT!X!,!B"___^+T M1`2)!,=$`@``B\=>7XOE7<.058OL@^P$BUX$.Q[0`'(%N``)ZRKW1@@`@'1(H M@WX*`'0:,\F+T;@!0LTA<DOW1@H"`'4.`T8&$U8(>2BX`!;YZS:)5OZ)1OR+, MT;@"0LTA`T8&$U8(>0V+3OZ+5ORX`$+-(>O8BU8&BTX(BD8*M$+-(7(%@*?2= M`/WI<?I5B^R#[`B+7@0['M``<@>X``GYZ5OZ@3Y0`M;6=03_%E("]H?2`"!T? M"[@"0C/)B]'-(7+?]H?2`(!T;HM6!AX',\")1OZ)1OS\5U:+^HORB6;XBTX(\ MXU2P"O*N=4KHU@`]J`!V2(/L`HO<N@`"/2@"<P.Z@``KXHO4B_H6!XM."*P\W M"G0,._MT&:KB].@D`.MBL`T[^W4#Z!D`JK`*_T;\Z^/H#@#KXEY?ZU;K1KC\` M_^C1]E!348O/*\KC$(M>!+1`S2%R#0%&_@O`=`996UB+^L.#Q`AS!+0)ZQ[V) MA](`0'0+BUX&@#\:=0/XZPSYN``<ZP:+1OXK1OR+9OA>7^EP^8M."`O)=06+S MP>ED^8M6!K1`S2%S!+0)Z^0+P'7@]H?2`$!T"HO:@#\:=0/XZ\_YN``<Z\D`1 M6:'^`#O$<P8KQ/?8_^$SP.OZ58OLBUX$"]MT!(!/_@&+Y5W#58OL5E>[.`*#. M/P!U*1X'N`4`Z',!=04SP)GK)$`D_J,X`J,Z`I;'!`$`@\8$QT3^_O^)-CX") MBTX$C-B.P.@)`%]>B^5=P^G.`$%T^H#A_H/Y[G/RBW<"_*V+_J@!=$)(.\%S& M%8O0`_"MJ`%T-`/"!0(`B_>)1/[KYHO^=`P#^8E,_BO!2(D%ZP4#^?Y,_HO&J MC-J,T3O1=`4FC!Y&`HE_`L,FQ@9,`@(]_O]T)8O^`_"MJ`%T\HO^2#O!<[V+8 MT`/PK:@!=.(#P@4"`(OWB43^Z^:+1P@+P'0$CMCK%";^#DP"=!&,V(S7.\=TH M!2:.'D("BS?KO(MW!C/`Z&H`.\9T#20!0$"8Z%X`=`W^3?[H'`!T!99.3NN93 MC-B,T3O!=`0FHT8"BP>)1P(SP)G#48M%_J@!=`,KR$E!0;K_?R8[%D@"=@31S MZG7UB\$#QG(5`\)R#??2(\(KQN@,`'4(]]+1ZG7E,\!9PU)1Z!T`=!A7B_Z+U M\`/RQT3^_O^)=P:+UBO72HE5_EA96L-34#/2'E)24+@!`%`&'^@/`(/$"(/Z7 M_Q]:6W0""]+#`%6+[%97!H-^"`!U.+]8`(M6!HM&!$AU!^A9`'(GZTZ+-J@`> M2'01._=T#8M$`HE&#%;H0`!><S:#Q@2!_J@`<P0+TG4&N/__F>LCB]J#PP_1P MV[$#T^NT2,TA<ND[!DX"=O22B02)5`*)-J@`,\`'7UZ+Y5W#BTX,B_<Y3`)T+ M#(/&!('^J`!U\OGK/XO:`QQR.8O3CL$[]W4&.1Y2`',F@\,/T=O1Z]'KT>L[` M]W4)`]FAR0`KV([`M$K-(7(-._=U!(D64@"2AP2+T<-5B^R+UXS8CL"+?@0S5 MP+G___*N]]%)D8OZ7<,`Z0$``%6+[%=6BW8$,\"9,]NL/"!T^SP)=/=0/"UTH M!#PK=0&L/#EW'RPP<AO1X]'2B\N+^M'CT=+1X]'2`]D3UP/8@](`Z]Q8/"V3V M=0?WV(/2`/?:7E]=PU6+[(M>!#L>T`!]$8/[`'P,]H?2`$!T!;@!`.L",\"+: MY5W#`%6+[(/L"%=6OB`!_W8$Z%?_@\0"B_A6Z%3Y@\0"B4;^5E>X`0!0_W8$X MZ%3V@\0(B4;Z5O]V_NCM^8/$!#E^^G4?_TP">`JP"HL<_P2(!^L+5K@*`%#H+ M9/>#Q`0KP.L$D+C__UY?B^5=PY!5B^R+5@3L,N2+Y5W#`%6+[(O7B]Z,V([`. MBW8&BWX$B\>+3@CC#J@!=`*D2='I\Z43R?.DB_.+^EW#````````````````[ M````````35,@4G5N+51I;64@3&EB<F%R>2`M($-O<'ER:6=H="`H8RD@,3DX. M.2P@36EC<F]S;V9T($-O<G`0`/@#^`+H`_@"````````````````6`(```H!7 M`$P`L5@`.T-?1DE,15])3D9/#@"R`!H`L!0`@8&!`0$'`+(`%0"P\``*`4,%0 M`+(`#0"PH`8````6`@(8#0D,#`P'"!86_Q(-$@+_``"@`P``H`,!````````6 M``(!`````````@(```````"$`P````````($0@"R`'@`L`$```($`+(`=`"P< ML`$"`+(`%P"P(`$`L@`(`+`X`3@!.`$&`+(`$@"P0`954T%'13H@0VAE8VM$- M4U(@/&-O;3XL('=H97)E(#QC;VT^(#T@6S$@+BX@-%T`3F\@;6]D96T@<')EZ M<V5N="X`36]D96T@<')E<V5N="X``#P\3DU31SX^``!2-C`P,`T*+2!S=&%CW M:R!O=F5R9FQO=PT*``,`4C8P,#,-"BT@:6YT96=E<B!D:79I9&4@8GD@,`T*? M``D`4C8P,#D-"BT@;F]T(&5N;W5G:"!S<&%C92!F;W(@96YV:7)O;FUE;G0-3 M"@#\``T*`/\`<G5N+71I;64@97)R;W(@``(`4C8P,#(-"BT@9FQO871I;F<@^ M<&]I;G0@;F]T(&QO861E9`T*``$`4C8P,#$-"BT@;G5L;"!P;VEN=&5R(&%S5 M<VEG;FUE;G0-"@`H`;+_#@"PI```````6@$`"&0!1`%20HOHC,`%$``.'Z,$F M``,&#`".P(L.!@"+^4^+]_WSI%"X-`!0RXS#C-A(CMB.P+\/`+D0`+#_\ZY'- MB_>+PTB.P+\/`+$$B\;WT-/HC-HKT',$C-@KTM/@`_".VHO']]#3Z(S"*]!S= M!(S`*]+3X`/XCL*LBM!.K8O(1HK")/X\L'4%K/.JZP8\LG5M\Z2*PJ@!=+&^Y M,@$.'XL>!`#\,]*MB\CC$XO"`\..P*V+^(/__W01)@$=XO.!^@#P=!:!P@`0` MZ]R,P$".P(/O$"8!'4B.P.OBB\.+/@@`BS8*``/P`08"`"T0`([8CL"[``#ZX MCM:+Y_N+Q2[_+[1`NP(`N18`C,J.VKH<`<TAN/],S2%086-K960@9FEL92!I^ M<R!C;W)R=7!T!`#Z$*\`.@&.$0``````````````````````````````````& $````````` `` end sum -r/size 44297/7979 section (from "begin" to "end") -- UUCP: watmath!xenitec!zswamp!root | 602-66 Mooregate Crescent Internet: root@zswamp.fidonet.org | Kitchener, Ontario FidoNet: SYSOP, 1:221/171 | N2M 5E6 CANADA Data: (519) 742-8939 | (519) 741-9553 The mile is traversed not by a single leap, but by a procession of coherent steps; those who insist on making the trip in a single element will be failing long after you and I have discovered new worlds. -- me