DISCONTINUATION OF PROJECT
This project will no longer be maintained by Intel.
Intel has ceased development and contributions including, but not limited to, maintenance, bug fixes, new releases, or updates, to this project.
Intel no longer accepts patches to this project.
If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project.
Contact: [email protected] libnica
This library is undergoing an active development cycle. It is currently being developed in tandem with multiple projects, and as such the ABI and API should be considered currently unstable.
Scheduled changes:
- Thread pool
- Timing tests on all data types (and relevant improvements)
- N-ary tree addition
- List API changes
- Move from C99 to C11
- Thread-safe APIs (Atomic)
- Improved file access functions
- mmap helpers (RAII based)
- Improved INI parser (lex-based w/ line continuation)
- Fold in cve-check-tool changes/additions
- Potential:
- Fold in the templating mini-lib from new cve-check-tool
- Simplified networking access (retaining underlying transparency)
Common C library functions
Lightweight library containing common functionality of typical "C utility libs".
Currently contains:
- Dynamic array
- List type
- Simplified file manipulation functions (mkdir_p, rm_rf, etc)
- A Hashmap implementation
- A simple, efficient, INI File parser
- Safe string manipulation functions for when strlen is out of the question
The majority of the API is designed to work on a RAII principle, using scope-based
autofree
helpers (see util.h) with minimal fuss.
Another important principle to keep in mind while hacking on libnica
, is that
memory leaks of any description in a successful usage, are forbidden. This includes
any "possibly lost" memory through static initialisation as seen with heavier
libraries.
LGPL-2.1
Copyright (C) 2014-2016 Intel Corporation