Subject: Re: Faster serial ports.
To: None <Ian.Dall@dsto.defence.gov.au>
From: Charles M. Hannum <email@example.com>
Date: 01/26/1999 22:59:07
Adding a multibyte version of l_rint is certainly a good idea; it's
been on my List for a while now. Please, feel free...
As for the output side, a few things:
* You can already get multiple characters using q_to_b(). Or, for a
slightly different method that avoids copying the data (and thus
creating an extra buffer), see dev/ic/com.c and dev/ic/z8530tty.c;
they use c_cf, ndqb() and ndflush() to do what you want. Note that
you can't actually remove the bytes from the buffer until they're
sent (as you seem to have suggested), because they would get
overwritten when the ring wraps around. There are also some tricky
conditions with flow control.
* The quoting stuff never actually gets used on output, because t_outq
is always created without a buffer for the quote bits.
So, I believe the output side of this problem is already solved --
though certainly there are drivers which don't yet DTRT.