From 96e2a00d7a9044d0b1a83909c11d8f24955bc7c8 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 12 Jun 2017 21:44:18 +0200 Subject: 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 --- src/msgb.c | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'src/msgb.c') 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 #include -- cgit v1.2.3