Skip to content

Part of the Ceylan project gathering facilities to better integrate C/C++ code to Erlang.

License

Notifications You must be signed in to change notification settings

Olivier-Boudeville/Ceylan-Seaplus

Repository files navigation

Erlang CI

Ceylan-Seaplus

This repository corresponds to the part of the Ceylan project gathering facilities introduced in order to better integrate C/C++ code to Erlang.

This binding relies on a port (not a NIF) based on a C-Node and the standard ei (formerly: Erl_Interface), so that the integrated C/C++ code cannot jeopardise the operation of the Erlang VM (hence at the cost of a few message exchanges, yet with a low overhead, marshalling/demarshalling having to happen anyway).

A parse transform is used in order to ease the definition of both sides (Erlang and C) of the corresponding driver (generating the former integrally, and the latter partially; moreover a C library gathering higher-level primitives is provided in order to facilitate the development of the rest of the C side).

A complete, functional example of a service to integrate is provided (see the foobar test C project).

Please refer to the Seaplus official documentation, otherwise to its mirror.

The 'master' branch corresponds to the current stable version of this layer.

Ceylan-Seaplus relies on Ceylan-Myriad.