newton@gumby.cs.caltech.edu (Mike Newton) (11/19/90)
This may be a general SysV / BSD question, but for now i'll try just asking this list. On DG/UX 4.30 i would like to [1] have two open file descriptors (numbers unimportant): #1 : opens (for writing) the ttypN side of a pty/tty pair #2 : opens (for reading) /dev/tty01 [2] i do not want _any_ character interpretation on either line. (ie: 'raw' mode is great, but 'cbreak' with all special processing characters turned off is also ok. equiv is true of ATT mode). [3] i dont care if i have to use SysV semanics or BSD, though i prefer BSD. Now comes the hard part: [4] when (system) buffers fill up i want the IO to stop. ie: if what is on 'tty01' is sending characters too fast, i'd like the terminal driver to de-assert (turn off) RTS until there is buffer space. i dont want ^g (bells) as one normally gets in BSD cooked mode. Additionally, i'd like something similar for the pty pair. Is this possible? I've tried many ways, all w/o luck. I know that I can peek at the number of chars that the system thinks is in the buffer, but at 19200, i'd rather not do the extra context switching. Many thanks, - mike (newton@gumby.cs.caltech.edu) ps: has anyone actually played with the modem signal lines as defined in the DG/UX /usr/include/sys/_int_bsd_tty_ioctl.h ? (ex: TIOCCBRK (clear break cond.), TIOCM_LE (line enabled) TIOCM_DTR (data terminal ready), TIOCM_RTS (request to send)...??) If so, how'd you do it???? ps: i've (w/ help from a friend) written a replacement for 'cu' on DG/UX. It runs a little faster/more reliably, and can actually send (ok: fake) breaks (the DG version doesnt seem to do this!). But even with all this I need to have hardware flow control in order to hope to run at 19200.