On 22.02.2011 10:17, Valery V. Sedletski wrote:
Hi, all.
I checked out a new L4Re userland and a new Fiasco.OC microkernel. I noticed that it seems, no IDL compiler is used for IPC anymore, but found that, like in l4\pkg\examples\clntsrv\ example, IPC is encapsulated in C++ classes. That's nice, C++ is a feature-rich object oriented language. But what can I do if I want to write a program on other languages, like plain C, Ada etc.? I think, such possibility must exist too, and IDL is a means of implementing such a language neutrality.
Is DICE discontinued? And how can I do something with communication code if not using IDL?
Yes, Dice has been discontinued and is no longer supported in L4Re.
For the moment, you can use the C++ IPC streams provided by L4Re for communication. You can also directly use the C system call bindings for IPC, which requires you to write the marshalling/unmarshalling code manually, though.
For other programming languages it would for now be necessary to provide some kind of bindings to the C or C++ interfaces. Difficulty varies depending on the language. We're using Lua for configuration purposes and it's easy to call C functions from Lua code.
There may be support for something IDL-like in the future, but there's nothing specific to say about it so far.
Bjoern