-
Notifications
You must be signed in to change notification settings - Fork 87
libtizosal
Home | Tizonia OpenMAX IL | Skema
libtizosal
contains a number of facilities and wrappers that are summarized below.
A wrapper is provided around the log4c
Logging for C
library (LGPL).
When building libtizosal
from sources, the Debian package liblog4c-dev
is
required.
A thin wrapper over the most common memory functions (malloc, free, calloc, memset).
An implementation of a thread-safe FIFO queue that can be accessed by any number of threads.
Non-synchronized priority queue. External synchronisaztion is needed in case it needs to be accessed safely from any number of threads.
This internally used in libtizonia
to implement in-thread command queues.
This is a very thin wrapper over UTArray (BSD licensed), a dynamic array implementated in C using macros.
The source code for UTArray, utarray.h
is currently distributed with the
libtizosal
sources.
Semaphore, mutex, and condition variable wrappers.
Wrappers for common thread/task management APIs.
Universally unique identifier (uuid) utility functions. Implementation is based
on libuuid
, part of the util-linux
(BSD License).
When building libtizosal
from sources, the Debian package uuid-dev
is
required.
Convenience functions to convert OpenMAX IL enumeration values to strings and other utilities.
Configuration file parsing utilities. Utilities to obtain static configuration
information from the various tizonia.conf
files, the Tizonia configuration
scripts.
Small object allocation utilities. This code is a modified version of the
threadalloc
utility (MIT
licensed) by Konstantin Knizhnik.
Event loop, async io, async file status notification and timer utilities. This is based on libev (MIT License) by Marc Lehmann and Emanuele Giaquinta.
When building libtizosal
from sources, the Debian package libev-dev
is
required.
Associative array implementation based on the Avl tree library (BSD-like) by Sam Rushing. Avl tree library source code is included. The original sources for this library code can be found at: http://www.nightmare.com/squirl/python-ext/avl/
HTTP parser implementation based on joyent's http-parser library (MIT license) available at https://github.com/joyent/http-parser.