Re: [Dorset] OT(ish): IDL
On Tue, 2011-10-11 at 20:16 +0100, Terry Coles wrote: So how do Unix/Linux progams export their interfaces? In MS VisualStudio, I can click on a function or method and right-click to get the interface. The free desktop way of doing this is D-Bus. The interface description for your D-Bus object is written in XML: http://dbus.freedesktop.org/doc/dbus-specification.html#introspection-format and is available at runtime using the special org.freedesktop.DBus.Introspectable interface on the object. You can inspect running objects visually using d-feet, and even call methods on them if you like: http://live.gnome.org/DFeet/ I believe that gtk-doc can convert the D-Bus Introspection data into e.g. HTML, as in: http://www.packagekit.org/gtk-doc/PackageKit.html For libraries, GObject Introspection is also relevant to this topic: https://live.gnome.org/GObjectIntrospection It's a method for automatically creating language bindings for APIs, including documentation. Tim. */ signature.asc Description: This is a digitally signed message part -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue
Re: [Dorset] OT(ish): IDL
Hi Terry, On Tuesday 11 Oct 2011, Ralph Corderoy wrote: The textual IDL file would be my first thought, or are you thinking there's a way to interrogate a peer to determine the interface it offers at run-time? AIUI, the IDL file is compiled into a 'type library' which is somehow embedded into a Windows DLL or exe, so that and IDE tool can view the information. I don't do this myself, but I've watched our programmers knock up quick and dirty code, just by looking at this info. That sounds to me more like whatever is using IDL happens to provide a discovery service to enquire about the interface and not something fundamental to DCE's lower-level IDL itself. I was hoping that there would be more than just MS tools that could do this kind of thing, or at least compile an IDL file to check for errors. I'll have a look at your other links tomorrow. Another one, Samba's PIDL IDL compiler. http://wiki.wireshark.org/Pidl I did ask this quetion at a LUG Meeting recently although in a different form. I was asking if any of the IDE tools available on Linux, (eg Eclipse, KDevelop, etc) had this kind of functionality. I don't think anyone knew at the time. I've been unable to find anything in the Help or Docs for those tools, but maybe I'm searching for the wrong string. I've not used those IDEs but DCE/RPC has been unpopular on Unix since before they came along so I doubt they've the (Windows' specific?) interrogation you're after. How do Linux programmers write function calls? Purely from the Docs? Yep. The fine man pages traditionally. Supplemented by books, other source code that uses them, and the function call source itself. I wouldn't expect an IDL to be able to describe all the semantics of an interface so even if some whizzy MS GUI lets you inspect it and see what you can poke, you may only be playing all the right notes but not necessarily in the right order. Cheers, Ralph. -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue
Re: [Dorset] OT(ish): IDL
Ralph, Since yesterday, I've followed up on the links you provided and had 'long and meanigful' discussions with the guys who maintain the Standard. As a result, I'm a bit more clued up than I was yesterday evening. On Wednesday 12 Oct 2011, Ralph Corderoy wrote: AIUI, the IDL file is compiled into a 'type library' which is somehow embedded into a Windows DLL or exe, so that and IDE tool can view the information. I don't do this myself, but I've watched our programmers knock up quick and dirty code, just by looking at this info. That sounds to me more like whatever is using IDL happens to provide a discovery service to enquire about the interface and not something fundamental to DCE's lower-level IDL itself. I suspect that you're right. My boss Chris has always maintained that (for all their faults) MS do produce very functional development tools. This functionality was included in Visual Studio 6, which is pretty old now. I was hoping that there would be more than just MS tools that could do this kind of thing, or at least compile an IDL file to check for errors. I'll have a look at your other links tomorrow. Another one, Samba's PIDL IDL compiler. http://wiki.wireshark.org/Pidl Thanks, I've identified several IDL compilers now including one that is open source (it's a part of omniORB a CORBA toolset). I did ask this quetion at a LUG Meeting recently although in a different form. I was asking if any of the IDE tools available on Linux, (eg Eclipse, KDevelop, etc) had this kind of functionality. I don't think anyone knew at the time. I've been unable to find anything in the Help or Docs for those tools, but maybe I'm searching for the wrong string. I've not used those IDEs but DCE/RPC has been unpopular on Unix since before they came along so I doubt they've the (Windows' specific?) interrogation you're after. In fact, IDL is separate from RPC. IDL is simply about the way in which you write you API apparently. The Standard uses it so everyone has open access to the API calls, regardless of platform. How do Linux programmers write function calls? Purely from the Docs? Yep. The fine man pages traditionally. Supplemented by books, other source code that uses them, and the function call source itself. I wouldn't expect an IDL to be able to describe all the semantics of an interface so even if some whizzy MS GUI lets you inspect it and see what you can poke, you may only be playing all the right notes but not necessarily in the right order. Thanks. -- Terry Coles 64 bit computing with Kubuntu Linux -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue
Re: [Dorset] OT(ish): IDL
Hi Terry, In fact, IDL is separate from RPC. IDL is simply about the way in which you write you API apparently. The Standard uses it so everyone has open access to the API calls, regardless of platform. Right, it defines how data maps to bits and what functions there are that can handle it. Kind of like a platform-agnostic C header file with knobs on. ftp://ftp.samba.org/pub/unpacked/samba_4_0_test/librpc/idl/preg.idl I suspect it's something like Microsoft's DCOM that adds the introspection stuff. Cheers, Ralph. -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue
[Dorset] OT(ish): IDL
Hi, This query is a bit work and Windows related, but AFAIK crosses over into Unix/Linux. At work we help to maintain the IEEE 1641 Standard (http://www.eads- tes.com/Standards/IEEE1641/IEEE1641.htm) and I am currently writing a Validation Spec for compliant solutions. Part of the Standard includes a requirement for support for Interface Description Language (http://en.wikipedia.org/wiki/Interface_description_language) from the Distributed Computing Environment Specification which is maintained by The Open Group. We have always used MS Visual Studio to utilise IDL in our tools, but now I need to identify alternative and cross-platform tools to compile an IDL file and also to compile a program that uses an IDL file to define its API with system drivers. Can anyone tell me: 1. Is IDL generally used outside of MS and / or Windows? 2. If so, are there alternative tools to manipulate it? 3. Are any of those tools available on Unix/Linux platforms? All help gratefully received. -- Terry Coles 64 bit computing with Kubuntu Linux -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue
Re: [Dorset] OT(ish): IDL
Hi Terry, Part of the Standard includes a requirement for support for Interface Description Language (http://en.wikipedia.org/wiki/Interface_description_language) from the Distributed Computing Environment Specification which is maintained by The Open Group. (That link's about IDLs in general, not DCE's.) We have always used MS Visual Studio to utilise IDL in our tools, but now I need to identify alternative and cross-platform tools to compile an IDL file and also to compile a program that uses an IDL file to define its API with system drivers. Can anyone tell me: 1. Is IDL generally used outside of MS and / or Windows? I rarely hear of it anymore. DCE originated outside of MS and they used bits of it. There's bound to be legacy Unix stuff still based on it and some new in-house code by existing users may continue using it. 2. If so, are there alternative tools to manipulate it? The Open Group made the source available for their programs I think, and it was forked at one point because there was going to be a licence change. 3. Are any of those tools available on Unix/Linux platforms? http://www.opengroup.org/dce/mall/ http://freedce.sf.net/ The latter includes a yacc(1) grammar for an IDL compiler. http://freedce.git.sourceforge.net/git/gitweb.cgi?p=freedce/freedce;a=blob;f=freedce/idl/acf_y.y;h=7fc2bb4b86e8fcc8ff8b85d85b876c233e1aec37;hb=HEAD The grammar proper starts at line 265. Cheers, Ralph. -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue
Re: [Dorset] OT(ish): IDL
On Tuesday 11 Oct 2011, Ralph Corderoy wrote: Part of the Standard includes a requirement for support for Interface Description Language (http://en.wikipedia.org/wiki/Interface_description_language) from the Distributed Computing Environment Specification which is maintained by The Open Group. (That link's about IDLs in general, not DCE's.) True, but there is a link to DCE on that page. We have always used MS Visual Studio to utilise IDL in our tools, but now I need to identify alternative and cross-platform tools to compile an IDL file and also to compile a program that uses an IDL file to define its API with system drivers. Can anyone tell me: 1. Is IDL generally used outside of MS and / or Windows? I rarely hear of it anymore. DCE originated outside of MS and they used bits of it. There's bound to be legacy Unix stuff still based on it and some new in-house code by existing users may continue using it. So how do Unix/Linux progams export their interfaces? In MS VisualStudio, I can click on a function or method and right-click to get the interface. 2. If so, are there alternative tools to manipulate it? The Open Group made the source available for their programs I think, and it was forked at one point because there was going to be a licence change. 3. Are any of those tools available on Unix/Linux platforms? http://www.opengroup.org/dce/mall/ http://freedce.sf.net/ The latter includes a yacc(1) grammar for an IDL compiler. http://freedce.git.sourceforge.net/git/gitweb.cgi?p=freedce/freedce;a=blob ;f=freedce/idl/acf_y.y;h=7fc2bb4b86e8fcc8ff8b85d85b876c233e1aec37;hb=HEAD The grammar proper starts at line 265. Thanks. -- Terry Coles 64 bit computing with Kubuntu Linux -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue
Re: [Dorset] OT(ish): IDL
Hi Terry, I rarely hear of it anymore. DCE originated outside of MS and they used bits of it. There's bound to be legacy Unix stuff still based on it and some new in-house code by existing users may continue using it. So how do Unix/Linux progams export their interfaces? In MS VisualStudio, I can click on a function or method and right-click to get the interface. Sorry, I don't know. You'd have to find a DCE IDL-using program, e.g. one doing some DCE RPC I guess, and see what it offers. The textual IDL file would be my first thought, or are you thinking there's a way to interrogate a peer to determine the interface it offers at run-time? It seems there is a big user still about today; Samba since it has to use MS-RPC which is derived from DCE/RPC, whether it's compatible I don't know. This should be an interesting read. http://kganugapati.wordpress.com/2008/06/06/a-history-of-ms-rpc-and-open-source-equivalents/ I also found http://www.opensource.apple.com/source/dcerpc/dcerpc-46/dcerpc/include/dce/rpc.idl suggesting it may be used there. Cheers, Ralph. -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue
Re: [Dorset] OT(ish): IDL
On Tuesday 11 Oct 2011, Ralph Corderoy wrote: So how do Unix/Linux progams export their interfaces? In MS VisualStudio, I can click on a function or method and right-click to get the interface. Sorry, I don't know. You'd have to find a DCE IDL-using program, e.g. one doing some DCE RPC I guess, and see what it offers. The textual IDL file would be my first thought, or are you thinking there's a way to interrogate a peer to determine the interface it offers at run-time? AIUI, the IDL file is compiled into a 'type library' which is somehow embedded into a Windows DLL or exe, so that and IDE tool can view the information. I don't do this myself, but I've watched our programmers knock up quick and dirty code, just by looking at this info. I was hoping that there would be more than just MS tools that could do this kind of thing, or at least compile an IDL file to check for errors. I'll have a look at your other links tomorrow. I did ask this quetion at a LUG Meeting recently although in a different form. I was asking if any of the IDE tools available on Linux, (eg Eclipse, KDevelop, etc) had this kind of functionality. I don't think anyone knew at the time. I've been unable to find anything in the Help or Docs for those tools, but maybe I'm searching for the wrong string. How do Linux programmers write function calls? Purely from the Docs? -- Terry Coles 64 bit computing with Kubuntu Linux -- Next meeting: Bournemouth, Tuesday 2011-11-01 20:00 Meets, Mailing list, IRC, LinkedIn, ... http://dorset.lug.org.uk/ How to Report Bugs Effectively: http://goo.gl/4Xue