A cross-platform library that gives apps easy access to USB devices
Library to enable user space application programs to communicate with USB devices
Extended C Library
Why Is libxc needed? There doesn't exist a library for ANSI C99 for common data containers, such as vectors, trees, etc. There also also doesn't exist a library for common functionality, such as error reporting/logging, string functions, configuration management (reading config files), etc... The programmer working in C doesn't have anything analogous to the Boost C++ library. The extended C library is intended to make some headway into providing this functionality. To ensure unrestricted usage the libxc project is provided under the very permissive BSD license. If you need a different license then please send me a request (lelanthran at gmail) and I'll do my best to satisfy your request. What's completed? As of writing, the following libraries have been written and tested: 1. Memory accounting/tracking 2. String operations 3. Vectors 4. Trees 5. Dictionary arrays 6. Configuration management See the wiki page for more information
Some Useful C-Utilities
Libcutils provides a self-contained set of fundamental routines which are essential to basically any Unix utility or daemon application written in C. The library provides fundamental data structures such as lists, hash-maps, strings and parsing functions for JSON or the typical dot-file based configuration data. The following list summarizes the currently supported functionality: * length delimited instead of NULL terminated strings * memory management based on reference counting * several list processing functions like iterators and map-reduce * support of [Ideal Hash Tries](http://infoscience.epfl.ch/record/64398/files/idealhashtrees.pdf) for highly efficient hash map data structures * parsers for [JSON](http://json.org) data and the text configuration files found in Unix system * doubly linked circular lists for reliable event queues * support for test and debugging of memory management problems such as memory leaks
a CLI generator and and SW library
CLIck allows you to create flat or hierarchical CLI (command line interfaces) in an extremely easy and quick way, supporting very popular features like history with command recalling, context-based auto-completion, tab-based command list, automatic command-line help, special characters, automatic structure builder, and much more. CLIck is written in ANSI C and tested on C and C++ applications on several architectures. It doesn't depend on any external library and uses only a very small subset of POSIX APIs. Despite the project name, you won't need your mouse at all!
Thread safe hash library
A hash table library that can store binary data. It is thread safe and you can use as many hash tables in your program as you wish because each has its own context. You can drop items from the hash table and can expire items that have become too old. String keys are default, but with your own comparison routine you can use binary or specialty keys. If you have special needs you can substitute your on hash calculation function for the built in one. There is also a library call that allows you to judge the efficiency of your hash function. The library has complete HTML documentation. And several tests of the library can be run with "make check".