Just as a sanity check, I ran a trivial IDL file through idl4. The generated server header does not provide any obvious means to get the reply send, because the message block is passed **by value**.
Is this intentional? Is DICE now preferred?
Hi Jonathan,
Just as a sanity check, I ran a trivial IDL file through idl4. The generated server header does not provide any obvious means to get the reply send, because the message block is passed **by value**.
Is this intentional? Is DICE now preferred?
Sorry, "get the reply send" does not parse.
Yes, data is by value. Not sure what you specifically mean "by reference" as it depends somewhat on the overall system. E.g. passing a cap refering to an object could be "by reference", passing a "pointer" by value could be "by reference".
Anyway, Magpie is the local replacement for IDL4. It is under active development.
http://wiki.nyloncactus.com/doku.php?id=magpie:start
from the Intro
"Magpie is an interface compiler. Given an interface specification, it provides code that allows software modules to communicate via that interface. The design goals of Magpie are to create an easy-to-extend compiler that supports a wide variety of inputs and outputs. Magpie currently generates interfaces to support software running on the L4 microkernel, but may be extended to support other systems."
We extended it in the seL4 project to pass kernel-implemented segregated caps in a few days.
cheers
- Kevin
l4-hackers@os.inf.tu-dresden.de