Welcome to little lamb

Code » limb » commit 9e782cf

doc: Add liblimb.3; Plus some (minor) tweaks/fixes

author Olivier Brunel
2023-07-18 18:15:49 UTC
committer Olivier Brunel
2023-07-24 10:16:43 UTC
parent a512b51ae1d8140a07d140de2a1becfdfcf790fd

doc: Add liblimb.3; Plus some (minor) tweaks/fixes

src/doc/base.h/base.h.0.md +2 -2
src/doc/{ => exitcode.h}/exitcode.h.0.md +0 -0
src/doc/{ => gccattributes.h}/gccattributes.h.0.md +0 -0
src/doc/{ => hasher.h}/hasher_blake3.h.0.md +0 -0
src/doc/{ => hasher.h}/hasher_sha1.h.0.md +0 -0
src/doc/{ => hasher.h}/hasher_sha256.h.0.md +0 -0
src/doc/{ => hasher.h}/hasher_sha3_224.h.0.md +0 -0
src/doc/{ => hasher.h}/hasher_sha3_256.h.0.md +0 -0
src/doc/{ => hasher.h}/hasher_sha3_384.h.0.md +0 -0
src/doc/{ => hasher.h}/hasher_sha3_512.h.0.md +0 -0
src/doc/{ => hasher.h}/hasher_sha512.h.0.md +0 -0
src/doc/{ => int.h}/int.h.0.md +0 -0
src/doc/liblimb.3.md +312 -0

diff --git a/src/doc/base.h/base.h.0.md b/src/doc/base.h/base.h.0.md
index 2b4b9c6..2f7a80a 100644
--- a/src/doc/base.h/base.h.0.md
+++ b/src/doc/base.h/base.h.0.md
@@ -3,7 +3,7 @@
 
 # NAME
 
-base.h - base-16\/32\/64\/128 encoding/decoding of byte arrays
+base.h - base-16/32/64/128 encoding/decoding of byte arrays
 
 # SYNOPSIS
 
@@ -11,7 +11,7 @@ base.h - base-16\/32\/64\/128 encoding/decoding of byte arrays
 
 # DESCRIPTION
 
-This header defines the required functions perform base 16\/32\/34\/128 encoding/decoding.
+This header defines the required functions perform base 16/32/64/128 encoding/decoding.
 
 ## Functions
 
diff --git a/src/doc/exitcode.h.0.md b/src/doc/exitcode.h/exitcode.h.0.md
similarity index 100%
rename from src/doc/exitcode.h.0.md
rename to src/doc/exitcode.h/exitcode.h.0.md
diff --git a/src/doc/gccattributes.h.0.md b/src/doc/gccattributes.h/gccattributes.h.0.md
similarity index 100%
rename from src/doc/gccattributes.h.0.md
rename to src/doc/gccattributes.h/gccattributes.h.0.md
diff --git a/src/doc/hasher_blake3.h.0.md b/src/doc/hasher.h/hasher_blake3.h.0.md
similarity index 100%
rename from src/doc/hasher_blake3.h.0.md
rename to src/doc/hasher.h/hasher_blake3.h.0.md
diff --git a/src/doc/hasher_sha1.h.0.md b/src/doc/hasher.h/hasher_sha1.h.0.md
similarity index 100%
rename from src/doc/hasher_sha1.h.0.md
rename to src/doc/hasher.h/hasher_sha1.h.0.md
diff --git a/src/doc/hasher_sha256.h.0.md b/src/doc/hasher.h/hasher_sha256.h.0.md
similarity index 100%
rename from src/doc/hasher_sha256.h.0.md
rename to src/doc/hasher.h/hasher_sha256.h.0.md
diff --git a/src/doc/hasher_sha3_224.h.0.md b/src/doc/hasher.h/hasher_sha3_224.h.0.md
similarity index 100%
rename from src/doc/hasher_sha3_224.h.0.md
rename to src/doc/hasher.h/hasher_sha3_224.h.0.md
diff --git a/src/doc/hasher_sha3_256.h.0.md b/src/doc/hasher.h/hasher_sha3_256.h.0.md
similarity index 100%
rename from src/doc/hasher_sha3_256.h.0.md
rename to src/doc/hasher.h/hasher_sha3_256.h.0.md
diff --git a/src/doc/hasher_sha3_384.h.0.md b/src/doc/hasher.h/hasher_sha3_384.h.0.md
similarity index 100%
rename from src/doc/hasher_sha3_384.h.0.md
rename to src/doc/hasher.h/hasher_sha3_384.h.0.md
diff --git a/src/doc/hasher_sha3_512.h.0.md b/src/doc/hasher.h/hasher_sha3_512.h.0.md
similarity index 100%
rename from src/doc/hasher_sha3_512.h.0.md
rename to src/doc/hasher.h/hasher_sha3_512.h.0.md
diff --git a/src/doc/hasher_sha512.h.0.md b/src/doc/hasher.h/hasher_sha512.h.0.md
similarity index 100%
rename from src/doc/hasher_sha512.h.0.md
rename to src/doc/hasher.h/hasher_sha512.h.0.md
diff --git a/src/doc/int.h.0.md b/src/doc/int.h/int.h.0.md
similarity index 100%
rename from src/doc/int.h.0.md
rename to src/doc/int.h/int.h.0.md
diff --git a/src/doc/liblimb.3.md b/src/doc/liblimb.3.md
new file mode 100644
index 0000000..5aad6e2
--- /dev/null
+++ b/src/doc/liblimb.3.md
@@ -0,0 +1,312 @@
+% limb manual
+% liblimb(3)
+
+# NAME
+
+liblimb - lila's core library
+
+# DESCRIPTION
+
+A simple C library (based on [skalibs]) with common APIs used by all lila's
+software.
+
+
+[skalibs]: https://skarnet.org/software/skalibs
+
+# HEADERS
+
+The following headers are available :
+
+## allreadwrite.h
+
+The [allreadwrite.h](0) defines the needed functions to perform safe I/O
+operations.
+
+! INFO: Low-level API
+! Note that you probably don't want/need to use the functions below, and should
+! probably use a higher-level interface such as [buffer.h](0).
+
+## autoopt.h
+
+The [autoopt.h](0) defines functions to handle options automatically.
+
+## base32.h
+
+The [base32.h](0) defines the required functions perform base32 encoding/decoding.
+
+## base64.h
+
+The [base64.h](0) defines the required functions perform base64 encoding/decoding.
+
+## base.h
+
+The [base.h](0) defines the required functions perform base 16/32/64/128
+encoding/decoding.
+
+## blake3.h
+
+The [blake3.h](0) defines the required function to compute the BLAKE3 hash of a
+given block of data.
+
+## buffer.h
+
+The [buffer.h](0) defines required functions to performed buffered I/O operations.
+
+## buffer-shldata.h
+
+The [buffer-shldata.h](0) defines functions used to encrypt/decrypt data using
+the "shielded data" protocol through the [buffer.h](0) interface.
+
+Refer to [shldata](5) for more about shielded data protocol.
+
+## bytestr.h
+
+The [bytestr.h](0) defines functions to work with byte arrays and/or strings.
+They work on data not necessarily NUL-terminated, hence the requirement for
+length, and return indices/offset within the array instead of pointers, as with
+standard library functions.
+
+## ccpl.h
+
+The [ccpl.h](0) defines the required function to encrypt/decrypt messages using
+the ChaCha20-Poly1305 AEAD algorithm.
+
+## cdb.h
+
+The [cdb.h](0) defines the needed functions to access constant databases, known
+as .cdb files.
+
+## cdbmake.h
+
+The [cdbmake.h](0) defines the needed functions to create constant databases,
+known as .cdb files.
+
+## chacha20.h
+
+The [chacha20.h](0) defines the required function to encrypt/decrypt messages
+using the ChaCha20 cipher.
+
+## command.h
+
+The [command.h](0) defines helpers to implement a command-based application.
+
+## copa.h
+
+The [copa.h](0) defines helper functions to parse configuration file.
+
+## direntry.h
+
+The [direntry.h](0) defines the needed functions to deal with directory streams.
+
+## djbunix.h
+
+The [djbunix.h](0) header offers alternative API to basic Unix concepts, dealing
+with I/O operations, file descriptors, environment, child processes, and so on.
+
+## esc.h
+
+The [esc.h](0) defines functions to needed to escape/unescape data.
+
+## exitcode.h
+
+The [exitcode.h](0) defines some standardized exit codes aimed to provide
+consistency amongst applications. They are based upon/taken from BSD's own
+`sysexits.h`
+
+## gccattributes.h
+
+The [gccattributes.h](0) defines GCC macros to define objects' attributes.
+
+## genalloc.h
+
+The [genalloc.h](0) defines functions to work heap-allocated memory. It is
+implemented on top of *stralloc* (See [stralloc.h](0) for more) providing an API
+to store dynamic arrays of fixed-size objects.
+
+## hasher.h
+
+The [hasher.h](0) defines the required functions to compute message digests
+through a generic interface.
+
+## hasher_blake3.h
+
+The [hasher_blake3.h](0) defines the hasher to compute the BLAKE3 of a given
+message.
+
+## hasher_sha1.h
+
+The [hasher_sha1.h](0) defined the hasher to compute the SHA1 of a given
+message.
+
+## hasher_sha256.h
+
+The [hasher_sha256.h](0) defined the hasher to compute the SHA256 of a given
+message.
+
+## hasher_sha512.h
+
+The [hasher_sha512.h](0) defined the hasher to compute the SHA512 of a given
+message.
+
+## hasher_sha3_224.h
+
+The [hasher_sha3_224.h](0) defined the hasher to compute the SHA3-224 of a given
+message.
+
+## hasher_sha3_256.h
+
+The [hasher_sha3_256.h](0) defined the hasher to compute the SHA3-256 of a given
+message.
+
+## hasher_sha3_384.h
+
+The [hasher_sha3_384.h](0) defined the hasher to compute the SHA3-384 of a given
+message.
+
+## hasher_sha3_512.h
+
+The [hasher_sha3_512.h](0) defined the hasher to compute the SHA3-512 of a given
+message.
+
+## hex.h
+
+The [hex.h](0) defines functions to needed to print/dump data in hexadecimal.
+
+## hlookup.h
+
+The [hlookup.h](0) defines the needed functions to compute fast lookup hashes.
+Those hashes are aimed to be used in hash table lookups, *not* for cryptographic
+purposes.
+
+## hmac.h
+
+The [hmac.h](0) defines the required functions to compute HMACs of messages.
+
+## hmap.h
+
+The [hmap.h](0) defines the needed functions to work with hash tables.
+
+## int.h
+
+The [int.h](0) defines some integers types.
+
+## loadopt.h
+
+The [loadopt.h](0) defines functions to parse options from command-line, and
+optionally configuration file.
+
+## memxor.h
+
+The [memxor.h](0) defines the required functions to XOR memory areas.
+
+## nextsplit.h
+
+The [nextsplit.h](0) defines functions to determine the next split for
+variable-length chunks in a data stream.
+
+## obuffer.h
+
+The [obuffer.h](0) defines required functions to write on output buffers.
+An output buffer is simply a wrapper around a buffer (from [buffer.h](0)), with
+a level to only receive data from the same level or lower. Refer to
+[obuffer_level](3) for more.
+
+Additionally it is possible to attach one output buffer to another, thusly
+forming a /chain/. Whenever sending data to any buffer in the chain, it will be
+sent to all output buffers in the chain. Refer to [obuffer_attach](3) for more.
+
+## output.h
+
+The [output.h](0) defines functions used to write messages/warnings to stdout or
+stderr.
+
+Most of the following are implemented as macros to [obuffer_putmsg](3), using
+either *obuffer_1* or *obuffer_2*. Messages can also end up written to other
+output buffers if they were attached. For more, refer to [obuffer.h](0).
+
+## parseopt.h
+
+The [parseopt.h](0) defines functions to parse command-line options.
+
+## patrim.h
+
+The [patrim.h](0) defines functions used to encode/decode data in [patrim](5)
+format.
+
+## pbkdf2.h
+
+The [pbkdf2.h](0) defines the required functions to derive a key from a password
+via PBKDF2.
+
+## poly1305.h
+
+The [poly1305.h](0) defines the required function to compute Poly1305-based MAC
+of messages.
+
+## posixplz.h
+
+The [posixplz.h](0) defines functions that aren't but maybe should be in POSIX.
+
+## random.h
+
+The [random.h](0) defines the helper functions to gather pseudo-random data.
+
+## readopt.h
+
+The [readopt.h](0) defines the needed functions to read options from
+configuration dirctories.
+
+## samisc.h
+
+The [samisc.h](0) defines some helper functions when working with *stralloc*.
+
+## sha3.h
+
+The [sha3.h](0) defines the required function to compute the SHA3 hash of a
+given block of data.
+
+## shldata.h
+
+The [shldata.h](0) defines functions used to encrypt/decrypt data using the
+"shielded data" protocol. Refer to [shldata](5) for more.
+
+## shldata-rw.h
+
+The [shldata-rw.h](0) defines helpers functions used to read/write shielded data
+files, as per [shldata](5).
+
+## siovec.h
+
+The [siovec.h](0) defines the needed functions to manipulate vectors (i.e.
+`struct iovec`) containing range of bytes in similar manner as byte arrays.
+
+## stralloc.h
+
+The [stralloc.h](0) defines functions to work heap-allocated memory.
+
+## term.h
+
+The [term.h](0) defines helper functions to interact with a terminal.
+
+## u16.h
+
+The [u16.h](0) defines functions allowing to work with 16bit unsigned integers.
+
+## u32.h
+
+The [u32.h](0) defines functions allowing to work with 32bit unsigned integers.
+
+## u64.h
+
+The [u64.h](0) defines functions allowing to work with 64bit unsigned integers.
+
+
+<inc author.md>
+
+# REPOSITORY
+
+You can find the latest about *limb* from its official site at https://lila.oss/limb
+Latest source code can be browsed online at https://lila.oss/code/limb ; or you can clone its
+[git](1) repo from git://lila.oss/limb.git
+
+<inc bugs.md>