Just wanting to share the release of the version 1.0 of Seaplus.
This is an attempt (certainly not rocket science!) at streamlining a
simpler, possibly safer/more efficient integration of Erlang with C/C++
code when it is based on a C node (hence not with a NIF) and ei (now
that Erl_Interface is obsolete).
A goal was to automate/generate most of the corresponding bridge (by
default, nothing is to do on the Erlang side except defining the type
specification of the targeted API, while on the C side a template of the
driver is generated, and library-based facilities are provided for the
actual two-way conversions; the service integrator just has to fill the
boiler-plate accordingly). At the end, an Erlang module is available,
allowing to access as wanted, and seamlessly, to the original C/C++ library.
Besides the internal tests, Seaplus has been applied to a more complete
example, Ceylan-Mobile (see http://mobile.esperide.org/), based on the
Gammu C library.