Jari OS IDL allows to create RPC with easy way. The general idea is to keep types and functions description in very simple declarative language, that can be translated to C language (or other language) via suitable back-end (depends on IPC/raw etc …). Currently declarative language very similar to scheme-style, or saying simply - uses S-expressions. Jari OS IDL has 2 major parts: IDL translator and ORB stuff within native libc code.
Last changes, some additions and other stuff that will be included later to the master can be found in idlc branch. idlc branch is used for IDL development and testing purposes.
You can find some brief description in the following sections, that's all about idlc implementation.