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@xxxxxxxxxxxxxxx> --- doxygen/Makefile.am | 3 +++ doxygen/doxygen.cfg.in | 3 +-- include/libnetfilter_queue/linux_list.h | 14 ++++++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/doxygen/Makefile.am b/doxygen/Makefile.am index aae1ccc..1784afa 100644 --- a/doxygen/Makefile.am +++ b/doxygen/Makefile.am @@ -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 diff --git a/doxygen/doxygen.cfg.in b/doxygen/doxygen.cfg.in index c795df1..601d4ab 100644 --- a/doxygen/doxygen.cfg.in +++ b/doxygen/doxygen.cfg.in @@ -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 \ diff --git a/include/libnetfilter_queue/linux_list.h b/include/libnetfilter_queue/linux_list.h index 500481d..6e67b9a 100644 --- a/include/libnetfilter_queue/linux_list.h +++ b/include/libnetfilter_queue/linux_list.h @@ -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 * @{ */ -- 2.35.8