|
i don't know details of your project, sorry.
for me inferno is a C library with powerful typesafe communication protocol supported transfer of regular data, files, system calls (as qnet from qnx). yes, it has embedded scripting engine, but it can used without it (a harder way - http://9p.cat-v.org/implementations).
- to embed inferno as library in a C/C++ project just modify (rename) main function in the <inferno-os>/emu/port/main.c
- to remove unnessesery components/devices/libraries just comment or delete them from <inferno-os>/Linux/emu
- if you don't want to run sh at startup - just change /appl/cmd/emuinit.b startup module. line 63:
from: return (mod, "sh" :: "-c" :: "$*" :: args);
to: return (mod, "your own module"::"arg1"::"arg2"::"etc");
compile it: limbo emuinit.b
and move result: mv emuinit.dis /dis
also you can add your C module. here a example of embedding vx86 sandbox to run x86 elf files from inferno media:
http://ipn.caerwyn.com/2009/01/lab-92-vxinferno.html
if you should write biggest part in C/C++, you can use it as C library (as inferno itsef %90 C) with a scripting language (Linux without scripting configs?? this sounds as windows) as part of the library.
to select what scripts you need to include into your distribution use "disdep" command
```
disdep <your compiled script>.dis
disdep /dis/emuinit.dis
```
|
|