diff options
author | Francis Dupont <fdupont@isc.org> | 2015-12-22 18:05:59 +0100 |
---|---|---|
committer | Francis Dupont <fdupont@isc.org> | 2015-12-22 18:05:59 +0100 |
commit | b67910a3893bc79eb77a48bae6c31214a317bd40 (patch) | |
tree | 55f72a141dab97266116b65b877749e0949949ba | |
parent | [master] Added ChangeLog entry for #4249. (diff) | |
parent | [4234] Fixed qa conflict (diff) | |
download | kea-b67910a3893bc79eb77a48bae6c31214a317bd40.tar.xz kea-b67910a3893bc79eb77a48bae6c31214a317bd40.zip |
[master] Finised merge of trac4234 (doxygen warnings)
37 files changed, 760 insertions, 172 deletions
@@ -1,3 +1,7 @@ +1075. [bug] fdupont + Removed warnings emitted during generation of Doxygen documentation. + (Trac #4234, git xxx) + 1074. [bug] marcin Addressed regression in distcheck after merge of #4224. Before the changes one of the lease files produced by diff --git a/doc/Doxyfile b/doc/Doxyfile index 106d415505..57bdb66ea1 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -1,8 +1,11 @@ -# Doxyfile 1.8.2 +# Doxyfile 1.8.6 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. # +# All text after a double hash (##) is considered a comment and is placed in +# front of the TAG it is preceding. +# # All text after a hash (#) is considered a comment and will be ignored. # The format is: # TAG = value [value, ...] @@ -19,12 +22,14 @@ # text before the first occurrence of this tag. Doxygen uses libiconv (or the # iconv built into libc) for the transcoding. See # http://www.gnu.org/software/libiconv for the list of possible encodings. +# The default value is: UTF-8. DOXYFILE_ENCODING = UTF-8 # The PROJECT_NAME tag is a single word (or sequence of words) that should # identify the project. Note that if you do not use Doxywizard you need # to put quotes around the project name if it contains spaces. +# The default value is: My Project. PROJECT_NAME = Kea @@ -54,15 +59,25 @@ PROJECT_LOGO = guide/kea-logo-100x70.png OUTPUT_DIRECTORY = html -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create +# If the CREATE_SUBDIRS tag is set to YES then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. +# The default value is: NO. CREATE_SUBDIRS = YES +# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# characters to appear in the names of generated files. If set to NO, non-ASCII +# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +# U+3044. +# The default value is: NO. +# XXX Only in 1.8.10 + +#ALLOW_UNICODE_NAMES = NO + # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. @@ -73,6 +88,7 @@ CREATE_SUBDIRS = YES # messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, # Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, # Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. +# The default value is: English. OUTPUT_LANGUAGE = English @@ -80,6 +96,7 @@ OUTPUT_LANGUAGE = English # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. +# The default value is: YES. BRIEF_MEMBER_DESC = YES @@ -87,6 +104,7 @@ BRIEF_MEMBER_DESC = YES # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. +# The default value is: YES. REPEAT_BRIEF = YES @@ -98,13 +116,14 @@ REPEAT_BRIEF = YES # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" +# "represents" "a" "an" "the". ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. +# The default value is: NO. ALWAYS_DETAILED_SEC = NO @@ -112,23 +131,27 @@ ALWAYS_DETAILED_SEC = NO # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. +# The default value is: NO. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. +# The default value is: YES. -FULL_PATH_NAMES = No +FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the -# path to strip. Note that you specify absolute paths here, but also -# relative paths, which will be relative from the directory where doxygen is -# started. +# path to strip. +# +# Note that you can specify absolute paths here, but also relative paths, which +# will be relative from the directory where doxygen is started. +# This tag requires that the tag FULL_PATH_NAMES is set to YES. STRIP_FROM_PATH = @@ -144,6 +167,7 @@ STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful if your file system # doesn't support long names like on DOS, Mac, or CD-ROM. +# The default value is: NO. SHORT_NAMES = NO @@ -152,6 +176,7 @@ SHORT_NAMES = NO # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like regular Qt-style comments # (thus requiring an explicit @brief command for a brief description.) +# The default value is: NO. JAVADOC_AUTOBRIEF = YES @@ -160,6 +185,7 @@ JAVADOC_AUTOBRIEF = YES # comment as the brief description. If set to NO, the comments # will behave just like regular Qt-style comments (thus requiring # an explicit \brief command for a brief description.) +# The default value is: NO. QT_AUTOBRIEF = NO @@ -168,23 +194,30 @@ QT_AUTOBRIEF = NO # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. +# +# Note that setting this tag to YES also means that rational rose comments are +# not recognized any more. +# The default value is: NO. MULTILINE_CPP_IS_BRIEF = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. +# The default value is: YES. INHERIT_DOCS = YES # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. +# The default value is: NO. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. +# Minimum value: 1, maximum value: 16, default value: 4. TAB_SIZE = 4 @@ -208,6 +241,7 @@ TCL_SUBST = # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. +# The default value is: NO. OPTIMIZE_OUTPUT_FOR_C = NO @@ -215,18 +249,21 @@ OPTIMIZE_OUTPUT_FOR_C = NO # sources only. Doxygen will then generate output that is more tailored for # Java. For instance, namespaces will be presented as packages, qualified # scopes will look different, etc. +# The default value is: NO. OPTIMIZE_OUTPUT_JAVA = NO # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran # sources only. Doxygen will then generate output that is more tailored for # Fortran. +# The default value is: NO. OPTIMIZE_FOR_FORTRAN = NO # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL # sources. Doxygen will then generate output that is tailored for # VHDL. +# The default value is: NO. OPTIMIZE_OUTPUT_VHDL = NO @@ -237,9 +274,12 @@ OPTIMIZE_OUTPUT_VHDL = NO # and language is one of the parsers supported by doxygen: IDL, Java, # Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, # C++. For instance to make doxygen treat .inc files as Fortran files (default -# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note -# that for custom extensions you also need to set FILE_PATTERNS otherwise the -# files are not read by doxygen. +# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. +# +# Note For files without extension you can use no_extension as a placeholder. +# +# Note that for custom extensions you also need to set FILE_PATTERNS otherwise +# the files are not read by doxygen. EXTENSION_MAPPING = @@ -249,6 +289,7 @@ EXTENSION_MAPPING = # The output of markdown processing is further processed by doxygen, so you # can mix doxygen, HTML, and XML commands with Markdown formatting. # Disable only in case of backward compatibilities issues. +# The default value is: YES. MARKDOWN_SUPPORT = YES @@ -256,6 +297,7 @@ MARKDOWN_SUPPORT = YES # or namespaces to their corresponding documentation. Such a link can be # prevented in individual cases by by putting a % sign in front of the word or # globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. AUTOLINK_SUPPORT = YES @@ -265,21 +307,25 @@ AUTOLINK_SUPPORT = YES # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. # func(std::string) {}). This also makes the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. +# The default value is: NO. BUILTIN_STL_SUPPORT = YES # If you use Microsoft's C++/CLI language, you should set this option to YES to # enable parsing support. +# The default value is: NO. CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. # Doxygen will parse them like normal C++ but will assume all classes use public # instead of private inheritance when no explicit protection keyword is present. +# The default value is: NO. SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate getter and setter methods for a property. Setting this option to YES (the default) will make doxygen replace the get and set methods by a property in the documentation. This will only work if the methods are indeed getting or setting a simple type. If this is not the case, or you want to show the methods anyway, you should set this option to NO. +# The default value is: YES. IDL_PROPERTY_SUPPORT = YES @@ -287,14 +333,25 @@ IDL_PROPERTY_SUPPORT = YES # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. +# The default value is: NO. DISTRIBUTE_GROUP_DOC = NO +# If one adds a struct or class to a group and this option is enabled, +# then also any nested class or struct is added to the same group. By +# default this option is disabled and one has to add nested compounds +# explicitly via \ingroup. +# The default value is: NO. +# XXX Only in 1.8.10 + +#GROUP_NESTED_COMPOUNDS = NO + # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. +# The default value is: YES. SUBGROUPING = YES @@ -302,6 +359,7 @@ SUBGROUPING = YES # unions are shown inside the group in which they are included (e.g. using # @ingroup) instead of on a separate page (for HTML and Man pages) or # section (for LaTeX and RTF). +# The default value is: NO. INLINE_GROUPED_CLASSES = NO @@ -311,6 +369,7 @@ INLINE_GROUPED_CLASSES = NO # documentation), provided this scope is documented. If set to NO (the default), # structs, classes, and unions are shown on a separate page (for HTML and Man # pages) or section (for LaTeX and RTF). +# The default value is: NO. INLINE_SIMPLE_STRUCTS = NO @@ -321,6 +380,7 @@ INLINE_SIMPLE_STRUCTS = NO # namespace, or class. And the struct will be named TypeS. This can typically # be useful for C code in case the coding convention dictates that all compound # types are typedef'ed and only the typedef is referenced, never the tag name. +# The default value is: NO. TYPEDEF_HIDES_STRUCT = NO @@ -332,6 +392,7 @@ TYPEDEF_HIDES_STRUCT = NO # If the cache is too large, memory is wasted. The cache size is given by this # formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols. +# Minimum value: 0, maximum value: 9, default value: 0. LOOKUP_CACHE_SIZE = 0 @@ -343,27 +404,34 @@ LOOKUP_CACHE_SIZE = 0 # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. EXTRACT_ALL = YES # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. +# The default value is: NO. EXTRACT_PRIVATE = NO # If the EXTRACT_PACKAGE tag is set to YES all members with package or internal # scope will be included in the documentation. +# The default value is: NO. EXTRACT_PACKAGE = NO # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. +# The default value is: NO. EXTRACT_STATIC = NO # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. +# The default value is: YES. EXTRACT_LOCAL_CLASSES = YES @@ -371,6 +439,7 @@ EXTRACT_LOCAL_CLASSES = YES # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. +# The default value is: NO. EXTRACT_LOCAL_METHODS = NO @@ -379,6 +448,7 @@ EXTRACT_LOCAL_METHODS = NO # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default # anonymous namespaces are hidden. +# The default value is: NO. EXTRACT_ANON_NSPACES = NO @@ -387,6 +457,7 @@ EXTRACT_ANON_NSPACES = NO # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. HIDE_UNDOC_MEMBERS = NO @@ -394,6 +465,7 @@ HIDE_UNDOC_MEMBERS = NO # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. HIDE_UNDOC_CLASSES = NO @@ -401,6 +473,7 @@ HIDE_UNDOC_CLASSES = NO # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. +# The default value is: NO. HIDE_FRIEND_COMPOUNDS = NO @@ -408,6 +481,7 @@ HIDE_FRIEND_COMPOUNDS = NO # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. +# The default value is: NO. HIDE_IN_BODY_DOCS = NO @@ -415,6 +489,7 @@ HIDE_IN_BODY_DOCS = NO # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. +# The default value is: NO. INTERNAL_DOCS = NO @@ -423,29 +498,42 @@ INTERNAL_DOCS = NO # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. +# The default value is: system dependent. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. +# The default value is: NO. HIDE_SCOPE_NAMES = NO +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# append additional text to a page's title, such as Class Reference. If set to +# YES the compound reference will be hidden. +# The default value is: NO. +# XXX Only in 1.8.10 + +#HIDE_COMPOUND_REFERENCE= NO + # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. +# The default value is: YES. SHOW_INCLUDE_FILES = YES # If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen # will list include files with double quotes in the documentation # rather than with sharp brackets. +# The default value is: NO. FORCE_LOCAL_INCLUDES = NO # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. +# The default value is: YES. INLINE_INFO = YES @@ -453,6 +541,7 @@ INLINE_INFO = YES # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. +# The default value is: YES. SORT_MEMBER_DOCS = YES @@ -460,6 +549,7 @@ SORT_MEMBER_DOCS = YES # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. +# The default value is: NO. SORT_BRIEF_DOCS = YES @@ -470,12 +560,14 @@ SORT_BRIEF_DOCS = YES # SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. # This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO # and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. +# The default value is: NO. SORT_MEMBERS_CTORS_1ST = YES # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the # hierarchy of group names into alphabetical order. If set to NO (the default) # the group names will appear in their defined order. +# The default value is: NO. SORT_GROUP_NAMES = YES @@ -486,6 +578,7 @@ SORT_GROUP_NAMES = YES # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. +# The default value is: NO. SORT_BY_SCOPE_NAME = NO @@ -495,30 +588,35 @@ SORT_BY_SCOPE_NAME = NO # if there is only one candidate or it is obvious which candidate to choose # by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen # will still accept a match between prototype and implementation in such cases. +# The default value is: NO. STRICT_PROTO_MATCHING = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. +# The default value is: YES. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. +# The default value is: YES. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. +# The default value is: YES. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. +# The default value is: YES. GENERATE_DEPRECATEDLIST= YES @@ -534,25 +632,29 @@ ENABLED_SECTIONS = # The appearance of the initializer of individual variables and macros in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. +# Minimum value: 0, maximum value: 10000, default value: 30. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. +# The default value is: YES. SHOW_USED_FILES = YES # Set the SHOW_FILES tag to NO to disable the generation of the Files page. # This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. +# Folder Tree View (if specified). +# The default value is: YES. SHOW_FILES = YES # Set the SHOW_NAMESPACES tag to NO to disable the generation of the # Namespaces page. # This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. +# and from the Folder Tree View (if specified). +# The default value is: YES. SHOW_NAMESPACES = YES @@ -572,6 +674,10 @@ FILE_VERSION_FILTER = # that represents doxygen's defaults, run doxygen with the -l option. # You can optionally specify a file name after the option, if omitted # DoxygenLayout.xml will be used as the name of the layout file. +# +# Note that if you run doxygen from a directory containing a file +# called DoxygenLayout.xml, doxygen will parse it automatically even +# if the LAYOUT_FILE tag is left empty. LAYOUT_FILE = @@ -591,18 +697,23 @@ CITE_BIB_FILES = # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. +# The default value is: NO. QUIET = YES # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. +# +# Tip: Turn warnings on while writing the documentation. +# The default value is: YES. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. +# The default value is: YES. WARN_IF_UNDOCUMENTED = YES @@ -610,6 +721,7 @@ WARN_IF_UNDOCUMENTED = YES # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. +# The default value is: YES. WARN_IF_DOC_ERROR = YES @@ -618,6 +730,7 @@ WARN_IF_DOC_ERROR = YES # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. +# The default value is: NO. WARN_NO_PARAMDOC = NO @@ -627,6 +740,7 @@ WARN_NO_PARAMDOC = NO # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) +# The default value is: $file:$line: $text. WARN_FORMAT = "$file:$line: $text" @@ -644,6 +758,7 @@ WARN_LOGFILE = # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. +# Note: If this tag is empty the current directory is searched. INPUT = ../src/bin/d2 \ ../src/bin/dhcp4 \ @@ -652,8 +767,10 @@ INPUT = ../src/bin/d2 \ ../src/bin/sockcreator \ ../src/bin/lfc \ ../src/hooks/dhcp/user_chk \ + ../src/lib/asiodns \ ../src/lib/asiolink \ ../src/lib/cc \ + ../src/lib/cfgrpt \ ../src/lib/config \ ../src/lib/cryptolink \ ../src/lib/dhcp \ @@ -666,10 +783,15 @@ INPUT = ../src/bin/d2 \ ../src/lib/hooks \ ../src/lib/log \ ../src/lib/log/compiler \ + ../src/lib/log/interprocess \ + ../src/lib/stats \ ../src/lib/testutils \ ../src/lib/util \ + ../src/lib/util/encode \ ../src/lib/util/io \ + ../src/lib/util/random \ ../src/lib/util/threads \ + ../src/lib/util/unittests \ devel # This tag can be used to specify the character encoding of the source files @@ -677,6 +799,7 @@ INPUT = ../src/bin/d2 \ # also the default input encoding. Doxygen uses libiconv (or the iconv built # into libc) for the transcoding. See http://www.gnu.org/software/libiconv for # the list of possible encodings. +# The default value is: UTF-8. INPUT_ENCODING = UTF-8 @@ -684,9 +807,11 @@ INPUT_ENCODING = UTF-8 # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl +# *.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii, .ixx, *.ipp, *.i++, +# *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, .h++, *.cs, +# *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, .md, +# *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, +# *.qsf, *.as and *.js. FILE_PATTERNS = *.c \ *.cc \ @@ -695,8 +820,8 @@ FILE_PATTERNS = *.c \ *.dox # The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. +# should be searched for input files as well. +# The default value is: NO. RECURSIVE = NO @@ -706,11 +831,14 @@ RECURSIVE = NO # Note that relative paths are relative to the directory from which doxygen is # run. -EXCLUDE = +EXCLUDE = ../src/lib/dns/master_lexer.cc \ + ../src/lib/dns/rdataclass.cc \ + ../src/lib/eval/lexer.cc # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or # directories that are symbolic links (a Unix file system feature) are excluded # from the input. +# The default value is: NO. EXCLUDE_SYMLINKS = NO @@ -728,6 +856,9 @@ EXCLUDE_PATTERNS = */*-placeholder.* \ # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, # AClass::ANamespace, ANamespace::*Test +# +# Note that the wildcards are matched against the file with absolute +# path, so to exclude all test directories use the pattern */test/* EXCLUDE_SYMBOLS = @@ -747,7 +878,7 @@ EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. +# The default value is: NO. EXAMPLE_RECURSIVE = NO @@ -765,6 +896,11 @@ IMAGE_PATH = ../doc/images ../src/lib/hooks/images ../src/bin/d2/ima # to standard output. # If FILTER_PATTERNS is specified, this tag will be # ignored. +# +# Note that the filter must not add or remove lines; it is applied +# before the code is scanned, but not when the output code is +# generated. If lines are added or removed, the anchors will not be +# placed correctly. INPUT_FILTER = @@ -782,6 +918,7 @@ FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). +# The default value is: NO. FILTER_SOURCE_FILES = NO @@ -793,6 +930,13 @@ FILTER_SOURCE_FILES = NO FILTER_SOURCE_PATTERNS = +# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want to reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- @@ -801,29 +945,34 @@ FILTER_SOURCE_PATTERNS = # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. +# The default value is: NO. SOURCE_BROWSER = YES # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. +# The default value is: NO. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C, C++ and Fortran comments will always remain visible. +# The default value is: YES. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES # then for each documented function all documented # functions referencing it will be listed. +# The default value is: NO. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES # then for each documented function all documented entities # called/used by that function will be listed. +# The default value is: NO. REFERENCES_RELATION = YES @@ -832,20 +981,46 @@ REFERENCES_RELATION = YES # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will # link to the source code. # Otherwise they will link to the documentation. +# The default value is: YES. REFERENCES_LINK_SOURCE = YES +# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the +# source code will show a tooltip with additional information such as prototype, +# brief description and links to the definition and documentation. Since this +# will make the HTML file larger and loading of large files a bit slower, you +# can opt to disable this feature. +# The default value is: YES. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +SOURCE_TOOLTIPS = YES + # If the USE_HTAGS tag is set to YES then the references to source code # will point to the HTML generated by the htags(1) tool instead of doxygen # built-in source browser. The htags tool is part of GNU's global source # tagging system (see http://www.gnu.org/software/global/global.html). You # will need version 4.8.6 or higher. +# +# To use it do the following: +# - Install the latest version of global +# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Make sure the INPUT points to the root of the source tree +# - Run doxygen as normal +# +# Doxygen will invoke htags (and that will in turn invoke gtags), so these +# tools must be available from the command line (i.e. in the search path). +# +# The result: instead of the source browser generated by doxygen, the links to +# source code will now point to the output of htags. +# The default value is: NO. +# This tag requires that the tag SOURCE_BROWSER is set to YES. USE_HTAGS = NO # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. +# The default value is: YES. VERBATIM_HEADERS = YES @@ -856,12 +1031,15 @@ VERBATIM_HEADERS = YES # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. +# The default value is: YES. ALPHABETICAL_INDEX = YES # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) +# in which this list will be split. +# Minimum value: 1, maximum value: 20, default value: 5. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. COLS_IN_ALPHA_INDEX = 2 @@ -869,6 +1047,7 @@ COLS_IN_ALPHA_INDEX = 2 # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. IGNORE_PREFIX = @@ -876,20 +1055,23 @@ IGNORE_PREFIX = # configuration options related to the HTML output #--------------------------------------------------------------------------- -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. +# If the GENERATE_HTML tag is set to YES Doxygen will generate HTML output. +# The default value is: YES. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. +# put in front of it. +# The default directory is: html. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_OUTPUT = ../html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. +# each generated HTML page (for example: .htm,.php,.asp). +# The default value is: .html. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_FILE_EXTENSION = .html @@ -903,12 +1085,14 @@ HTML_FILE_EXTENSION = .html # that header. Note that the header is subject to change so you typically # have to redo this when upgrading to a newer version of doxygen or when # changing the value of configuration settings such as GENERATE_TREEVIEW! +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_FOOTER = @@ -918,6 +1102,7 @@ HTML_FOOTER = # generate a default style sheet. Note that it is recommended to use # HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this # tag will in the future become obsolete. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_STYLESHEET = @@ -928,6 +1113,7 @@ HTML_STYLESHEET = # since it does not replace the standard style sheet and is therefor more # robust against future updates. Doxygen will copy the style sheet file to # the output directory. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_STYLESHEET = @@ -937,6 +1123,7 @@ HTML_EXTRA_STYLESHEET = # $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these # files. In the HTML_STYLESHEET file, use the file name only. Also note that # the files will be copied as-is; there are no commands or markers available. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_FILES = @@ -946,13 +1133,16 @@ HTML_EXTRA_FILES = # see http://en.wikipedia.org/wiki/Hue for more information. # For instance the value 0 represents red, 60 is yellow, 120 is green, # 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. +# Minimum value: 0, maximum value: 359, default value: 220. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of # the colors in the HTML output. For a value of 0 the output will use # grayscales only. A value of 255 will produce the most vivid colors. +# Minimum value: 0, maximum value: 255, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_SAT = 100 @@ -962,18 +1152,24 @@ HTML_COLORSTYLE_SAT = 100 # the output darker. The value divided by 100 is the actual gamma applied, # so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, # and 100 does not change the gamma. +# Minimum value: 40, maximum value: 240, default value: 80. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_COLORSTYLE_GAMMA = 80 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting # this to NO can help when comparing the output of multiple runs. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_TIMESTAMP = YES # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_DYNAMIC_SECTIONS = YES @@ -985,6 +1181,8 @@ HTML_DYNAMIC_SECTIONS = YES # So setting the number of entries 1 will produce a full collapsed tree by # default. 0 is a special value representing an infinite number of entries # and will result in a full expanded tree by default. +# Minimum value: 0, maximum value: 9999, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. HTML_INDEX_NUM_ENTRIES = 100 @@ -998,6 +1196,8 @@ HTML_INDEX_NUM_ENTRIES = 100 # it at startup. # See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html # for more information. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_DOCSET = NO @@ -1005,6 +1205,8 @@ GENERATE_DOCSET = NO # feed. A documentation feed provides an umbrella under which multiple # documentation sets from a single provider (such as a company or product suite) # can be grouped. +# The default value is: Doxygen generated docs. +# This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_FEEDNAME = "Doxygen generated docs" @@ -1012,16 +1214,22 @@ DOCSET_FEEDNAME = "Doxygen generated docs" # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_BUNDLE_ID = org.doxygen.Project # When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely # identify the documentation publisher. This should be a reverse domain-name # style string, e.g. com.mycompany.MyDocSet.documentation. +# The default value is: org.doxygen.Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_PUBLISHER_ID = org.doxygen.Publisher # The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. +# The default value is: Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. DOCSET_PUBLISHER_NAME = Publisher @@ -1029,6 +1237,8 @@ DOCSET_PUBLISHER_NAME = Publisher # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_HTMLHELP = NO @@ -1036,6 +1246,7 @@ GENERATE_HTMLHELP = NO # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_FILE = @@ -1043,29 +1254,37 @@ CHM_FILE = # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING # is used to encode HtmlHelp index (hhk), content (hhc) and project file # content. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_INDEX_ENCODING = # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. TOC_EXPAND = NO @@ -1073,30 +1292,38 @@ TOC_EXPAND = NO # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated # that can be used as input for Qt's qhelpgenerator to generate a # Qt Compressed Help (.qch) of the generated HTML documentation. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. GENERATE_QHP = NO # If the QHG_LOCATION tag is specified, the QCH_FILE tag can # be used to specify the file name of the resulting .qch file. # The path specified is relative to the HTML output folder. +# This tag requires that the tag GENERATE_QHP is set to YES. QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#namespace +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_QHP is set to YES. QHP_NAMESPACE = # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating # Qt Help Project output. For more information please see # http://doc.trolltech.com/qthelpproject.html#virtual-folders +# The default value is: doc. +# This tag requires that the tag GENERATE_QHP is set to YES. QHP_VIRTUAL_FOLDER = doc # If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to # add. For more information please see # http://doc.trolltech.com/qthelpproject.html#custom-filters +# This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_NAME = @@ -1104,6 +1331,7 @@ QHP_CUST_FILTER_NAME = # custom filter to add. For more information please see # <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters"> # Qt Help Project / Custom Filters</a>. +# This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_ATTRS = @@ -1112,6 +1340,7 @@ QHP_CUST_FILTER_ATTRS = # filter section matches. # <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> # Qt Help Project / Filter Attributes</a>. +# This tag requires that the tag GENERATE_QHP is set to YES. QHP_SECT_FILTER_ATTRS = @@ -1119,6 +1348,7 @@ QHP_SECT_FILTER_ATTRS = # be used to specify the location of Qt's qhelpgenerator. # If non-empty doxygen will try to run qhelpgenerator on the generated # .qhp file. +# This tag requires that the tag GENERATE_QHP is set to YES. QHG_LOCATION = @@ -1130,12 +1360,16 @@ QHG_LOCATION = # the directory within the plugins directory should be the same as # the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before # the help appears. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_ECLIPSEHELP = NO # A unique identifier for the eclipse help plugin. When installing the plugin # the directory name containing the HTML and XML files should also have # this name. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. ECLIPSE_DOC_ID = org.doxygen.Project @@ -1144,6 +1378,8 @@ ECLIPSE_DOC_ID = org.doxygen.Project # the value YES disables it. Since the tabs have the same information as the # navigation tree you can set this option to NO if you already set # GENERATE_TREEVIEW to YES. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. DISABLE_INDEX = NO @@ -1156,6 +1392,8 @@ DISABLE_INDEX = NO # Windows users are probably better off using the HTML help feature. # Since the tree basically has the same information as the tab index you # could consider to set DISABLE_INDEX to NO when enabling this option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = YES @@ -1163,17 +1401,23 @@ GENERATE_TREEVIEW = YES # (range [0,1..20]) that doxygen will group on one line in the generated HTML # documentation. Note that a value of 0 will completely suppress the enum # values from appearing in the overview section. +# Minimum value: 0, maximum value: 20, default value: 4. +# This tag requires that the tag GENERATE_HTML is set to YES. ENUM_VALUES_PER_LINE = 4 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. +# Minimum value: 0, maximum value: 1500, default value: 250. +# This tag requires that the tag GENERATE_HTML is set to YES. TREEVIEW_WIDTH = 180 # When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open # links to external symbols imported via tag files in a separate window. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. EXT_LINKS_IN_WINDOW = NO @@ -1182,6 +1426,8 @@ EXT_LINKS_IN_WINDOW = NO # when you change the font size after a successful doxygen run you need # to manually remove any form_*.png images from the HTML output directory # to force them to be regenerated. +# Minimum value: 8, maximum value: 50, default value: 10. +# This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_FONTSIZE = 10 @@ -1190,6 +1436,8 @@ FORMULA_FONTSIZE = 10 # not supported properly for IE 6.0, but are supported on all modern browsers. # Note that when changing this option you need to delete any form_*.png files # in the HTML output before the changes have effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. FORMULA_TRANSPARENT = YES @@ -1199,9 +1447,21 @@ FORMULA_TRANSPARENT = YES # have LaTeX installed or if you want to formulas look prettier in the HTML # output. When enabled you may also need to install MathJax separately and # configure the path to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. USE_MATHJAX = NO +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. See the MathJax site (see: +# http://docs.mathjax.org/en/latest/output.html) for more details. +# Possible values are: HTML-CSS (which is slower, but has the best +# compatibility), NativeMML (i.e. MathML) and SVG. +# The default value is: HTML-CSS. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_FORMAT = HTML-CSS + # When MathJax is enabled you need to specify the location relative to the # HTML output directory using the MATHJAX_RELPATH option. The destination # directory should contain the MathJax.js script. For instance, if the mathjax @@ -1211,14 +1471,25 @@ USE_MATHJAX = NO # installing MathJax. # However, it is strongly recommended to install a local # copy of MathJax from http://www.mathjax.org before deployment. +# The default value is: http://cdn.mathjax.org/mathjax/latest. +# This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest # The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension # names that should be enabled during MathJax rendering. +# This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces +# of code that will be used on startup of the MathJax code. See the MathJax site +# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# example see the documentation. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_CODEFILE = + # When the SEARCHENGINE tag is enabled doxygen will generate a search box # for the HTML output. The underlying search engine uses javascript # and DHTML and should work on any modern browser. Note that when using @@ -1226,6 +1497,8 @@ MATHJAX_EXTENSIONS = # (GENERATE_DOCSET) there is already a search function so this one should # typically be disabled. For large projects the javascript based search engine # can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. SEARCHENGINE = NO @@ -1236,21 +1509,78 @@ SEARCHENGINE = NO # based approach is that it scales better to large projects and allows # full text search. The disadvantages are that it is more difficult to setup # and does not have live searching capabilities. +# The default value is: NO. +# This tag requires that the tag SEARCHENGINE is set to YES. SERVER_BASED_SEARCH = NO +# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP +# script for searching. Instead the search results are written to an XML file +# which needs to be processed by an external indexer. Doxygen will invoke an +# external search engine pointed to by the SEARCHENGINE_URL option to obtain the +# search results. +# +# Doxygen ships with an example indexer ( doxyindexer) and search engine +# (doxysearch.cgi) which are based on the open source search engine library +# Xapian (see: http://xapian.org/). +# +# See the section "External Indexing and Searching" for details. +# The default value is: NO. +# This tag requires that the tag SEARCHENGINE is set to YES. + +EXTERNAL_SEARCH = NO + +# The SEARCHENGINE_URL should point to a search engine hosted by a web server +# which will return the search results when EXTERNAL_SEARCH is enabled. +# +# Doxygen ships with an example indexer ( doxyindexer) and search engine +# (doxysearch.cgi) which are based on the open source search engine library +# Xapian (see: http://xapian.org/). See the section "External Indexing and +# Searching" for details. +# This tag requires that the tag SEARCHENGINE is set to YES. + +SEARCHENGINE_URL = + +# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed +# search data is written to a file for indexing by an external tool. With the +# SEARCHDATA_FILE tag the name of this file can be specified. +# The default file is: searchdata.xml. +# This tag requires that the tag SEARCHENGINE is set to YES. + +SEARCHDATA_FILE = searchdata.xml + +# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the +# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is +# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple +# projects and redirect the results back to the right project. +# This tag requires that the tag SEARCHENGINE is set to YES. + +EXTERNAL_SEARCH_ID = + +# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen +# projects other than the one defined by this configuration file, but that are +# all added to the same external search index. Each project needs to have a +# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of +# to a relative location where the documentation can be found. The format is: +# EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ... +# This tag requires that the tag SEARCHENGINE is set to YES. + +EXTRA_SEARCH_MAPPINGS = + #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. +# If the GENERATE_LATEX tag is set to YES Doxygen will generate Latex output. +# The default value is: YES. GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. +# put in front of it. +# The default directory is: latex. +# This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_OUTPUT = latex @@ -1259,29 +1589,38 @@ LATEX_OUTPUT = latex # Note that when enabling USE_PDFLATEX this option is only used for # generating bitmaps for formulas in the HTML output, but not in the # Makefile that is written to the output directory. +# The default file is: latex. +# This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. +# generate index for LaTeX. +# The default file is: makeindex. +# This tag requires that the tag GENERATE_LATEX is set to YES. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. +# executive. +# The default value is: a4. +# This tag requires that the tag GENERATE_LATEX is set to YES. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. +# If left blank no extra packages will be included. +# This tag requires that the tag GENERATE_LATEX is set to YES. EXTRA_PACKAGES = @@ -1289,6 +1628,7 @@ EXTRA_PACKAGES = # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! +# This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_HEADER = @@ -1296,19 +1636,44 @@ LATEX_HEADER = # the generated latex document. The footer should contain everything after # the last chapter. If it is left blank doxygen will generate a # standard footer. Notice: only use this tag if you know what you are doing! +# This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_FOOTER = +# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# LaTeX style sheets that are included after the standard style sheets created +# by doxygen. Using this option one can overrule certain style aspects. Doxygen +# will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance +# (e.g. the last style sheet in the list overrules the setting of the +# previous ones in the list). +# This tag requires that the tag GENERATE_LATEX is set to YES. +# XXX Only in 1.8.10 + +#LATEX_EXTRA_STYLESHEET = + +# The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the LATEX_OUTPUT output +# directory. Note that the files will be copied as-is; there are no commands or +# markers available. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_EXTRA_FILES = + # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. +# The default value is: YES. +# This tag requires that the tag GENERATE_LATEX is set to YES. PDF_HYPERLINKS = NO # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. +# The default value is: YES. +# This tag requires that the tag GENERATE_LATEX is set to YES. USE_PDFLATEX = NO @@ -1316,12 +1681,16 @@ USE_PDFLATEX = NO # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_HIDE_INDICES = NO @@ -1329,12 +1698,16 @@ LATEX_HIDE_INDICES = NO # source code with syntax highlighting in the LaTeX output. # Note that which sources are shown also depends on other settings # such as SOURCE_BROWSER. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_SOURCE_CODE = NO # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See # http://en.wikipedia.org/wiki/BibTeX for more info. +# The default value is: plain. +# This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_BIB_STYLE = plain @@ -1345,18 +1718,23 @@ LATEX_BIB_STYLE = plain # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. +# The default value is: NO. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. +# The default directory is: rtf. +# This tag requires that the tag GENERATE_RTF is set to YES. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. +# The default value is: NO. +# This tag requires that the tag GENERATE_RTF is set to YES. COMPACT_RTF = NO @@ -1366,45 +1744,75 @@ COMPACT_RTF = NO # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. +# The default value is: NO. +# This tag requires that the tag GENERATE_RTF is set to YES. RTF_HYPERLINKS = NO # Load style sheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. +# This tag requires that the tag GENERATE_RTF is set to YES. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. +# This tag requires that the tag GENERATE_RTF is set to YES. RTF_EXTENSIONS_FILE = +# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include +# source code with syntax highlighting in the RTF output. +# +# Note that which sources are shown also depends on other settings such as +# SOURCE_BROWSER. +# The default value is: NO. +# This tag requires that the tag GENERATE_RTF is set to YES. +# XXX Only in 1.8.10 + +#RTF_SOURCE_CODE = NO + #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages +# If the GENERATE_MAN tag is set to YES Doxygen will generate man pages for +# classes and files. +# The default value is: NO. GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. +# put in front of it. +# The default directory is: man. +# This tag requires that the tag GENERATE_MAN is set to YES. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) +# The default value is: .3. +# This tag requires that the tag GENERATE_MAN is set to YES. MAN_EXTENSION = .3 +# The MAN_SUBDIR tag determines the name of the directory created within +# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by +# MAN_EXTENSION with the initial . removed. +# This tag requires that the tag GENERATE_MAN is set to YES. +# XXX Only in 1.8.10 + +#MAN_SUBDIR = + # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. +# The default value is: NO. +# This tag requires that the tag GENERATE_MAN is set to YES. MAN_LINKS = NO @@ -1415,35 +1823,73 @@ MAN_LINKS = NO # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. +# The default value is: NO. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. +# The default directory is: xml. +# This tag requires that the tag GENERATE_XML is set to YES. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. +# This tag requires that the tag GENERATE_XML is set to YES. +# XXX Obsolete in 1.8.10 -XML_SCHEMA = +#XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. +# This tag requires that the tag GENERATE_XML is set to YES. +# XXX Obsolete in 1.8.10 -XML_DTD = +#XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. +# The default value is: YES. +# This tag requires that the tag GENERATE_XML is set to YES. XML_PROGRAMLISTING = NO #--------------------------------------------------------------------------- +# Configuration options related to the DOCBOOK output +#--------------------------------------------------------------------------- + +# If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files +# that can be used to generate PDF. +# The default value is: NO. + +GENERATE_DOCBOOK = NO + +# The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be put in +# front of it. +# The default directory is: docbook. +# This tag requires that the tag GENERATE_DOCBOOK is set to YES. + +DOCBOOK_OUTPUT = docbook + +# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will +# include the program listings (including syntax highlighting and +# cross-referencing information) to the DOCBOOK output. Note that +# enabling this will significantly increase the size of the DOCBOOK +# output. +# The default value is: NO. +# This tag requires that the tag GENERATE_DOCBOOK is set to YES. +# XXX Only in 1.8.10 + +#DOCBOOK_PROGRAMLISTING = NO + +#--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- @@ -1452,6 +1898,7 @@ XML_PROGRAMLISTING = NO # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. +# The default value is: NO. GENERATE_AUTOGEN_DEF = NO @@ -1464,12 +1911,15 @@ GENERATE_AUTOGEN_DEF = NO # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. +# The default value is: NO. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. +# The default value is: NO. +# This tag requires that the tag GENERATE_PERLMOD is set to YES. PERLMOD_LATEX = NO @@ -1480,6 +1930,8 @@ PERLMOD_LATEX = NO # On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. +# The default value is: YES. +# This tag requires that the tag GENERATE_PERLMOD is set to YES. PERLMOD_PRETTY = YES @@ -1487,6 +1939,7 @@ PERLMOD_PRETTY = YES # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. +# This tag requires that the tag GENERATE_PERLMOD is set to YES. PERLMOD_MAKEVAR_PREFIX = @@ -1494,33 +1947,40 @@ PERLMOD_MAKEVAR_PREFIX = # Configuration options related to the preprocessor #--------------------------------------------------------------------------- -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. +# If the ENABLE_PREPROCESSING tag is set to YES Doxygen will evaluate all +# C-preprocessor directives found in the sources and include files. +# The default value is: YES. ENABLE_PREPROCESSING = YES -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all +# macro names in the source code. If set to NO only conditional +# compilation will be performed. Macro expansion can be done in a +# controlled way by setting EXPAND_ONLY_PREDEF to YES. +# The default value is: NO. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. MACRO_EXPANSION = YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_DEFINED tags. +# The default value is: NO. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. EXPAND_ONLY_PREDEF = NO -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. +# If the SEARCH_INCLUDES tag is set to YES the includes files in the +# INCLUDE_PATH will be searched if a #include is found. +# The default value is: YES. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. +# This tag requires that the tag SEARCH_INCLUDES is set to YES. INCLUDE_PATH = @@ -1528,6 +1988,7 @@ INCLUDE_PATH = # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. INCLUDE_FILE_PATTERNS = @@ -1538,6 +1999,7 @@ INCLUDE_FILE_PATTERNS = # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. PREDEFINED = @@ -1546,13 +2008,16 @@ PREDEFINED = # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition that # overrules the definition found in the source code. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. EXPAND_AS_DEFINED = -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. +# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's +# preprocessor will remove all references to function-like macros that +# are alone on a line, have an all uppercase name, and do not end with +# a semicolon, because these will confuse the parser if not removed. +# The default value is: YES. +# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. SKIP_FUNCTION_MACROS = YES @@ -1583,17 +2048,27 @@ GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. +# The default value is: NO. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. +# The default value is: YES. EXTERNAL_GROUPS = YES +# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in +# the related pages index. If set to NO, only the current project's pages will +# be listed. +# The default value is: YES. + +EXTERNAL_PAGES = YES + # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). +# The default file (with absolute path) is: /usr/bin/perl. PERL_PATH = /usr/bin/perl @@ -1601,11 +2076,13 @@ PERL_PATH = /usr/bin/perl # Configuration options related to the dot tool #--------------------------------------------------------------------------- -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. +# If the CLASS_DIAGRAMS tag is set to YES Doxygen will generate a +# inheritance diagram (in HTML, RTF and LaTeX) for classes with base +# or super classes. Setting the tag to NO turns the diagrams off. Note +# that this option also works with HAVE_DOT disabled, but it is +# recommended to install and use dot, since it yields more powerful +# graphs. +# The default value is: YES. CLASS_DIAGRAMS = YES @@ -1621,41 +2098,48 @@ MSCGEN_PATH = # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. +# The default value is: YES. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) +# have no effect if this option is set to NO +# The default value is: NO. HAVE_DOT = NO -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen +# is allowed to run in parallel. When set to 0 doxygen will base this +# on the number of processors available in the system. You can set it # explicitly to a value larger than 0 to get control over the balance # between CPU load and processing speed. +# Minimum value: 0, maximum value: 32, default value: 0. +# This tag requires that the tag HAVE_DOT is set to YES. DOT_NUM_THREADS = 0 -# By default doxygen will use the Helvetica font for all dot files that -# doxygen generates. When you want a differently looking font you can specify -# the font name using DOT_FONTNAME. You need to make sure dot is able to find -# the font, which can be done by putting it in a standard location or by setting -# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the -# directory containing the font. +# When you want a differently looking font you can specify the font +# name using DOT_FONTNAME. You need to make sure dot is able to find +# the font, which can be done by putting it in a standard location or +# by setting the DOTFONTPATH environment variable or by setting +# DOT_FONTPATH to the directory containing the font. +# The default value is: Helvetica. +# This tag requires that the tag HAVE_DOT is set to YES. #DOT_FONTNAME = FreeSans # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. +# Minimum value: 4, maximum value: 24, default value: 10. +# This tag requires that the tag HAVE_DOT is set to YES. #DOT_FONTSIZE = 10 # By default doxygen will tell dot to use the Helvetica font. # If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to # set the path where dot can find it. +# This tag requires that the tag HAVE_DOT is set to YES. #DOT_FONTPATH = @@ -1663,6 +2147,8 @@ DOT_NUM_THREADS = 0 # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # CLASS_DIAGRAMS tag to NO. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. CLASS_GRAPH = YES @@ -1670,17 +2156,23 @@ CLASS_GRAPH = YES # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. COLLABORATION_GRAPH = NO # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. UML_LOOK = NO @@ -1690,11 +2182,15 @@ UML_LOOK = NO # threshold limits the number of items for each type to make the size more # managable. Set this to 0 for no limit. Note that the threshold may be # exceeded by 50% before the limit is enforced. +# Minimum value: 0, maximum value: 100, default value: 10. +# This tag requires that the tag HAVE_DOT is set to YES. UML_LIMIT_NUM_FIELDS = 10 # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. TEMPLATE_RELATIONS = NO @@ -1702,6 +2198,8 @@ TEMPLATE_RELATIONS = NO # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. INCLUDE_GRAPH = YES @@ -1709,6 +2207,8 @@ INCLUDE_GRAPH = YES # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. INCLUDED_BY_GRAPH = YES @@ -1717,6 +2217,8 @@ INCLUDED_BY_GRAPH = YES # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable call graphs # for selected functions only using the \callgraph command. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. CALL_GRAPH = NO @@ -1725,11 +2227,15 @@ CALL_GRAPH = NO # or class method. Note that enabling this option will significantly increase # the time of a run. So in most cases it will be better to enable caller # graphs for selected functions only using the \callergraph command. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will generate a graphical hierarchy of all classes instead of a textual one. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. GRAPHICAL_HIERARCHY = YES @@ -1737,6 +2243,8 @@ GRAPHICAL_HIERARCHY = YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. DIRECTORY_GRAPH = YES @@ -1745,6 +2253,9 @@ DIRECTORY_GRAPH = YES # If left blank png will be used. If you choose svg you need to set # HTML_FILE_EXTENSION to xhtml in order to make the SVG files # visible in IE 9+ (other browsers do not have this requirement). +# Possible values are: png, jpg, gif and svg. +# The default value is: png. +# This tag requires that the tag HAVE_DOT is set to YES. DOT_IMAGE_FORMAT = png @@ -1754,17 +2265,21 @@ DOT_IMAGE_FORMAT = png # Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you # need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files # visible. Older versions of IE do not have SVG support. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. INTERACTIVE_SVG = NO # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. +# This tag requires that the tag HAVE_DOT is set to YES. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). +# This tag requires that the tag HAVE_DOT is set to YES. DOTFILE_DIRS = @@ -1774,6 +2289,27 @@ DOTFILE_DIRS = MSCFILE_DIRS = +# The DIAFILE_DIRS tag can be used to specify one or more directories that +# contain dia files that are included in the documentation (see the \diafile +# command). + +DIAFILE_DIRS = + +# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the +# path where java can find the plantuml.jar file. If left blank, it is assumed +# PlantUML is not used or called during a preprocessing step. Doxygen will +# generate a warning when it encounters a \startuml command in this case and +# will not generate output for the diagram. +# XXX Only in 1.8.10 + +#PLANTUML_JAR_PATH = + +# When using plantuml, the specified paths are searched for files specified by +# the !include statement in a plantuml block. +# XXX Only in 1.8.10 + +#PLANTUML_INCLUDE_PATH = + # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is @@ -1781,6 +2317,8 @@ MSCFILE_DIRS = # number of direct children of the root node in a graph is already larger than # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. +# Minimum value: 0, maximum value: 10000, default value: 50. +# This tag requires that the tag HAVE_DOT is set to YES. DOT_GRAPH_MAX_NODES = 50 @@ -1791,6 +2329,8 @@ DOT_GRAPH_MAX_NODES = 50 # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that the size of a graph can be further restricted by # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. +# Minimum value: 0, maximum value: 1000, default value: 0. +# This tag requires that the tag HAVE_DOT is set to YES. MAX_DOT_GRAPH_DEPTH = 0 @@ -1799,6 +2339,8 @@ MAX_DOT_GRAPH_DEPTH = 0 # seem to support this out of the box. Warning: Depending on the platform used, # enabling this option may lead to badly anti-aliased labels on the edges of # a graph (i.e. they become hard to read). +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. DOT_TRANSPARENT = NO @@ -1806,17 +2348,23 @@ DOT_TRANSPARENT = NO # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. +# The default value is: NO. +# This tag requires that the tag HAVE_DOT is set to YES. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. +# The default value is: YES. +# This tag requires that the tag HAVE_DOT is set to YES. DOT_CLEANUP = YES diff --git a/doc/devel/mainpage.dox b/doc/devel/mainpage.dox index e9fa759a8b..d8b9a9fd27 100644 --- a/doc/devel/mainpage.dox +++ b/doc/devel/mainpage.dox @@ -103,7 +103,7 @@ * - @subpage configBackendAdding * - @subpage perfdhcpInternals * - * @section qa Quality Assurance + * @section qualityAssurance Quality Assurance * - @subpage qaUnitTests * * @section miscellaneousTopics Miscellaneous Topics diff --git a/doc/images/.gitignore b/doc/images/.gitignore new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/doc/images/.gitignore diff --git a/src/bin/d2/d_controller.h b/src/bin/d2/d_controller.h index 3a19830866..69cbecae74 100644 --- a/src/bin/d2/d_controller.h +++ b/src/bin/d2/d_controller.h @@ -111,7 +111,7 @@ public: virtual ~DControllerBase(); /// @brief returns Kea version on stdout and exit. - /// redeclaration/redefinition. @ref Daemon::getVersion() + /// redeclaration/redefinition. @ref isc::dhcp::Daemon::getVersion() static std::string getVersion(bool extended); /// @brief Acts as the primary entry point into the controller execution diff --git a/src/bin/dhcp4/dhcp4.dox b/src/bin/dhcp4/dhcp4.dox index f9b200d096..3e36ce247d 100644 --- a/src/bin/dhcp4/dhcp4.dox +++ b/src/bin/dhcp4/dhcp4.dox @@ -31,7 +31,7 @@ from the common configuration parsers and customize their behavior. For example: the @c Subnet4ConfigParser is used to parse parameters describing a single subnet. It derives from the @c isc::dhcp::SubnetConfigParser, which implements the common base for both -DHCPv4 and DHCPv6 subnets. The @ref isc::dhcp::Subnet4ConfigParser +DHCPv4 and DHCPv6 subnets. The @ref Subnet4ConfigParser implements the @c initSubnet abstract method, which creates an instance of the DHCPv4 subnet. This method is invoked by the parent class. diff --git a/src/bin/dhcp4/dhcp4_srv.h b/src/bin/dhcp4/dhcp4_srv.h index 49155470c0..407b9a26e4 100644 --- a/src/bin/dhcp4/dhcp4_srv.h +++ b/src/bin/dhcp4/dhcp4_srv.h @@ -558,6 +558,7 @@ private: /// server's response. void processHostnameOption(Dhcpv4Exchange& ex); + /// @public /// @brief Marks lease as declined. /// /// This method moves a lease to declined state with all the steps involved: @@ -569,8 +570,7 @@ private: /// /// @param lease lease to be declined /// @param decline client's message - void - declineLease(const Lease4Ptr& lease, const Pkt4Ptr& decline); + void declineLease(const Lease4Ptr& lease, const Pkt4Ptr& decline); protected: @@ -751,6 +751,7 @@ protected: private: + /// @public /// @brief Assign class using vendor-class-identifier option /// /// @note This is the first part of @ref classifyPacket @@ -759,6 +760,7 @@ private: /// @param classes a reference to added class names for logging void classifyByVendor(const Pkt4Ptr& pkt, std::string& classes); + /// @private /// @brief Constructs netmask option based on subnet4 /// @param subnet subnet for which the netmask will be calculated /// diff --git a/src/bin/dhcp4/json_config_parser.cc b/src/bin/dhcp4/json_config_parser.cc index 41868ace2b..22f5fe082d 100644 --- a/src/bin/dhcp4/json_config_parser.cc +++ b/src/bin/dhcp4/json_config_parser.cc @@ -100,6 +100,7 @@ protected: } }; +/// @anchor Subnet4ConfigParser /// @brief This class parses a single IPv4 subnet. /// /// This is the IPv4 derivation of the SubnetConfigParser class and it parses diff --git a/src/bin/dhcp6/dhcp6.dox b/src/bin/dhcp6/dhcp6.dox index 14492e12e8..25feee5bfa 100644 --- a/src/bin/dhcp6/dhcp6.dox +++ b/src/bin/dhcp6/dhcp6.dox @@ -31,7 +31,7 @@ from the common configuration parsers and customize their behavior. For example: the @c Subnet6ConfigParser is used to parse parameters describing a single subnet. It derives from the @c isc::dhcp::SubnetConfigParser, which implements the common base for both -DHCPv4 and DHCPv6 subnets. The @ref isc::dhcp::Subnet6ConfigParser +DHCPv4 and DHCPv6 subnets. The @ref Subnet6ConfigParser implements the @c initSubnet abstract method, which creates an instance of the DHCPv6 subnet. This method is invoked by the parent class. @@ -261,7 +261,7 @@ to evaluate the next class. @subsection dhcpv6ClassifierUsage How client classification information is used in DHCPv6 Currently there is no class behavior coded in DHCPv6, hence no v6 equivalent of -@ref isc::dhcp::Dhcpv6Srv::vendorClassSpecificProcessing. Should any need for such a code arise, +@ref isc::dhcp::Dhcpv4Srv::vendorClassSpecificProcessing. Should any need for such a code arise, it will be conducted in an external hooks library. It is possible to define class restrictions in subnet, so a given subnet is only diff --git a/src/bin/dhcp6/dhcp6_srv.h b/src/bin/dhcp6/dhcp6_srv.h index b367003cad..808cc141d4 100644 --- a/src/bin/dhcp6/dhcp6_srv.h +++ b/src/bin/dhcp6/dhcp6_srv.h @@ -670,7 +670,7 @@ protected: /// /// @param decline Decline messege sent by a client /// @param reply Server's response (IA_NA with status will be added here) - /// @param client context + /// @param ctx context /// @return true when expected to continue, false when hooks told us to drop /// the packet bool declineLeases(const Pkt6Ptr& decline, Pkt6Ptr& reply, @@ -721,6 +721,7 @@ protected: private: + /// @public /// @brief Assign class using vendor-class-identifier option /// /// @note This is the first part of @ref classifyPacket @@ -729,6 +730,7 @@ private: /// @param classes a reference to added class names for logging void classifyByVendor(const Pkt6Ptr& pkt, std::string& classes); + /// @private /// @brief Generate FQDN to be sent to a client if none exists. /// /// This function is meant to be called by the functions which process diff --git a/src/bin/dhcp6/json_config_parser.cc b/src/bin/dhcp6/json_config_parser.cc index e36d167a70..b93de3c15c 100644 --- a/src/bin/dhcp6/json_config_parser.cc +++ b/src/bin/dhcp6/json_config_parser.cc @@ -305,6 +305,7 @@ private: PoolStoragePtr pools_; }; +/// @anchor Subnet6ConfigParser /// @brief This class parses a single IPv6 subnet. /// /// This is the IPv6 derivation of the SubnetConfigParser class and it parses diff --git a/src/lib/asiodns/io_fetch.h b/src/lib/asiodns/io_fetch.h index 09c22ae9e6..a87443ea82 100644 --- a/src/lib/asiodns/io_fetch.h +++ b/src/lib/asiodns/io_fetch.h @@ -136,8 +136,20 @@ public: /// with above constructor which has only question section. All /// other parameters are same. /// + /// \param protocol Fetch protocol, either IOFetch::TCP or IOFetch::UDP + /// \param service I/O Service object to handle the asynchronous + /// operations. /// \param query_message the shared_ptr to a full query message /// got from a query client. + /// \param address IP address of upstream server + /// \param port Port to which to connect on the upstream server + /// \param buff Output buffer into which the response (in wire format) + /// is written (if a response is received). + /// \param cb Callback object containing the callback to be called when we + /// terminate. The caller is responsible for managing this object + /// and deleting it if necessary. + /// \param wait Timeout for the fetch (in ms). The default value of + /// -1 indicates no timeout. IOFetch(Protocol protocol, isc::asiolink::IOService& service, isc::dns::ConstMessagePtr query_message, const isc::asiolink::IOAddress& address, diff --git a/src/lib/asiolink/io_address.h b/src/lib/asiolink/io_address.h index c793b45c8d..684a7b1a79 100644 --- a/src/lib/asiolink/io_address.h +++ b/src/lib/asiolink/io_address.h @@ -238,8 +238,10 @@ public: /// @brief Subtracts one address from another (a - b) /// /// Treats addresses as integers and subtracts them. For example: + /// @code /// 192.0.2.5 - 192.0.2.0 = 0.0.0.5 /// fe80::abcd - fe80:: = ::abcd + /// @endcode /// /// It is possible to subtract greater from lesser address, e.g. /// 192.168.56.10 - 192.168.67.20, but please do understand that diff --git a/src/lib/asiolink/io_asio_socket.h b/src/lib/asiolink/io_asio_socket.h index d68c7c74a6..faeb6171e3 100644 --- a/src/lib/asiolink/io_asio_socket.h +++ b/src/lib/asiolink/io_asio_socket.h @@ -270,8 +270,6 @@ public: }; -#include "io_socket.h" - /// \brief The \c DummyAsioSocket class is a concrete derived class of /// \c IOAsioSocket that is not associated with any real socket. /// diff --git a/src/lib/config/command_socket_factory.cc b/src/lib/config/command_socket_factory.cc index c0a4fec673..83534e3e9c 100644 --- a/src/lib/config/command_socket_factory.cc +++ b/src/lib/config/command_socket_factory.cc @@ -126,6 +126,8 @@ private: return (fd); } + /// @public + /// @brief Connection acceptor, a callback used to accept incoming connections. /// /// This callback is used on a control socket. Once called, it will accept @@ -172,6 +174,8 @@ private: .arg(sockfd_); } + /// @private + // This method is called when we shutdown the connection. void close() { LOG_INFO(command_logger, COMMAND_SOCKET_UNIX_CLOSE).arg(sockfd_) diff --git a/src/lib/dhcpsrv/alloc_engine.h b/src/lib/dhcpsrv/alloc_engine.h index e524f1562a..962562a239 100644 --- a/src/lib/dhcpsrv/alloc_engine.h +++ b/src/lib/dhcpsrv/alloc_engine.h @@ -389,7 +389,7 @@ public: /// response to SOLICIT). /// /// This method uses host reservation if ctx.host_ is set. The easy way to - /// set it is to call @ref isc::dhcp::AllocEngine::findReservation(ctx). + /// set it is to call @ref findReservationDecl. /// The host reservation is convenient, but incurs performance penalty, /// so it can be tweaked on a per subnet basis. There are three possible modes: /// 1. disabled (no host reservation at all). This is the most performant one @@ -516,9 +516,9 @@ public: /// declined state). Therefore remove_leases parameter is ignored for /// declined leases. They are always removed. /// - /// Also, for declined leases @ref reclaimDeclined is called. It conducts - /// several declined specific operation (extra log entry, stats dump, - /// hooks). + /// Also, for declined leases @ref reclaimDeclinedLease6 is + /// called. It conducts several declined specific operation (extra log + /// entry, stats dump, hooks). /// /// @param max_leases Maximum number of leases to be reclaimed. /// @param timeout Maximum amount of time that the reclaimation routine @@ -574,9 +574,9 @@ public: /// declined state). Therefore remove_leases parameter is ignored for /// declined leases. They are always removed. /// - /// Also, for declined leases @ref reclaimDeclined is called. It conducts - /// several declined specific operation (extra log entry, stats dump, - /// hooks). + /// Also, for declined leases @ref reclaimDeclinedLease4 is + /// called. It conductsseveral declined specific operation (extra log + /// entry, stats dump, hooks). /// /// @param max_leases Maximum number of leases to be reclaimed. /// @param timeout Maximum amount of time that the reclaimation routine @@ -600,6 +600,7 @@ public: void deleteExpiredReclaimedLeases4(const uint32_t secs); + /// @anchor findReservationDecl /// @brief Attempts to find appropriate host reservation. /// /// Attempts to find appropriate host reservation in HostMgr. If found, it @@ -868,6 +869,7 @@ private: const boost::function<void (const LeasePtrType&)>& lease_update_fun) const; + /// @anchor reclaimDeclinedLease4 /// @brief Conducts steps necessary for reclaiming declined IPv4 lease. /// /// These are the additional steps required when recoving a declined lease: @@ -880,6 +882,7 @@ private: /// to keep it) bool reclaimDeclined(const Lease4Ptr& lease); + /// @anchor reclaimDeclinedLease6 /// @brief Conducts steps necessary for reclaiming declined IPv6 lease. /// /// These are the additional steps required when recoving a declined lease: diff --git a/src/lib/dhcpsrv/alloc_engine_log.cc b/src/lib/dhcpsrv/alloc_engine_log.cc index d38c21c364..7fe927ee74 100644 --- a/src/lib/dhcpsrv/alloc_engine_log.cc +++ b/src/lib/dhcpsrv/alloc_engine_log.cc @@ -4,7 +4,7 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/. -/// @file Defines the logger used by the @c isc::dhcp::HostMgr +/// @brief Defines the logger used by the @c isc::dhcp::AllocEngine #include "dhcpsrv/alloc_engine_log.h" diff --git a/src/lib/dhcpsrv/alloc_engine_log.h b/src/lib/dhcpsrv/alloc_engine_log.h index 6fe4565caa..b11b80f817 100644 --- a/src/lib/dhcpsrv/alloc_engine_log.h +++ b/src/lib/dhcpsrv/alloc_engine_log.h @@ -14,7 +14,7 @@ namespace isc { namespace dhcp { //@{ -/// \brief Logging levels for the @c AllocEngine. +/// @brief Logging levels for the @c AllocEngine. /// /// Defines the levels used to output debug messages from the @c AllocEngine. @@ -39,7 +39,7 @@ const int ALLOC_ENGINE_DBG_TRACE_DETAIL_DATA = DBGLVL_TRACE_DETAIL_DATA; //@} -/// @brief Logger for the @c AllocEngine.. +/// @brief Logger for the @c AllocEngine. /// /// Define the logger used to log messages in @c AllocEngine. extern isc::log::Logger alloc_engine_logger; diff --git a/src/lib/dhcpsrv/cfg_iface.h b/src/lib/dhcpsrv/cfg_iface.h index d59c6f15b8..40f3b53815 100644 --- a/src/lib/dhcpsrv/cfg_iface.h +++ b/src/lib/dhcpsrv/cfg_iface.h @@ -89,6 +89,42 @@ public: /// but it doesn't verify that the address family value passed as @c uint16_t /// parameter is equal to one of them. It is a callers responsibility to /// guarantee that the address family value is correct. +/// +/// The interface name is passed as an argument of the @ref CfgIface::use +/// function which controls the selection of the interface on which the +/// DHCP queries should be received by the server. The interface name +/// passed as the argument of this function may appear in one of the following +/// formats: +/// - interface-name, e.g. eth0 +/// - interface-name/address, e.g. eth0/2001:db8:1::1 or eth0/192.168.8.1 +/// +/// Extraneous spaces surrounding the interface name and/or address +/// are accepted. For example: eth0 / 2001:db8:1::1 will be accepted. +/// +/// When only interface name is specified (without an address) it is allowed +/// to use the "wildcard" interface name (*) which indicates that the server +/// should open sockets on all interfaces. When IPv6 is in use, the sockets +/// will be bound to the link local addresses. Wildcard interface names are +/// not allowed when specifying a unicast address. For example: +/// */2001:db8:1::1 is not allowed. +/// +/// The DHCPv6 configuration accepts simultaneous use of the "interface-name" +/// and "interface-name/address" tuple for the same interface, e.g. +/// "eth0", "eth0/2001:db8:1::1" specifies that the server should open a +/// socket and bind to link local address as well as open a socket bound to +/// the specified unicast address. +/// +/// The DHCPv4 configuration doesn't accept the simulatenous use of the +/// "interface-name" and the "interface-name/address" tuple for the +/// given interface. When the "interface-name" is specified it implies +/// that the sockets will be opened on for all addresses configured on +/// this interface. If the tuple of "interface-name/address" is specified +/// there will be only one socket opened and bound to the specified address. +/// This socket will be configured to listen to the broadcast messages +/// reaching the interface as well as unicast messages sent to the address +/// to which it is bound. It is allowed to select multiple addresses on the +/// particular interface explicitly, e.g. "eth0/192.168.8.1", +/// "eth0/192.168.8.2". class CfgIface { public: @@ -141,40 +177,7 @@ public: /// @brief Select interface to be used to receive DHCP traffic. /// - /// This function controls the selection of the interface on which the - /// DHCP queries should be received by the server. The interface name - /// passed as the argument of this function may appear in one of the following - /// formats: - /// - interface-name, e.g. eth0 - /// - interface-name/address, e.g. eth0/2001:db8:1::1 or eth0/192.168.8.1 - /// - /// Extraneous spaces surrounding the interface name and/or address - /// are accepted. For example: eth0 / 2001:db8:1::1 will be accepted. - /// - /// When only interface name is specified (without an address) it is allowed - /// to use the "wildcard" interface name (*) which indicates that the server - /// should open sockets on all interfaces. When IPv6 is in use, the sockets - /// will be bound to the link local addresses. Wildcard interface names are - /// not allowed when specifying a unicast address. For example: - /// */2001:db8:1::1 is not allowed. - /// - /// The DHCPv6 configuration accepts simultaneous use of the "interface-name" - /// and "interface-name/address" tuple for the same interface, e.g. - /// "eth0", "eth0/2001:db8:1::1" specifies that the server should open a - /// socket and bind to link local address as well as open a socket bound to - /// the specified unicast address. - /// - /// The DHCPv4 configuration doesn't accept the simulatenous use of the - /// "interface-name" and the "interface-name/address" tuple for the - /// given interface. When the "interface-name" is specified it implies - /// that the sockets will be opened on for all addresses configured on - /// this interface. If the tuple of "interface-name/address" is specified - /// there will be only one socket opened and bound to the specified address. - /// This socket will be configured to listen to the broadcast messages - /// reaching the interface as well as unicast messages sent to the address - /// to which it is bound. It is allowed to select multiple addresses on the - /// particular interface explicitly, e.g. "eth0/192.168.8.1", - /// "eth0/192.168.8.2". + /// @ref CfgIface for a detail explaination of the interface name argument. /// /// @param family Address family (AF_INET or AF_INET6). /// @param iface_name Explicit interface name, a wildcard name (*) of diff --git a/src/lib/dhcpsrv/client_class_def.h b/src/lib/dhcpsrv/client_class_def.h index cacc4ed989..0d3b3c2d72 100644 --- a/src/lib/dhcpsrv/client_class_def.h +++ b/src/lib/dhcpsrv/client_class_def.h @@ -75,7 +75,7 @@ public: /// @brief Sets the class's option collection /// - /// @param options the option collection to assign the class + /// @param cfg_option the option collection to assign the class void setCfgOption(const CfgOptionPtr& cfg_option); /// @brief Compares two @c ClientClassDef objects for equality. diff --git a/src/lib/dhcpsrv/hosts_log.cc b/src/lib/dhcpsrv/hosts_log.cc index be049a9255..1a3433c192 100644 --- a/src/lib/dhcpsrv/hosts_log.cc +++ b/src/lib/dhcpsrv/hosts_log.cc @@ -4,7 +4,7 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/. -/// @file Defines the logger used by the @c isc::dhcp::HostMgr +/// @brief Defines the logger used by the @c isc::dhcp::HostMgr #include "dhcpsrv/hosts_log.h" diff --git a/src/lib/dhcpsrv/lease.cc b/src/lib/dhcpsrv/lease.cc index fa7c4530b4..f2af3329a0 100755 --- a/src/lib/dhcpsrv/lease.cc +++ b/src/lib/dhcpsrv/lease.cc @@ -220,7 +220,7 @@ Lease4::operator=(const Lease4& other) { return (*this); } -Lease6::Lease6(Type type, const isc::asiolink::IOAddress& addr, +Lease6::Lease6(Lease::Type type, const isc::asiolink::IOAddress& addr, DuidPtr duid, uint32_t iaid, uint32_t preferred, uint32_t valid, uint32_t t1, uint32_t t2, SubnetID subnet_id, const HWAddrPtr& hwaddr, uint8_t prefixlen) @@ -234,7 +234,7 @@ Lease6::Lease6(Type type, const isc::asiolink::IOAddress& addr, cltt_ = time(NULL); } -Lease6::Lease6(Type type, const isc::asiolink::IOAddress& addr, +Lease6::Lease6(Lease::Type type, const isc::asiolink::IOAddress& addr, DuidPtr duid, uint32_t iaid, uint32_t preferred, uint32_t valid, uint32_t t1, uint32_t t2, SubnetID subnet_id, const bool fqdn_fwd, const bool fqdn_rev, diff --git a/src/lib/dhcpsrv/lease.h b/src/lib/dhcpsrv/lease.h index 3b4f041e0f..c09958d014 100644 --- a/src/lib/dhcpsrv/lease.h +++ b/src/lib/dhcpsrv/lease.h @@ -422,7 +422,7 @@ struct Lease6 : public Lease { /// @brief Lease type /// /// One of normal address, temporary address, or prefix. - Type type_; + Lease::Type type_; /// @brief IPv6 prefix length /// @@ -459,7 +459,7 @@ struct Lease6 : public Lease { /// @param subnet_id A Subnet identifier. /// @param hwaddr hardware/MAC address (optional) /// @param prefixlen An address prefix length (optional, defaults to 128) - Lease6(Type type, const isc::asiolink::IOAddress& addr, DuidPtr duid, + Lease6(Lease::Type type, const isc::asiolink::IOAddress& addr, DuidPtr duid, uint32_t iaid, uint32_t preferred, uint32_t valid, uint32_t t1, uint32_t t2, SubnetID subnet_id, const HWAddrPtr& hwaddr = HWAddrPtr(), uint8_t prefixlen = 128); @@ -480,7 +480,7 @@ struct Lease6 : public Lease { /// @param hostname FQDN of the client which gets the lease. /// @param hwaddr hardware address (MAC), may be NULL /// @param prefixlen An address prefix length. - Lease6(Type type, const isc::asiolink::IOAddress& addr, DuidPtr duid, + Lease6(Lease::Type type, const isc::asiolink::IOAddress& addr, DuidPtr duid, uint32_t iaid, uint32_t preferred, uint32_t valid, uint32_t t1, uint32_t t2, SubnetID subnet_id, const bool fqdn_fwd, const bool fqdn_rev, const std::string& hostname, diff --git a/src/lib/dhcpsrv/parsers/client_class_def_parser.h b/src/lib/dhcpsrv/parsers/client_class_def_parser.h index f2bd4e9507..bb63aeaf4b 100644 --- a/src/lib/dhcpsrv/parsers/client_class_def_parser.h +++ b/src/lib/dhcpsrv/parsers/client_class_def_parser.h @@ -38,7 +38,7 @@ /// /// -# "option-data" - a list which defines the options that should be /// assigned to memebers of the class. This element is optional and parsed -/// using the @ref dhcp::OptionDataListParser. +/// using the @ref isc::dhcp::OptionDataListParser. /// /// ExpressionParser - creates an eval::Expression from a string element, /// using the Eval Parser. @@ -163,7 +163,7 @@ public: /// @param class_def_list pointer to an element that holds entries /// for client class definitions. /// @throw DhcpConfigError if configuration parsing fails. - void build(isc::data::ConstElementPtr option_def_list); + void build(isc::data::ConstElementPtr class_def_list); /// @brief Commits class definitions to CfgMgr's global storage. void commit(); diff --git a/src/lib/dhcpsrv/parsers/dhcp_parsers.h b/src/lib/dhcpsrv/parsers/dhcp_parsers.h index f42acd95a9..543a6a9871 100644 --- a/src/lib/dhcpsrv/parsers/dhcp_parsers.h +++ b/src/lib/dhcpsrv/parsers/dhcp_parsers.h @@ -1075,7 +1075,6 @@ protected: /// /// @throw BadValue if the text cannot be converted. /// - /// @param text representation for conversion /// @return one of allowed HRMode values static Subnet::HRMode hrModeFromText(const std::string& txt); diff --git a/src/lib/dns/rdata/generic/opt_41.h b/src/lib/dns/rdata/generic/opt_41.h index ecdaccf280..0c00aed20c 100644 --- a/src/lib/dns/rdata/generic/opt_41.h +++ b/src/lib/dns/rdata/generic/opt_41.h @@ -65,7 +65,7 @@ public: /// \param data The OPTION-DATA field of the pseudo RR. /// \param length The size of the \c data argument. OPTION-LENGTH is /// set to this size. - /// \throw \c isc::InvalidParameter if this pseudo RR would cause + /// \throw isc::InvalidParameter if this pseudo RR would cause /// the OPT RDATA to overflow its RDLENGTH. void appendPseudoRR(uint16_t code, const uint8_t* data, uint16_t length); diff --git a/src/lib/dns/rdataclass.h b/src/lib/dns/rdataclass.h index f601e4f236..e8d8d7a2b6 100644 --- a/src/lib/dns/rdataclass.h +++ b/src/lib/dns/rdataclass.h @@ -376,7 +376,7 @@ class CAA : public Rdata { public: // BEGIN_COMMON_MEMBERS - explicit CAA(const std::string& type_str); + explicit CAA(const std::string& caa_str); CAA(isc::util::InputBuffer& buffer, size_t rdata_len); CAA(const CAA& other); CAA( @@ -1548,7 +1548,7 @@ public: /// \param data The OPTION-DATA field of the pseudo RR. /// \param length The size of the \c data argument. OPTION-LENGTH is /// set to this size. - /// \throw \c isc::InvalidParameter if this pseudo RR would cause + /// \throw isc::InvalidParameter if this pseudo RR would cause /// the OPT RDATA to overflow its RDLENGTH. void appendPseudoRR(uint16_t code, const uint8_t* data, uint16_t length); @@ -2104,7 +2104,7 @@ class TLSA : public Rdata { public: // BEGIN_COMMON_MEMBERS - explicit TLSA(const std::string& type_str); + explicit TLSA(const std::string& tlsa_str); TLSA(isc::util::InputBuffer& buffer, size_t rdata_len); TLSA(const TLSA& other); TLSA( diff --git a/src/lib/dns/rrclass-placeholder.h b/src/lib/dns/rrclass-placeholder.h index e31b807589..fc201c6fa4 100644 --- a/src/lib/dns/rrclass-placeholder.h +++ b/src/lib/dns/rrclass-placeholder.h @@ -204,7 +204,8 @@ public: /// If resource allocation in rendering process fails, a corresponding /// standard exception will be thrown. /// - /// \param buffer An output buffer to store the wire data. + /// \param renderer DNS message rendering context that encapsulates the + /// output buffer in which the RRClass is to be stored. void toWire(AbstractMessageRenderer& renderer) const; /// \brief Render the \c RRClass in the wire format. /// @@ -214,8 +215,7 @@ public: /// If resource allocation in rendering process fails, a corresponding /// standard exception will be thrown. /// - /// \param renderer DNS message rendering context that encapsulates the - /// output buffer in which the RRClass is to be stored. + /// \param buffer An output buffer to store the wire data. void toWire(isc::util::OutputBuffer& buffer) const; //@} diff --git a/src/lib/dns/rrclass.h b/src/lib/dns/rrclass.h index a832516913..04676a874f 100644 --- a/src/lib/dns/rrclass.h +++ b/src/lib/dns/rrclass.h @@ -211,7 +211,8 @@ public: /// If resource allocation in rendering process fails, a corresponding /// standard exception will be thrown. /// - /// \param buffer An output buffer to store the wire data. + /// \param renderer DNS message rendering context that encapsulates the + /// output buffer in which the RRClass is to be stored. void toWire(AbstractMessageRenderer& renderer) const; /// \brief Render the \c RRClass in the wire format. /// @@ -221,8 +222,7 @@ public: /// If resource allocation in rendering process fails, a corresponding /// standard exception will be thrown. /// - /// \param renderer DNS message rendering context that encapsulates the - /// output buffer in which the RRClass is to be stored. + /// \param buffer An output buffer to store the wire data. void toWire(isc::util::OutputBuffer& buffer) const; //@} diff --git a/src/lib/dns/rrset.h b/src/lib/dns/rrset.h index 65cd264e91..7af2930ec3 100644 --- a/src/lib/dns/rrset.h +++ b/src/lib/dns/rrset.h @@ -209,7 +209,7 @@ public: /// /// \return The length of the wire format representation of the /// \c AbstractRRset. - /// \throw \c EmptyRRset if the \c AbstractRRset is empty. + /// \throw EmptyRRset if the \c AbstractRRset is empty. virtual uint16_t getLength() const = 0; /// \brief Returns the owner name of the \c RRset. @@ -670,7 +670,7 @@ public: /// /// \return The length of the wire format representation of the /// \c BasicRRset. - /// \throw \c EmptyRRset if the \c BasicRRset is empty. + /// \throw EmptyRRset if the \c BasicRRset is empty. virtual uint16_t getLength() const; /// \brief Returns the owner name of the \c RRset. @@ -855,7 +855,7 @@ public: /// /// \return The length of the wire format representation of the /// \c RRset. - /// \throw \c EmptyRRset if the \c RRset is empty. + /// \throw EmptyRRset if the \c RRset is empty. virtual uint16_t getLength() const; /// \brief Render the RRset in the wire format with name compression and diff --git a/src/lib/dns/rrtype-placeholder.h b/src/lib/dns/rrtype-placeholder.h index 22e036a363..e86e2f66ec 100644 --- a/src/lib/dns/rrtype-placeholder.h +++ b/src/lib/dns/rrtype-placeholder.h @@ -177,7 +177,8 @@ public: /// If resource allocation in rendering process fails, a corresponding /// standard exception will be thrown. /// - /// \param buffer An output buffer to store the wire data. + /// \param renderer DNS message rendering context that encapsulates the + /// output buffer in which the RRType is to be stored. void toWire(AbstractMessageRenderer& renderer) const; /// \brief Render the \c RRType in the wire format. /// @@ -187,8 +188,7 @@ public: /// If resource allocation in rendering process fails, a corresponding /// standard exception will be thrown. /// - /// \param renderer DNS message rendering context that encapsulates the - /// output buffer in which the RRType is to be stored. + /// \param buffer An output buffer to store the wire data. void toWire(isc::util::OutputBuffer& buffer) const; //@} diff --git a/src/lib/dns/rrtype.h b/src/lib/dns/rrtype.h index 9ced6965d5..eb46170ed2 100644 --- a/src/lib/dns/rrtype.h +++ b/src/lib/dns/rrtype.h @@ -184,7 +184,8 @@ public: /// If resource allocation in rendering process fails, a corresponding /// standard exception will be thrown. /// - /// \param buffer An output buffer to store the wire data. + /// \param renderer DNS message rendering context that encapsulates the + /// output buffer in which the RRType is to be stored. void toWire(AbstractMessageRenderer& renderer) const; /// \brief Render the \c RRType in the wire format. /// @@ -194,8 +195,7 @@ public: /// If resource allocation in rendering process fails, a corresponding /// standard exception will be thrown. /// - /// \param renderer DNS message rendering context that encapsulates the - /// output buffer in which the RRType is to be stored. + /// \param buffer An output buffer to store the wire data. void toWire(isc::util::OutputBuffer& buffer) const; //@} diff --git a/src/lib/dns/tsigkey.h b/src/lib/dns/tsigkey.h index 2ee17abb96..2b8e3d6cf2 100644 --- a/src/lib/dns/tsigkey.h +++ b/src/lib/dns/tsigkey.h @@ -106,6 +106,8 @@ public: /// \param secret Point to a binary sequence of the shared secret to be /// used for this key, or \c NULL if the secret is empty. /// \param secret_len The size of the binary %data (\c secret) in bytes. + /// \param digestbits The number of bits to include in the digest + /// (0 means to include all) TSIGKey(const Name& key_name, const Name& algorithm_name, const void* secret, size_t secret_len, size_t digestbits = 0); diff --git a/src/lib/stats/observation.h b/src/lib/stats/observation.h index 2f8db2e8d2..586d3a0fc6 100644 --- a/src/lib/stats/observation.h +++ b/src/lib/stats/observation.h @@ -126,7 +126,7 @@ class Observation { /// /// @param value duration value observed /// @throw InvalidStatType if statistic is not time duration - void setValue(const StatsDuration& duration); + void setValue(const StatsDuration& value); /// @brief Records absolute string observation /// diff --git a/src/lib/stats/stats_mgr.h b/src/lib/stats/stats_mgr.h index adf1d7c8de..86ce9bd2ba 100644 --- a/src/lib/stats/stats_mgr.h +++ b/src/lib/stats/stats_mgr.h @@ -55,7 +55,7 @@ namespace stats { /// either all or nothing. Adding logging entries only when necessary /// in the code that uses StatsMgr gives better granularity. /// -/// If this decision is revisited in the futere, the most universal places +/// If this decision is revisited in the future, the most universal places /// for adding logging have been marked in @ref addValueInternal and /// @ref setValueInternal. class StatsMgr : public boost::noncopyable { @@ -117,7 +117,7 @@ class StatsMgr : public boost::noncopyable { /// @param name name of the observation /// @param value duration value observed /// @throw InvalidStatType if statistic is not time duration - void addValue(const std::string& name, const StatsDuration& time); + void addValue(const std::string& name, const StatsDuration& value); /// @brief Records incremental string observation. /// @@ -248,12 +248,12 @@ class StatsMgr : public boost::noncopyable { /// /// @param name name of the command (ignored, should be "statistic-get") /// @param params structure containing a map that contains "name" - /// @param return answer containing details of specified statistic + /// @return answer containing details of specified statistic static isc::data::ConstElementPtr statisticGetHandler(const std::string& name, const isc::data::ConstElementPtr& params); - /// @param Handles statistic-reset command + /// @brief Handles statistic-reset command /// /// This method handles statistic-reset command, which resets value /// of a given statistic. It expects one parameter stored in params map: @@ -266,12 +266,12 @@ class StatsMgr : public boost::noncopyable { /// /// @param name name of the command (ignored, should be "statistic-reset") /// @param params structure containing a map that contains "name" - /// @param return answer containing confirmation + /// @return answer containing confirmation static isc::data::ConstElementPtr statisticResetHandler(const std::string& name, const isc::data::ConstElementPtr& params); - /// @param Handles statistic-remove command + /// @brief Handles statistic-remove command /// /// This method handles statistic-reset command, which removes a given /// statistic completely. It expects one parameter stored in params map: @@ -284,7 +284,7 @@ class StatsMgr : public boost::noncopyable { /// /// @param name name of the command (ignored, should be "statistic-remove") /// @param params structure containing a map that contains "name" element - /// @param return answer containing confirmation + /// @return answer containing confirmation static isc::data::ConstElementPtr statisticRemoveHandler(const std::string& name, const isc::data::ConstElementPtr& params); @@ -296,7 +296,7 @@ class StatsMgr : public boost::noncopyable { /// /// @param name name of the command (ignored, should be "statistic-get-all") /// @param params ignored - /// @param return answer containing values of all statistic + /// @return answer containing values of all statistic static isc::data::ConstElementPtr statisticGetAllHandler(const std::string& name, const isc::data::ConstElementPtr& params); @@ -308,7 +308,7 @@ class StatsMgr : public boost::noncopyable { /// /// @param name name of the command (ignored, should be "statistic-reset-all") /// @param params ignored - /// @param return answer confirming success of this operation + /// @return answer confirming success of this operation static isc::data::ConstElementPtr statisticResetAllHandler(const std::string& name, const isc::data::ConstElementPtr& params); @@ -320,7 +320,7 @@ class StatsMgr : public boost::noncopyable { /// /// @param name name of the command (ignored, should be "statistic-remove-all") /// @param params ignored - /// @param return answer confirming success of this operation + /// @return answer confirming success of this operation static isc::data::ConstElementPtr statisticRemoveAllHandler(const std::string& name, const isc::data::ConstElementPtr& params); @@ -329,6 +329,13 @@ class StatsMgr : public boost::noncopyable { private: + /// @brief Private constructor. + /// StatsMgr is a singleton. It should be accessed using @ref instance + /// method. + StatsMgr(); + + /// @public + /// @brief Sets a given statistic to specified value (internal version). /// /// This template method sets statistic identified by name to a value @@ -352,6 +359,8 @@ class StatsMgr : public boost::noncopyable { } } + /// @public + /// @brief Adds specified value to a given statistic (internal version). /// /// This template method adds specified value to a given statistic (identified @@ -380,17 +389,16 @@ class StatsMgr : public boost::noncopyable { } } - /// @brief Private constructor. - /// StatsMgr is a singleton. It should be accessed using @ref instance - /// method. - StatsMgr(); + /// @public /// @brief Adds a new observation. /// /// That's an utility method used by public @ref setValue() and /// @ref addValue() methods. - /// @param obs observation - void addObservation(const ObservationPtr& o); + /// @param stat observation + void addObservation(const ObservationPtr& stat); + + /// @private /// @brief Tries to delete an observation. /// diff --git a/src/lib/util/csv_file.h b/src/lib/util/csv_file.h index ddf7ef465d..c32f77c47d 100644 --- a/src/lib/util/csv_file.h +++ b/src/lib/util/csv_file.h @@ -111,7 +111,7 @@ public: /// @brief Trims a given number of elements from the end of a row /// - /// @param number of elements to trim + /// @param count number of elements to trim /// /// @throw CSVFileError if the number to trim is larger than /// then the number of elements diff --git a/src/lib/util/versioned_csv_file.h b/src/lib/util/versioned_csv_file.h index d068a94d68..4967d346e8 100644 --- a/src/lib/util/versioned_csv_file.h +++ b/src/lib/util/versioned_csv_file.h @@ -80,8 +80,8 @@ typedef boost::shared_ptr<VersionedColumn> VersionedColumnPtr; /// -# If there are fewer columns in the header than in the schema, the file /// is presumed to be an earlier schema version and will be upgraded as it is /// read. There is an ability to mark a specific column as being the minimum -/// column which must be present, see @ref VersionedCSVFile:: -/// setMinimumValidColumns(). If the header columns do not match up to this +/// column which must be present, see @ref VersionedCSVFile::setMinimumValidColumns(). +/// If the header columns do not match up to this /// minimum column, the file is presumed to be too old to upgrade and the /// open will fail. A valid, upgradable file will have an input schema /// state of VersionedCSVFile::NEEDS_UPGRADE. @@ -144,7 +144,7 @@ public: /// The name of the column will be placed in the CSV header when new file /// is created by calling @c recreate or @c open function. /// - /// @param name Name of the column. + /// @param col_name Name of the column. /// @param version Text representation of the schema version in which /// this column first appeared. /// @param default_value value the missing column should be given during @@ -224,7 +224,6 @@ public: /// specified by that column's descriptor. /// /// @param [out] row Object receiving the parsed CSV file. - /// @param skip_validation Do not perform validation. /// /// @return true if row has been read and validated; false if validation /// failed. @@ -247,7 +246,7 @@ public: /// /// @param index index within the list of columns of the desired column /// @return a pointer to the VersionedColumn at the given index - /// @trow OutOfRange exception if the index is invalid + /// @throw OutOfRange exception if the index is invalid const VersionedColumnPtr& getVersionedColumn(const size_t index) const; /// @brief Fetches the state of the input file's schema |