--- "Thomas Bushnell, BSG" <[EMAIL PROTECTED]> wrote: > James Morrison <[EMAIL PROTECTED]> 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 _______________________________________________ Help-hurd mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/help-hurd