Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-08-31 | mbuf: new module | Richard Braun | |
2018-08-25 | cbuf: make empty reads succeed | Richard Braun | |
Getting an error when reading 0 bytes is surprising compared to common read interfaces. | |||
2018-08-14 | Change the way unused arguments are handled | Richard Braun | |
Use the __unused macro when declaring unused arguments in function definitions. Use main(void) instead of main(argc, argv) where appropriate. | |||
2018-07-19 | shell: support multiple shell instances | Richard Braun | |
2018-02-23 | Replace "llsync" with "rcu" | Richard Braun | |
2018-01-11 | test_fmt_sprintf: refactor and fix | Richard Braun | |
Reported by Gabriel Ganne. | |||
2018-01-04 | Slightly change the list interfaces | Richard Braun | |
This change breaks API compatibility. | |||
2018-01-04 | Move sources to new src/ directory | Richard Braun | |
2018-01-04 | error: remove and use errno.h directly | Richard Braun | |
2018-01-04 | test_shell: use the SHELL_REGISTER_CMDS macro | Richard Braun | |
2018-01-04 | Make the copyright notice fit on 80 columns | Richard Braun | |
2018-01-04 | error: replace error_die with error_check | Richard Braun | |
2017-10-07 | Change the license to MIT | Richard Braun | |
Not a real change, it's just that MIT license seems to be the most popular permissive license. | |||
2017-09-04 | rbtree: new rbtree_replace_slot function | Richard Braun | |
2017-09-04 | avltree: new avltree_replace_slot function | Richard Braun | |
2017-09-02 | test/test_fmt_sscanf: remove assert.h inclusion | Richard Braun | |
2017-07-25 | error: fix namespace | Richard Braun | |
2017-07-24 | cbuf: update interface | Richard Braun | |
Rename cbuf_push and cbuf_pop to cbuf_pushb and cbuf_pop respectively, and add the new cbuf_push and cbuf_pop functions, that provide the same services as the old functions, on buffers rather than single bytes. | |||
2017-07-24 | slist: simplify slist_insert_after | Richard Braun | |
Improve the efficiency of slist_insert_after by forbidding the prev pointer to be NULL. This effectively delegates the check to the caller. | |||
2017-07-24 | hlist: new module | Richard Braun | |
2017-07-23 | slist: new module | Richard Braun | |
2017-06-23 | test_fmt_sscanf: fix hex integers conversion tests | Richard Braun | |
2017-06-23 | fmt: fix character conversion reporting | Richard Braun | |
2017-06-23 | test_fmt_sscanf: fix pointer conversion test | Richard Braun | |
The %p format expects a pointer to a pointer to void. | |||
2017-06-17 | cbuf: implement buffered reads and writes | Richard Braun | |
This change brings an interface for fast buffered accesses to the content of a circular buffer, and also an interface to write into a circular buffer at custom locations, in exchange for a small interface break of cbuf_read. | |||
2017-06-11 | fmt: fix 0 and octal integer parsing | Richard Braun | |
2017-06-09 | fmt: new module | Richard Braun | |
2017-02-08 | plist: update API | Richard Braun | |
2017-02-04 | test/test_plist: silence GCC warning | Richard Braun | |
2017-02-04 | test/test_plist: new test | Richard Braun | |
2017-01-26 | rdxtree: make key allocation optional | Richard Braun | |
2017-01-12 | Replace unsigned long with uintptr_t for integer/pointer conversions | Richard Braun | |
2016-12-09 | Force brackets around one-line conditional statements | Richard Braun | |
2016-10-25 | check: new module | Richard Braun | |
This module defines a single check macro that acts as a non conditional assert. It is intended for test code only. | |||
2015-05-14 | rdxtree: fix tree walking overflow | Richard Braun | |
This change also allows directly using the iterator key from within a foreach loop so a new rdxtree_iter_key() function is introduced. | |||
2015-05-14 | rdxtree: fix blunder | Richard Braun | |
2015-05-03 | rdxtree: support lockless tree walking | Richard Braun | |
2015-04-08 | rdxtree: introduce the rdxtree_key_t type for 32/64-bits keys | Richard Braun | |
2015-03-12 | shell: new module | Richard Braun | |
2013-07-05 | test_rdxtree: use 64-bit keys | Richard Braun | |
In addition, add a test with a key larger than 32 bits. | |||
2013-07-05 | rdxtree: change definition of rdxtree_bm_t | Richard Braun | |
When the radix value is 6, always typedef to unsigned long long. | |||
2013-06-07 | test_rdxtree: new tests covering node creation failures | Richard Braun | |
2013-06-07 | test_rdxtree: more lookup tests | Richard Braun | |
2013-06-07 | test_rdxtree: more removal tests | Richard Braun | |
2013-06-07 | test_rdxtree: test insert with allocation and slot | Richard Braun | |
2013-06-07 | test_rdxtree: test insert with slot | Richard Braun | |
2013-06-07 | test_rdxtree: test insertion on busy key | Richard Braun | |
2013-06-07 | rdxtree: encode pointer type in entry address | Richard Braun | |
Entry addresses are odd if they refer to an internal tree node. This change is required for the upcoming lockless concurrent code. | |||
2013-06-07 | rdxtree: rename slots to entries | Richard Braun | |
A slot is actually a pointer to an entry. Improve clarity by using the proper terminology. | |||
2013-06-07 | Remove non data-structure code | Richard Braun | |
The primary purpose of this project was testing code in userspace before pushing it to the x15 microkernel. The xprintf and phys modules were included quite some time ago now, along with the mem module which is also present in the GNU Mach microkernel. The secondary goal of this project was to create good implementations of commonly used data structures, mainly the doubly linked list and the red-black tree, under a BSD license so that they're reusable in proprietary projects I have to work on. Such generic code remains in this repository. |