Roland McGrath <[EMAIL PROTECTED]> 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

_______________________________________________
Bug-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-hurd

Reply via email to