Libdlb
Intrusive data structures and asynchronous IO library
Install / Use
/learn @dlbeer/LibdlbREADME
libdlb: data structures and utilities library Copyright (C) 2013 Daniel Beer dlbeer@gmail.com
This package is a library of (primarily intrusive) data structures and asynchronous IO facilities for C programs. The subdirectories in this directory are:
-
src: intrusive data structures, including:
- bint: arbitrary precision integers
- cbuf: circular byte-buffers
- containers: utility macros for intrusive data structures
- hash: partially intrusive hash table
- istr: memory-efficient immutable string pool
- list: intrusive doubly-linked circular list
- rbt: intrusive red-black tree
- rbt_iter: functions for iterating over red-black trees
- rbt_range: functions for efficiently computing aggregates over augmented red-black trees.
- slab: pooled object allocator
- slist: intrusive singly-linked list
- strbuf: resizable string-buffer
- strlcpy: strlcpy() and strlcat()
- vector: resizable array
-
io: portable asynchronous IO and system utilities:
- afile: asynchronous file reading/writing
- clock: portable interface to a monotonic millisecond clock
- handle: portable file handle abstraction
- ioq: asynchronous IO queue
- mailbox: asynchronous IPC primitive
- runq: thread pool
- syserr: portable interface to system error codes
- thr: portable interface to threading primitives
- waitq: asynchronous timer schedule
- net: portable network initialization
- adns: asynchronous DNS
- asock: asynchronous TCP/IP socket
-
tests: automated test suite
To build the tests, type "make". Nothing is required except the standard C library and GCC. Type "make test" to run each test.
All the files in this package are covered by the license in the file "LICENSE". If you want to use them in your own programs, just include the files you need in your source package -- there's no need to build a shared library, and you likely don't need every file (dependencies between files exist, but are easily identified).
Related Skills
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
90.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
