Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!gem.mps.ohio-state.edu!apple!voder!pyramid!athertn!joshua From: joshua@athertn.Atherton.COM (Flame Bait) Newsgroups: comp.software-eng Subject: Re: How Do Interface Description Languages Work? Message-ID: <12697@joshua.athertn.Atherton.COM> Date: 15 Sep 89 22:45:13 GMT References: <22096@cup.portal.com> <22121@cup.portal.com> <45a2db57.18268@apollo.HP.COM> Reply-To: joshua@atherton.com (Flame Bait) Organization: Atherton Technology, Sunnyvale, CA Lines: 30 marc@apollo.HP.COM (Marc Gibian) writes: >One well defined IDL that I have experience with is the Network >Interface Definition Language, or NIDL, that is part of the >Apollo NCS product. NIDL is used to isolate the application >implementor from the nitty gritty details of using the NCS >RPC mechanism. If you want a better IDL, I'd look at Sun's XDR system. Unlike NIDL, it was designed from the begining to be a general purpose data language (ie. to be used for more than just remote procedure calls). This difference in design philosophy shows. Also, XDR can support any data type used by C, NIDL can not. For example, NIDL can not process structures which contain pointers to structures, except via arcane, complicated functions, which you must write yourself. XDR on the other hand, can handle an entire B-tree as a single data unit. Also, XDR is freely distributable, and available from several archive servers on the net. This distribution includes the source for an XDR compiler, which can form the basis for many useful utilities. You need to pay a little money for NIDL, and the source code for it is very expensive. Finally, I'd like to say that I have used NIDL, XDR, and a similar product from Netwise. Also, I do not work (and have not worked) for Apollo, Netwise, or Sun. Joshua Levy -------- Quote: "If you haven't ported your program, it's not Addresses: a portable program. No exceptions." joshua@atherton.com {decwrl|sun|hpda}!athertn!joshua work:(408)734-9822 home:(415)968-3718