The ker­nel sub­sys­tem API doc­u­ment­a­tion gen­er­a­tion framework.

I com­mit­ted the ker­nel sub­sys­tem API doc­u­ment­a­tion gen­er­a­tion frame­work. It al­lows to gen­er­ate the API doc­u­ment­a­tion of a sub­sys­tem (with doxy­gen) just by adding a short con­fig file (around 22 lines with com­ments and blank lines, maybe 14 lines without com­ments and blank lines). Here’s an ex­ample of such a config:

PROJECT_​NAME = “FreeBSD ker­nel sound device code”
EXTRACT_​ALL = YES # for un­doc­u­mented src, no warn­ings enabled
INPUT = $(DOXYGEN_SRC_PATH)/dev/sound/

GENERATE_​TAGFILE = dev_sound/dev_sound.tag
TAGFILES = dev_pci/dev_pci.tag=../../dev_pci/html \
@INCLUDE = common-Doxyfile

The frame­work is con­figured to not only gen­er­ate the HTML ver­sion, but also a PDF version.

Sub­sys­tems for which docs are gen­er­ated cur­rently (con­figs for oth­er sub­sys­tems are welcome):

  • cam
  • crypto
  • dev_​pci
  • dev_​sound
  • dev_​usb
  • geom
  • i4b
  • kern
  • lib­kern
  • linux
  • net80211
  • net­graph
  • net­in­et
  • netinet6
  • ne­tipsec
  • open­crypto
  • vm

People which want to help doc­u­ment­ing the code may want to have a look at the spe­cial com­mands doxy­gen un­der­stands.