bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: term & user space console


From: Marcus Brinkmann
Subject: Re: term & user space console
Date: Fri, 1 Feb 2002 14:54:43 +0100
User-agent: Mutt/1.3.27i

On Wed, Dec 19, 2001 at 06:35:34PM -0500, Roland McGrath wrote:
> For set_bits, I think you can do:
> 
>       tioctl_tiocgeta (underlying, &ttystat);
>       if (termstate.__ispeed)
>         ttystat.__ispeed = termstate.__ispeed;
>       if (termstate.__ospeed)
>         ttystat.__ospeed = termstate.__ospeed;
>       cfmakeraw (&ttystat);
>       ttystat.c_cflag = termstate.c_cflag &~ HUPCL;
>       tioctl_tiocseta (underlying, &ttystat);
>       
> Of course, check for errors and if you get EOPNOTSUPP or MIG_BAD_ID
> from tiocgeta, then don't try the set calls.

Well, ok, I did that (of course, tioctl_tiocgeta takes the arguments a bit
differently, but that's easy), although I don't know why you set raw mode
explicitely.  I will leave everything what is questionable to you for
someone else.  Just two issues:  What about CSTOP and/or CSIZE, do I handle
it the way it is done for Mach devices?  And do I update the termstate to
match reality, eg do I go back and do a tiocgeta and (re)set the speeds?

I am prety ignorant to the details of all those control bits, if it is not
easy to give a definite answer to this I will just leave it out for now as
they are not required by anything I want to do with the code anyway.

The last piece of unconsidered code is this snipped from devio that is
run after the device is opened.  Do we have to do anything like that, too?

      device_get_status (phys_device, TTY_STATUS,
                         (dev_status_t)&ttystat, &count);
      ttystat.tt_breakc = 0;
      ttystat.tt_flags = TF_ANYP | TF_LITOUT | TF_NOHANG | TF_HUPCLS;
      device_set_status (phys_device, TTY_STATUS,
                         (dev_status_t)&ttystat, TTY_STATUS_COUNT);

Seems this saga is slowly coming to an (intermediate) end ;)

Thanks,
Marcus

-- 
`Rhubarb is no Egyptian god.' Debian http://www.debian.org brinkmd@debian.org
Marcus Brinkmann              GNU    http://www.gnu.org    marcus@gnu.org
Marcus.Brinkmann@ruhr-uni-bochum.de
http://www.marcus-brinkmann.de



reply via email to

[Prev in Thread] Current Thread [Next in Thread]