summaryrefslogtreecommitdiff
path: root/src/lib/bitmap.c
Commit message (Collapse)AuthorAgeFilesLines
* irmd: flow allocation and fast pathdimitri staessens2016-05-071-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit has a first implementation of flow allocation (the "slow path") and read/write (the "fast path") for ouroboros. It provides basic but unstable communications over the shared memory. It required a lot of changes all over the stack, and fixes a number of previously undetected issues. This PR still need heavy revision regarding data model, locking and cleanup. lib/dev: modifications to the API. It now uses an ap_init() call to set the AP name and sets the Instance ID to the pid of the process. It also binds the AP to the shared memory and creates tables for mappings in the fast path. A call to ap_fini() releases the resources. lib/shm_ap_rbuff: added ring buffer for data exchange between processes in the fast path. It passes an index in the shm_du_map. lib/shm_du_map: rewrote API to work with calls from dev.c. Garbage collector added. Tests updated to new API. ipcpd/ipcp-data: removed everything related to flows, as these are universal for all ap's and kept in ap_data (dev.c), or similar structs for shim ipcps. shim-udp: added flow allocator and read/write functions and shm elements. irmd: revised data model and structures necessary for flow allocation. tools: echo updated to new dev.h API. messaging system was updated to comply with new flow allocation messages. All exchanges use pid and port_id to bootstrap the fast path.
* lib: Add bitmap testSander Vrijders2016-03-091-26/+35
| | | | | This adds a test for the bitmap. During the testing I also removed some bugs that were present in the bitmap implementation.
* build: Require usage of C89Sander Vrijders2016-02-231-1/+1
| | | | | | This requires the usage of the C89 standard for all source files. It also fixes a wrong check for the compiler flags (was checking this for CXX compiler instead of the C compiler).
* include: Fix common includesSander Vrijders2016-02-221-1/+0
| | | | | common.h will now include stdbool and several other useful includes (size_t for instance).
* include: Add bitmap implementationSander Vrijders2016-02-171-0/+194
This adds a bitmap implementation loosely based on the one found in the Linux kernel. The functions in the header file actually act as a wrapper around the actual bitmap implementation for portability reasons.