README refined

This commit is contained in:
Alexander Vdolainen 2025-10-09 23:23:03 +03:00
parent 81756b45dd
commit 6eea614d6c

46
README
View File

@ -1,30 +1,28 @@
libndbuf: Network designed buffer ops library
----------------------------------------------
libndbuf: Network-oriented buffer operations library
----------------------------------------------------
1. What the shit is that ?
This is a quite small library to manipulate with binary packed buffers
in a normal network manner (i.e. bigendian). It might be useful to
apply for network packet creating/parsing.
Anyway, originally this code was resided in my different other *small*
projects - and i hate copy-paste -- well, that's why it gone to
this quite small library.
1. What is it?
A small C library providing a simple API to read and write typed values
to/from buffers with correct endianness handling.
2. API
Check out include directory...
btw, might be later i will write manpages, but for now didn't see any
sense for those effort.
Generally speaking - all is quite simple - create ndbuf_t structure fill
it in printf() style, read with sscanf() style, take raw data pointer and ...
send it somewhere whatever bla bla - you get a point.
2. Purpose
Make parsing and building network packets easy and concise. The API is
intended to act like a binary printf/scanf for packet fields.
Example:
Packet layout:
<16-bit><8-bit><32-bit><raw data>
Reading with a single call:
ndbuf_escan(buf, "wbdR", &a16, &a8, &a32, &data_ptr)
The same style is used to build packets.
3. Future plans
Fix bugs (but ... there are no bugs found, since this code was heavly used
already, but ... report me if found).
Write manpages (in my few projects those API is like a part of POSIX -
still cannot remember all).
Maybe will add a new functions (useful ones).
* Improve the API ergonomics (better support for preallocated buffers).
* Add convenience helpers and safer bounds checks.
* Possibly extend format specifiers and documentation.
4. Contact
That's simple -
Email/XMPP: alex@vapaa.xyz
Email: alex@vapaa.xyz