[comp.lang.c] Serial I/O Device Driver

jdobbs@mwunix.mitre.org (John Dobbs) (10/16/90)

I am looking for some advice concerning DOS device drivers.  I have written 
a serial i/o port driver (AUX) in assembly language.  It is installed by 
DEVICE = xxx.sys and handles the RS-232 port on an interrupt basis.  I can 
successfully access the driver directly from C language routines as in 
    fgets( string, MAX_CHARS, stdaux) 
      or
    fputs( string, stdaux ).

The problem I have is in redirecting stdin to aux as in 
    c:> someprog < aux
By monitoring what the driver is receiving versus what DOS is giving to
someprog, it looks as though there is double buffering or non-recognition 
of end of line in that the characters received are out of sync.  The 
documentation I have described the template of a device driver but not the 
buffering that might be done by DOS.  Can someone give me a hint of what 
might be happening?  

Thanks,
John
jdobbs@mwunix.mitre.org