aboutsummaryrefslogtreecommitdiffstats
path: root/src/msgb.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-06-12 21:44:18 +0200
committerHarald Welte <laforge@gnumonks.org>2017-06-12 21:55:54 +0000
commit96e2a00d7a9044d0b1a83909c11d8f24955bc7c8 (patch)
tree4bbe6cb49a766df4cdefa9fffd56bb953d51da75 /src/msgb.c
parent7165880ac279a9d2d7403749f171eb9c60e70657 (diff)
update/extend doxygen documentation
It's a pity that even with this patch we still are fare away from having the whole API documented. However, at least we have a more solid foundation. Updates not only extend the documentation, but also make sure it is rendered properly in the doxygen HTML. Change-Id: I1344bd1a6869fb00de7c1899a8db93bba9bafce3
Diffstat (limited to 'src/msgb.c')
-rw-r--r--src/msgb.c29
1 files changed, 27 insertions, 2 deletions
diff --git a/src/msgb.c b/src/msgb.c
index a27100c6..136ad886 100644
--- a/src/msgb.c
+++ b/src/msgb.c
@@ -20,10 +20,35 @@
/*! \addtogroup msgb
* @{
+ * \brief libosmocore message buffers, inspired by Linux kernel skbuff
+ *
+ * Inspired by the 'struct skbuff' of the Linux kernel, we implement a
+ * 'struct msgb' which we use for handling network
+ * packets aka messages aka PDUs.
+ *
+ * A msgb consists of
+ * * a header with some metadata, such as
+ * * a linked list header for message queues or the like
+ * * pointers to the headers of various protocol layers inside
+ * the packet
+ * * a data section consisting of
+ * * headroom, i.e. space in front of the message, to allow
+ * for additional headers being pushed in front of the current
+ * data
+ * * the curently occupied data for the message
+ * * tailroom, i.e. space at the end of the message, to
+ * allow more data to be added after the end of the current
+ * data
+ *
+ * We have plenty of utility functions around the \ref msgb:
+ * * allocation / release
+ * * enqueue / dequeue from/to message queues
+ * * prepending (pushing) and appending (putting) data
+ * * copying / resizing
+ * * hex-dumping to a string for debug purposes
*/
-/*! \file msgb.c
- */
+/*! \file msgb.c */
#include <unistd.h>
#include <string.h>