On Tue, Oct 02, 2001 at 10:54:40PM +0200, Marcus Brinkmann wrote: > type io_reg_t = unsigned short; > type io_reg_array_t = array[] of io_reg_t;
MiG doesn't know unsigned short, so I am afraid that I have to use int. The conversion from signed shorts to unsigned shorts is implementation defined (or can raise a signal even), so I am out of luck here (unless we forbid ports higher than 7fff). I slowly realize what's involved with kernel side servers. There are quite a few differences. For example, it seems variable size length arguments must be either always in-line (array [*:MAX]) or always out-of-line (^array []). Always out-of-line seems to be an unnecessary burden for the small amounts of data we can expect to need here. Another idea might be to pass ranges of ioports to cut down in message length, and make it easier for the user to get what he wants. Like, { 0x0201, 0x0201, 0x3b0, 0x3df } for the game port and all ega/vga ports. So there are still some details to work out. Like, should ports be reused if they specify the same set if permission? I think that would be a good idea, but it is costly to make the comparison, and is probably overkill. Thanks, Marcus -- `Rhubarb is no Egyptian god.' Debian http://www.debian.org [EMAIL PROTECTED] Marcus Brinkmann GNU http://www.gnu.org [EMAIL PROTECTED] [EMAIL PROTECTED] http://www.marcus-brinkmann.de _______________________________________________ Bug-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-hurd