Apache 2.0 uses Doxygen to document the APIs and global variables in the code. This will explain the basics of how to document using Doxygen.
To start a documentation block, use /**
    To end a documentation block, use */
In the middle of the block, there are multiple tags we can use:
The deffunc is not always necessary. DoxyGen does not
    have a full parser  in it, so any prototype that use a macro in the
    return type declaration is too complex for scandoc. Those functions
    require a deffunc. An example (using > rather
    than >):
At the top of the header file, always include:
Doxygen uses a new HTML file for each package. The HTML files are named {Name_of_library_header}.html, so try to be concise with your names.
For a further discussion of the possibilities please refer to the Doxygen site.