@@ -14,7 +14,10 @@ doc_srcs = $(top_srcdir)/src/libnetfilter_queue.c\
doxyfile.stamp: $(doc_srcs) Makefile build_man.sh
rm -rf html man
+ sed '/^static inline void [^_]/s/static //' \
+ $(top_srcdir)/include/libnetfilter_queue/linux_list.h > linux_list.h
doxygen doxygen.cfg >/dev/null
+ rm linux_list.h
if BUILD_MAN
$(abs_top_srcdir)/doxygen/build_man.sh libnetfilter_queue libnetfilter_queue.c
@@ -5,8 +5,7 @@ ABBREVIATE_BRIEF =
FULL_PATH_NAMES = NO
TAB_SIZE = 8
OPTIMIZE_OUTPUT_FOR_C = YES
-INPUT = @abs_top_srcdir@/src \
- @abs_top_srcdir@/include/libnetfilter_queue
+INPUT = @abs_top_srcdir@/src .
FILE_PATTERNS = *.c linux_list.h
RECURSIVE = YES
EXCLUDE_SYMBOLS = EXPORT_SYMBOL \
@@ -24,6 +24,20 @@
/**
* \defgroup List Circular doubly linked list implementation
+ *
+ * Unlike file units (which are re-used), network interface indicies
+ * increase monotonically as they are brought up and down.
+ *
+ * To keep memory usage predictable as indices increase,
+ * the nlif_* functions keep their data in a circular list
+ * (in fact a number of lists, to minimise search times).
+ *
+ * \manonly
+.SH SYNOPSIS
+.nf
+\fB
+#include <libnetfilter_queue/linux_list.h>
+\endmanonly
* @{
*/
include/libnetfilter_queue/linux_list.h contains static inline list_add and list_del which mnl programs may wish to use. Make a temporary copy of linux_list.h with 'static' removed and get doxygen to process that. Also add some detailed description and a SYNOPSIS line to linux_list.h. Some problems remain with the generated man page. Signed-off-by: Duncan Roe <duncan_roe@optusnet.com.au> --- doxygen/Makefile.am | 3 +++ doxygen/doxygen.cfg.in | 3 +-- include/libnetfilter_queue/linux_list.h | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-)