RE: Serial custom speed deprecated?
From: David Woodhouse <dwmw2@infradead.org>
Date: 2006-08-24 13:03:35
Also in:
lkml
On Thu, 2006-08-24 at 14:19 +0100, Alan Cox wrote:
Actually to do this right we have to make a decision or two The POSIX way of handling this requires the speeds are in the termios structure "somewhere". We can't easily implement cfgetispeed/cfgetospeed unless we grow the termios structure in the kernel and issue 3 new ioctls (keeping the others as trivial translations) and then bumping glibc and the kernel to do the right thing. The alternative is that we provide an extra pair of speed ioctls and glibc does the magic to hide this lot while providing a termios with the new fields itself. Whichever way we go glibc already has the fields present and the libc<->application API appears to be unchanged by this. I'd rather we went the way of extending our termios to include c_ispeed, c_ospeed values. The code isn't hard for the remapping of the old ones and it avoids extra ioctls and the corner case races between two speed sets that occur if they are two ioctls.
Agreed. Some architectures have c_[io]speed in their struct termios already, in fact, but others would need new ioctls for it. -- dwmw2