[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: libmachuser vs libmach
From: |
James Morrison |
Subject: |
Re: libmachuser vs libmach |
Date: |
Tue, 18 Jun 2002 14:46:26 -0700 (PDT) |
--- "Thomas Bushnell, BSG" <tb@becket.net> wrote:
> James Morrison <rocketmail_com@rocketmail.com> writes:
>
> > Ok, I'm not too sure what is going on with host_info and
> > xxx_host_info, but it seems that xxx_host_info is call to the kernel
> > without using mig, but host_info is an interface created by mig. So
> > with host_info the struct is copied to the user process, where in
> > xxx_host_info the struct is simply given to the user process. Am I
> > understanding any of this?
>
> No, it's just what I told you.
>
> These are two different interfaces, both MiG.
>
> xxx_host_info uses an old miserable interface, which has a fixed-size
> struct. That's a miserable interface, because any time a new element
> needs to be added, you'd need to use a new RPC.
Ok, I'm not understanding why this is so. Is a new RPC needed because the
user of the rpc is expecting a message back that is a specific size?
> host_info uses a much better interface, in which the user tells the
> kernel how many items it wants returned in the struct; as a result,
> older users get perfect upward compatibility, provided new items are
> always added onto the end.
So in this case we can use a stack based object since we know the size of the
struct at compile time.
=====
James Morrison
University of Waterloo
Computer Science - Digital Hardware
2A co-op
http://hurd.dyndns.org
Anyone referring to this as 'Open Source' shall be eaten by a GNU
__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com