Sorry, you need to enable JavaScript to visit this website.

Feedback

Your feedback is important to keep improving our website and offer you a more reliable experience.

Embedded Linux Library (ELL)

Description

The Embedded Linux* Library (ELL) provides core, low-level functionality for system daemons. It typically has no dependencies other than the Linux kernel, C standard library, and libdl (for dynamic linking). While ELL is designed to be efficient and compact enough for use on embedded Linux platforms, it is not limited to resource-constrained systems.

Features

  • Event loop that may run standalone or be integrated with another event loop
  • D-Bus client
  • Generic Netlink client
  • Timeout handling
  • Signal handling
  • Runtime plugins
  • Asynchronous/non-blocking I/O framework
  • Data structures: Queues (linked list), hash tables, ring buffers
  • String handling
  • Base64 encode/decode
  • File parsing (PEM, hwdb, settings)
  • Symmetric ciphers (kernel support required)
  • RSA cryptography (kernel support required)
  • Key handling

Requirements

ELL is tightly integrated with the Linux kernel and depends on recent kernel features:

Compiling the source code requires GCC and the GNU C Library. 

Sanitizer support for debugging purposes requires the corresponding support library for each sanitizer: libasan (address sanitizer), liblsan (leak sanitizer), or libubsan (undefined behavior sanitizer).

Contributing

To contribute patches or report issues, please use the project mailing list at ell@lists.01.org.