| Apache 2.0 is using ScanDoc to document the API's and global variables in |
| the code. This will explain the basics of how to document using Scandoc. |
| |
| To start a scandoc block, use /** |
| To end a scandoc block, use */ |
| |
| In the middle of the block, there are multiple tags we can use: |
| |
| Description of this functions purpose |
| @param parameter_name description |
| @tip Any information the programmer should know |
| @deffunc function prototype. |
| |
| The deffunc is not always necessary. ScanDoc 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: |
| |
| /** |
| * return the final element of the pathname |
| * @param pathname The path to get the final element of |
| * @return the final element of the path |
| * @tip Examples: |
| * <PRE> |
| * "/foo/bar/gum" -> "gum" |
| * "/foo/bar/gum/" -> "" |
| * "gum" -> "gum" |
| * "wi\\n32\\stuff" -> "stuff" |
| * </PRE> |
| * @deffunc const char * ap_filename_of_pathname(const char *pathname) |
| */ |
| |
| At the top of the header file, we always include |
| |
| /** |
| * @package Name of library header |
| */ |
| |
| ScanDoc 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 |
| |