TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Simeon Cran
from: Peter Fitzsimmons
date: 1995-11-13 01:29:28
subject: I wonder how PMLM works?

SC> But it got me wondering how it's done. At first I 
 SC> thought it was a simple matter of opening the com port 
 SC> as READONLY and DENYNONE, and this works reasonably

This works,  but is not safe...even calling certain ioctls clears flags
that the 'real' comm program needs;  and,  of course,  calling DosRead is
completely out of the question.  This is why,  in my serial communications
course,  I teach that an OS/2 serial port should always be opened in deny
read-write mode.

 SC> But then, when I started up Faxworks, Faxworks (which uses its own comms 
 SC> driver) was denied access to the port because I still

That is because Faxworks is opening it in deny read-write -- and since a
read handle already exists,  the deny read-write request can not be
satisfied,  so DosOpen fails ---  just as it should for an inherently
single-use device like a serial port.

 SC> had an open file handle on the port. Makes sense, 
 SC> except that somehow PMLM manages to simply step aside 
 SC> when Faxworks is running. It doesn't report any 
 SC> activity, but it also doesn't interfere.

 SC> Anyone got any ideas about how PMLM does it?

I do not know how it actually does it,  but I can guess:  The device driver
presents a special device name (for example, LM$) that the monitor program
opens.  This back door gives the monitor program access to internal DD data
structures.


--- Maximus/2 3.00
* Origin: Sol 3 * Toronto * V.32 * (905)858-8488 (1:259/414)
SEEN-BY: 270/101 620/243 711/401 409 410 413 430 807 808 809 934 955 712/407
SEEN-BY: 712/515 517 628 713/888 800/1 7877/2809
@PATH: 259/414 400 99 250/99 3615/50 396/1 270/101 712/515 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.