bug-hurd
[Top][All Lists]
Advanced

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

Re: new console server code checked in


From: Niels Möller
Subject: Re: new console server code checked in
Date: 05 Jun 2002 10:03:27 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Roland McGrath <roland@frob.com> writes:

> It just seems like the interface is wrongheaded if it winds up doing byte
> order conversions back and forth on the same machine.

I suspect that the conversions are actually not between UCS-4 little
endian and UCS-4 big endian, but between UCS-4 (some flavour) to and
from utf-8 and latin1 to UCS-4. (And I think the iconv interface is
really ugly when it comes to wide characters. I'd wish glibc exported
some saner interface for converting to and from UCS-4 wchar_t strings).

> Extra RPCs can be ok.  It could also be another mmap'd virtual file of
> control structures rather than overloading the display file.

Keeping it together in a single file seems reasonably clean to me. One
advantage over having two files is that it seems easier to make sure
that update notifications arrive in the right order. The header could
look something like

uint32_t version number
uint32_t byte order flag for the screen data
uint32_t nrows, ncolumns (screen size)
uint32_t row offset for the top-most row (for scrolling)
uint32_t crow, ccolumn (cursor position)
uint32_t cflags (cursor flags)
...
uint32_t screen[nrows][ncolumns]

Then the only new rpc needed should be for rectangular updates,
scrolling of regions, etc, that are needed only for performance.

/Niels



reply via email to

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