u-boot quantenna-sdk-v37.4.8.62 minor tweaks

minor tweaks to the quantenna-sdk-v37.4.8.62 import, updated the
HOW.GFIBER.quantenna.sdk.unpack instructions and removed
quantenna/common/doxygen

Change-Id: I224e3880ad670d3387d6d44c7c888674691c565e
diff --git a/HOW.GFIBER.quantenna.sdk.unpack b/HOW.GFIBER.quantenna.sdk.unpack
index 2d282f6..b5e5cc1 100644
--- a/HOW.GFIBER.quantenna.sdk.unpack
+++ b/HOW.GFIBER.quantenna.sdk.unpack
@@ -11,13 +11,13 @@
   $ cd uboot/qsr1000
   $ git checkout -b l-vendor gfiber-internal/vendor_drops
     (use rm with -rf splat, but make sure you're in the right place)
-  $ tar xvzpf $DOWNLOADS/$SDK 
+  $ tar xvzpf $DOWNLOADS/$SDK
 
 The SDK includes both u-boot and linux, but we're only interested in the u-boot part.
 Prune the set of files/directories down to what we want
 
   $ cd quantenna-sdk-*
-  $ rm -rf buildroot call_qcsapi_client_src.zip dbdc-quantenna-bin-*.tar drivers Kconfig libqcsapi_client_src.zip linux linux_2.6.35.12 pcie-host-quantenna-bin-*.tar pcie-quantenna-bin-*.tar post-process-configs.awk power_tables quantenna-bin-*.tar quantenna-hostapd-*.tar rfic6-quantenna-bin-*.tar
+  $ rm -rf buildroot call_qcsapi_client_src.zip dbdc-quantenna-bin-*.tar drivers Kconfig libqcsapi_client_src.zip linux linux_2.6.35.12 pcie-host-quantenna-bin-*.tar pcie-quantenna-bin-*.tar post-process-configs.awk power_tables quantenna-bin-*.tar quantenna-hostapd-*.tar rfic6-quantenna-bin-*.tar common/doxygen
 
 Move the remaining files into a quantenna specific directory under u-boot
   $ mkdir u-boot/quantenna
@@ -27,4 +27,4 @@
   $ mv quantenna-sdk-v37.4.8.62/u-boot/* quantenna-sdk-v37.4.8.62/u-boot/.??* .
   $ rm -rf quantenna-sdk-v37.4.8.62
 
-  $ git add ...
+  $ git add --all
diff --git a/quantenna/common/doxygen/Doxyfile_pdf b/quantenna/common/doxygen/Doxyfile_pdf
deleted file mode 100644
index 6bf43ed..0000000
--- a/quantenna/common/doxygen/Doxyfile_pdf
+++ /dev/null
@@ -1,1670 +0,0 @@
-# Doxyfile 1.7.1
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file 
-# that follow. The default is UTF-8 which is also the encoding used for all 
-# 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.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
-# by quotes) that should identify the project.
-
-PROJECT_NAME           = __PROJECT_NAME__
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
-# This could be handy for archiving the generated documentation or 
-# if some version control system is used.
-
-PROJECT_NUMBER         = __PROJECT_NUMBER__
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
-# base path where the generated documentation will be put. 
-# If a relative path is entered, it will be relative to the location 
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       = __OUTPUT_DIRECTORY__
-
-# 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.
-
-CREATE_SUBDIRS         = 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. 
-# The default language is English, other supported languages are: 
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
-# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, 
-# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English 
-# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, 
-# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, 
-# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
-# 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.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
-# 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.
-
-REPEAT_BRIEF           = NO
-
-# This tag implements a quasi-intelligent brief description abbreviator 
-# that is used to form the text in various listings. Each string 
-# in this list, if found as the leading text of the brief description, will be 
-# stripped from the text and the result after processing the whole list, is 
-# used as the annotated text. Otherwise, the brief description is used as-is. 
-# 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"
-
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-
-# 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.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
-# 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.
-
-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.
-
-FULL_PATH_NAMES        = YES
-
-# 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.
-
-STRIP_FROM_PATH        = 
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
-# the path mentioned in the documentation of a class, which tells 
-# the reader which header file to include in order to use a class. 
-# If left blank only the name of the header file containing the class 
-# definition is used. Otherwise one should specify the include paths that 
-# are normally passed to the compiler using the -I flag.
-
-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 is your file systems 
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
-# will interpret the first line (until the first dot) of a JavaDoc-style 
-# 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.)
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will 
-# interpret the first line (until the first dot) of a Qt-style 
-# 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.)
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
-# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
-# 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.
-
-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.
-
-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.
-
-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.
-
-TAB_SIZE               = 8
-
-# This tag can be used to specify a number of aliases that acts 
-# as commands in the documentation. An alias has the form "name=value". 
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
-# put the command \sideeffect (or @sideeffect) in the documentation, which 
-# will result in a user-defined paragraph with heading "Side Effects:". 
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES += callqcsapi="<b><c>call_qcsapi</c> interface:</b><br>"
-ALIASES += wifi0="the interface to perform the action on. (e.g. wifi0)."
-ALIASES += wifi0only="the primary WiFi interface, wifi0 only."
-ALIASES += wifiX="the interface to perform the action on. wifiX, For X=0,1,..."
-ALIASES += wifi_wds="the interface to perform the action on. (e.g. wifi0 or wds0)."
-ALIASES += wifi_wds_eth="the interface to perform the action on. (e.g. wifi0 or wds0 or eth1_0)."
-ALIASES += aponly="This API can only be used in AP mode."
-ALIASES += staonly="This API can only be used in STA mode."
-ALIASES += nonpersistent="The value(s) set by this API are not persistent and must be reapplied if the device reboots."
-ALIASES += primarywifi="This API can only be used on the primary interface (wifi0)"
-ALIASES += hotspot_api="Refer to the WiFi Alliance Hotspot 2.0 (Release 2) Technical Specification for further information."
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
-# 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.
-
-OPTIMIZE_OUTPUT_FOR_C  = YES
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
-# 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.
-
-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.
-
-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.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it 
-# parses. With this tag you can assign which parser to use for a given extension. 
-# Doxygen has a built-in mapping, but you can override or extend it using this 
-# tag. The format is ext=language, where ext is a file extension, 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.
-
-EXTENSION_MAPPING      = 
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want 
-# to include (a tag file for) the STL sources as input, then you should 
-# set this tag to YES in order to let doxygen match functions declarations and 
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
-# func(std::string) {}). This also make the inheritance and collaboration 
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to 
-# enable parsing support.
-
-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.
-
-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 to 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.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
-# 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.
-
-DISTRIBUTE_GROUP_DOC   = 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.
-
-SUBGROUPING            = YES
-
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum 
-# is documented as struct, union, or enum with the name of the typedef. So 
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct 
-# with name TypeT. When disabled the typedef will appear as a member of a file, 
-# 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.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to 
-# determine which symbols to keep in memory and which to flush to disk. 
-# When the cache is full, less often used symbols will be written to disk. 
-# For small to medium size projects (<1000 input files) the default value is 
-# probably good enough. For larger projects a too small cache size can cause 
-# doxygen to be busy swapping symbols to and from disk most of the time 
-# causing a significant performance penality. 
-# If the system has enough physical memory increasing the cache will improve the 
-# performance by keeping more symbols in memory. Note that the value works on 
-# a logarithmic scale so increasing the size by one will rougly double the 
-# memory usage. The cache size is given by this formula: 
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, 
-# corresponding to a cache size of 2^16 = 65536 symbols
-
-SYMBOL_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
-# 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
-
-EXTRACT_ALL            = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file 
-# will be included in the documentation.
-
-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.
-
-EXTRACT_LOCAL_CLASSES  = NO
-
-# This flag is only useful for Objective-C code. When set to YES local 
-# 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.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be 
-# extracted and appear in the documentation as a namespace called 
-# 'anonymous_namespace{file}', where file will be replaced with the base 
-# name of the file that contains the anonymous namespace. By default 
-# anonymous namespace are hidden.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
-# undocumented members of documented classes, files or namespaces. 
-# 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.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
-# 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.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
-# friend (class|struct|union) declarations. 
-# If set to NO (the default) these declarations will be included in the 
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
-# 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.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation 
-# 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.
-
-INTERNAL_DOCS          = __INTERNAL_DOCS__
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
-# file names in lower-case letters. If set to YES upper-case letters are also 
-# 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.
-
-CASE_SENSE_NAMES       = NO
-
-# 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.
-
-HIDE_SCOPE_NAMES       = YES
-
-# 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.
-
-SHOW_INCLUDE_FILES     = NO
-
-# 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.
-
-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.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
-# 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.
-
-SORT_MEMBER_DOCS       = NO
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
-# 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.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen 
-# will sort the (brief and detailed) documentation of class members so that 
-# constructors and destructors are listed first. If set to NO (the default) 
-# the constructors will appear in the respective orders defined by 
-# 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.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# 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.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
-# sorted by fully-qualified names, including namespaces. If set to 
-# NO (the default), the class list will be sorted only by class name, 
-# not including the namespace part. 
-# 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.
-
-SORT_BY_SCOPE_NAME     = 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.
-
-GENERATE_TODOLIST      = NO
-
-# 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.
-
-GENERATE_TESTLIST      = NO
-
-# 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.
-
-GENERATE_BUGLIST       = NO
-
-# 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.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional 
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       = 
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
-# the initial value of a variable or define consists of for it to appear in 
-# the documentation. If the initializer consists of more lines than specified 
-# here it will be hidden. Use a value of 0 to hide initializers completely. 
-# The appearance of the initializer of individual variables and defines in the 
-# documentation can be controlled using \showinitializer or \hideinitializer 
-# command in the documentation regardless of this setting.
-
-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.
-
-SHOW_USED_FILES        = NO
-
-# If the sources in your project are distributed over multiple directories 
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy 
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = NO
-
-# 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.
-
-SHOW_FILES             = NO
-
-# 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.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
-# doxygen should invoke to get the current version for each file (typically from 
-# the version control system). Doxygen will invoke the program by executing (via 
-# popen()) the command <command> <input-file>, where <command> is the value of 
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
-# provided by doxygen. Whatever the program writes to standard output 
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    = 
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed 
-# by doxygen. The layout file controls the global structure of the generated 
-# output files in an output format independent way. The create the layout file 
-# 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.
-
-LAYOUT_FILE            = 
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# 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.
-
-QUIET                  = NO
-
-# 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.
-
-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.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
-# 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.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for 
-# functions that are documented, but have no documentation for their parameters 
-# 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.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that 
-# doxygen can produce. The string should contain the $file, $line, and $text 
-# tags, which will be replaced by the file and line number from which the 
-# 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)
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning 
-# and error messages should be written. If left blank the output is written 
-# to stderr.
-
-WARN_LOGFILE           = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain 
-# documented source files. You may enter file names like "myfile.cpp" or 
-# directories like "/usr/src/myproject". Separate the files or directories 
-# with spaces.
-
-INPUT                  = __INPUT__
-
-# This tag can be used to specify the character encoding of the source files 
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 
-# 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.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the 
-# 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++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx 
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
-
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cxx \
-                         *.cpp \
-                         *.c++ \
-                         *.java \
-                         *.ii \
-                         *.ixx \
-                         *.ipp \
-                         *.i++ \
-                         *.inl \
-                         *.h \
-                         *.hh \
-                         *.hxx \
-                         *.hpp \
-                         *.h++ \
-                         *.idl \
-                         *.odl \
-                         *.cs \
-                         *.php \
-                         *.php3 \
-                         *.inc \
-                         *.m \
-                         *.mm \
-                         *.dox \
-                         *.py \
-                         *.f90 \
-                         *.f \
-                         *.vhd \
-                         *.vhdl
-
-# 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.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should 
-# excluded from the INPUT source files. This way you can easily exclude a 
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE                = 
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
-# directories that are symbolic links (a Unix filesystem feature) are excluded 
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the 
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
-# certain files from those directories. Note that the wildcards are matched 
-# against the file with absolute path, so to exclude all test directories 
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       = 
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
-# (namespaces, classes, functions, etc.) that should be excluded from the 
-# 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
-
-EXCLUDE_SYMBOLS        = __EXCLUDE_SYMBOLS__
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or 
-# directories that contain example code fragments that are included (see 
-# the \include command).
-
-EXAMPLE_PATH           = 
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
-# EXAMPLE_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 all files are included.
-
-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.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or 
-# directories that contain image that are included in the documentation (see 
-# the \image command).
-
-IMAGE_PATH             = ./image 
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should 
-# invoke to filter for each input file. Doxygen will invoke the filter program 
-# by executing (via popen()) the command <filter> <input-file>, where <filter> 
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
-# input file. Doxygen will then use the output that the filter program writes 
-# to standard output.  If FILTER_PATTERNS is specified, this tag will be 
-# ignored.
-
-INPUT_FILTER           = 
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
-# basis.  Doxygen will compare the file name with each pattern and apply the 
-# filter if there is a match.  The filters are a list of the form: 
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER 
-# is applied to all files.
-
-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).
-
-FILTER_SOURCE_FILES    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
-# 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.
-
-SOURCE_BROWSER         = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body 
-# of functions and classes directly in the documentation.
-
-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 and C++ comments will always remain visible.
-
-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.
-
-REFERENCED_BY_RELATION = NO
-
-# 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.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) 
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from 
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will 
-# link to the source code.  Otherwise they will link to the documentation.
-
-REFERENCES_LINK_SOURCE = 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.
-
-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.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# 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.
-
-ALPHABETICAL_INDEX     = NO
-
-# 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])
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all 
-# 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.
-
-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.
-
-GENERATE_HTML          = NO
-
-# 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.
-
-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.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard header.
-
-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.
-
-HTML_FOOTER            = 
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
-# style sheet that is used by each HTML page. It can be used to 
-# fine-tune the look of the HTML output. If the tag is left blank doxygen 
-# will generate a default style sheet. Note that doxygen will try to copy 
-# the style sheet file to the HTML output directory, so don't put your own 
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        = 
-
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. 
-# Doxygen will adjust the colors in the stylesheet and background images 
-# according to this color. Hue is specified as an angle on a colorwheel, 
-# 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.
-
-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.
-
-HTML_COLORSTYLE_SAT    = 100
-
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to 
-# the luminance component of the colors in the HTML output. Values below 
-# 100 gradually make the output lighter, whereas values above 100 make 
-# 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.
-
-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.
-
-HTML_TIMESTAMP         = YES
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
-# files or namespaces will be aligned in HTML using tables. If set to 
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = 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. For this to work a browser that supports 
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox 
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files 
-# will be generated that can be used as input for Apple's Xcode 3 
-# integrated development environment, introduced with OSX 10.5 (Leopard). 
-# To create a documentation set, doxygen will generate a Makefile in the 
-# HTML output directory. Running make will produce the docset in that 
-# directory and running "make install" will install the docset in 
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find 
-# it at startup. 
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html 
-# for more information.
-
-GENERATE_DOCSET        = NO
-
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the 
-# 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.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that 
-# 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.
-
-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.
-
-DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
-
-# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
-
-DOCSET_PUBLISHER_NAME  = Publisher
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
-# 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.
-
-GENERATE_HTMLHELP      = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
-# 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.
-
-CHM_FILE               = 
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
-# 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.
-
-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).
-
-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.
-
-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.
-
-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.
-
-TOC_EXPAND             = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and 
-# 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.
-
-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.
-
-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
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# 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
-
-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
-
-QHP_CUST_FILTER_NAME   = 
-
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the 
-# 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>.
-
-QHP_CUST_FILTER_ATTRS  = 
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this 
-# project's 
-# filter section matches. 
-# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> 
-# Qt Help Project / Filter Attributes</a>.
-
-QHP_SECT_FILTER_ATTRS  = 
-
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can 
-# be used to specify the location of Qt's qhelpgenerator. 
-# If non-empty doxygen will try to run qhelpgenerator on the generated 
-# .qhp file.
-
-QHG_LOCATION           = 
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files  
-# will be generated, which together with the HTML files, form an Eclipse help 
-# plugin. To install this plugin and make it available under the help contents 
-# menu in Eclipse, the contents of the directory containing the HTML and XML 
-# files needs to be copied into the plugins directory of eclipse. The name of 
-# 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.
-
-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.
-
-ECLIPSE_DOC_ID         = org.doxygen.Project
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
-# top of each HTML page. The value NO (the default) enables the index and 
-# the value YES disables it.
-
-DISABLE_INDEX          = NO
-
-# This tag can be used to set the number of enum values (range [1..20]) 
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE   = 1
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index 
-# structure should be generated to display hierarchical information. 
-# If the tag value is set to YES, a side panel will be generated 
-# containing a tree-like index structure (just like the one that 
-# is generated for HTML Help). For this to work a browser that supports 
-# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). 
-# Windows users are probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW      = YES
-
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, 
-# and Class Hierarchy pages using a tree view instead of an ordered list.
-
-USE_INLINE_TREES       = NO
-
-# 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.
-
-TREEVIEW_WIDTH         = 250
-
-# 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.
-
-EXT_LINKS_IN_WINDOW    = NO
-
-# Use this tag to change the font size of Latex formulas included 
-# as images in the HTML documentation. The default is 10. Note that 
-# 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.
-
-FORMULA_FONTSIZE       = 10
-
-# Use the FORMULA_TRANPARENT tag to determine whether or not the images 
-# generated for formulas are transparent PNGs. Transparent PNGs are 
-# 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.
-
-FORMULA_TRANSPARENT    = YES
-
-# 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 
-# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets 
-# (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.
-
-SEARCHENGINE           = NO
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be 
-# implemented using a PHP enabled web server instead of at the web client 
-# using Javascript. Doxygen will generate the search PHP script and index 
-# file to put on the web server. The advantage of the server 
-# based approach is that it scales better to large projects and allows 
-# full text search. The disadvances is that it is more difficult to setup 
-# and does not have live searching capabilities.
-
-SERVER_BASED_SEARCH    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
-# generate Latex output.
-
-GENERATE_LATEX         = YES
-
-# 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.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
-# invoked. If left blank `latex' will be used as the default command name. 
-# 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.
-
-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.
-
-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.
-
-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, a4wide, letter, legal and 
-# executive. If left blank a4wide will be used.
-
-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.
-
-EXTRA_PACKAGES         = 
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
-# 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!
-
-LATEX_HEADER           = 
-
-# 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.
-
-PDF_HYPERLINKS         = YES
-
-# 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.
-
-USE_PDFLATEX           = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
-# 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.
-
-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.
-
-LATEX_HIDE_INDICES     = NO
-
-# If LATEX_SOURCE_CODE is set to YES then doxygen will include 
-# source code with syntax highlighting in the LaTeX output. 
-# Note that which sources are shown also depends on other settings 
-# such as SOURCE_BROWSER.
-
-LATEX_SOURCE_CODE      = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# 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.
-
-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.
-
-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.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
-# will contain hyperlink fields. The RTF file will 
-# contain links (just like the HTML output) instead of page references. 
-# 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.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet 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.
-
-RTF_STYLESHEET_FILE    = 
-
-# Set optional variables used in the generation of an rtf document. 
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
-# generate man pages
-
-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.
-
-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)
-
-MAN_EXTENSION          = .3
-
-# 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.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# 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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
-# generate an AutoGen Definitions (see autogen.sf.net) file 
-# that captures the structure of the code including all 
-# documentation. Note that this feature is still experimental 
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
-# generate a Perl module file that captures the structure of 
-# the code including all documentation. Note that this 
-# feature is still experimental and incomplete at the 
-# moment.
-
-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.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
-# nicely formatted so it can be parsed by a human reader.  This is useful 
-# if you want to understand what is going on.  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.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file 
-# 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.
-
-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.
-
-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.
-
-MACRO_EXPANSION        = NO
-
-# 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.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-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.
-
-INCLUDE_PATH           = 
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
-# 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.
-
-INCLUDE_FILE_PATTERNS  = 
-
-# The PREDEFINED tag can be used to specify one or more macro names that 
-# are defined before the preprocessor is started (similar to the -D option of 
-# gcc). The argument of the tag is a list of macros of the form: name 
-# or name=definition (no spaces). If the definition and the = are 
-# omitted =1 is assumed. To prevent a macro definition from being 
-# undefined via #undef or recursively expanded use the := operator 
-# instead of the = operator.
-
-PREDEFINED             = __PREDEFINED__
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
-# this tag can be used to specify a list of macro names that should be expanded. 
-# 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.
-
-EXPAND_AS_DEFINED      = 
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
-# doxygen's preprocessor will remove all function-like macros that are alone 
-# on a line, have an all uppercase name, and do not end with a semicolon. Such 
-# function macros are typically used for boiler-plate code, and will confuse 
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles. 
-# Optionally an initial location of the external documentation 
-# can be added for each tagfile. The format of a tag file without 
-# this location is as follows: 
-#   TAGFILES = file1 file2 ... 
-# Adding location for the tag files is done as follows: 
-#   TAGFILES = file1=loc1 "file2 = loc2" ... 
-# where "loc1" and "loc2" can be relative or absolute paths or 
-# URLs. If a location is present for each tag, the installdox tool 
-# does not have to be run to correct the links. 
-# Note that each tag file must have a unique name 
-# (where the name does NOT include the path) 
-# If a tag file is not located in the directory in which doxygen 
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES               = 
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
-# a tag file that is based on the input files it reads.
-
-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.
-
-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.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script 
-# interpreter (i.e. the result of `which perl').
-
-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 is superseded by the HAVE_DOT option below. This is only a 
-# fallback. It is recommended to install and use dot, since it yields more 
-# powerful graphs.
-
-CLASS_DIAGRAMS         = NO
-
-# You can define message sequence charts within doxygen comments using the \msc 
-# command. Doxygen will then run the mscgen tool (see 
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the 
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where 
-# the mscgen tool resides. If left empty the tool is assumed to be found in the 
-# default search path.
-
-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.
-
-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_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 
-# explicitly to a value larger than 0 to get control over the balance 
-# between CPU load and processing speed.
-
-DOT_NUM_THREADS        = 0
-
-# By default doxygen will write a font called FreeSans.ttf to the output 
-# directory and reference it in all dot files that doxygen generates. This 
-# font does not include all possible unicode characters however, so when you need 
-# these (or just want a differently looking font) you can specify the font name 
-# using DOT_FONTNAME. You need 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.
-
-DOT_FONTNAME           = FreeSans.ttf
-
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. 
-# The default size is 10pt.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the output directory to look for the 
-# FreeSans.ttf font (which doxygen will put there itself). If you specify a 
-# different font using DOT_FONTNAME you can set the path where dot 
-# can find it using this tag.
-
-DOT_FONTPATH           = 
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect inheritance relations. Setting this tag to YES will force the 
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# 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.
-
-COLLABORATION_GRAPH    = YES
-
-# 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
-
-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.
-
-UML_LOOK               = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the 
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
-# 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.
-
-INCLUDE_GRAPH          = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
-# 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.
-
-INCLUDED_BY_GRAPH      = NO
-
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then 
-# doxygen will generate a call dependency graph for every global function 
-# 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.
-
-CALL_GRAPH             = YES
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then 
-# doxygen will generate a caller dependency graph for every global function 
-# 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.
-
-CALLER_GRAPH           = YES
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to 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.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
-# generated by dot. Possible values are png, jpg, or gif 
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT       = png
-
-# 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.
-
-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).
-
-DOTFILE_DIRS           = 
-
-# 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 
-# visualized by representing a node as a red box. Note that doxygen if the 
-# 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.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
-# graphs generated by dot. A depth value of 3 means that only nodes reachable 
-# from the root by following a path via at most 3 edges will be shown. Nodes 
-# that lay further from the root node will be omitted. Note that setting this 
-# 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.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
-# background. This is disabled by default, because dot on Windows does not 
-# 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).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
-# 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.
-
-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.
-
-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.
-
-DOT_CLEANUP            = YES
diff --git a/quantenna/common/doxygen/Doxyfile_pdf_internal b/quantenna/common/doxygen/Doxyfile_pdf_internal
deleted file mode 100644
index 5a3353c..0000000
--- a/quantenna/common/doxygen/Doxyfile_pdf_internal
+++ /dev/null
@@ -1,1660 +0,0 @@
-# Doxyfile 1.7.1
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file 
-# that follow. The default is UTF-8 which is also the encoding used for all 
-# 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.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
-# by quotes) that should identify the project.
-
-PROJECT_NAME           = __PROJECT_NAME__
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
-# This could be handy for archiving the generated documentation or 
-# if some version control system is used.
-
-PROJECT_NUMBER         = __PROJECT_NUMBER__
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
-# base path where the generated documentation will be put. 
-# If a relative path is entered, it will be relative to the location 
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       = __OUTPUT_DIRECTORY__
-
-# 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.
-
-CREATE_SUBDIRS         = 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. 
-# The default language is English, other supported languages are: 
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
-# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, 
-# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English 
-# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, 
-# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, 
-# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
-# 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.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
-# 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.
-
-REPEAT_BRIEF           = NO
-
-# This tag implements a quasi-intelligent brief description abbreviator 
-# that is used to form the text in various listings. Each string 
-# in this list, if found as the leading text of the brief description, will be 
-# stripped from the text and the result after processing the whole list, is 
-# used as the annotated text. Otherwise, the brief description is used as-is. 
-# 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"
-
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-
-# 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.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
-# 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.
-
-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.
-
-FULL_PATH_NAMES        = YES
-
-# 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.
-
-STRIP_FROM_PATH        = 
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
-# the path mentioned in the documentation of a class, which tells 
-# the reader which header file to include in order to use a class. 
-# If left blank only the name of the header file containing the class 
-# definition is used. Otherwise one should specify the include paths that 
-# are normally passed to the compiler using the -I flag.
-
-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 is your file systems 
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
-# will interpret the first line (until the first dot) of a JavaDoc-style 
-# 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.)
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will 
-# interpret the first line (until the first dot) of a Qt-style 
-# 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.)
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
-# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
-# 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.
-
-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.
-
-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.
-
-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.
-
-TAB_SIZE               = 8
-
-# This tag can be used to specify a number of aliases that acts 
-# as commands in the documentation. An alias has the form "name=value". 
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
-# put the command \sideeffect (or @sideeffect) in the documentation, which 
-# will result in a user-defined paragraph with heading "Side Effects:". 
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                = 
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
-# 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.
-
-OPTIMIZE_OUTPUT_FOR_C  = YES
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
-# 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.
-
-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.
-
-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.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it 
-# parses. With this tag you can assign which parser to use for a given extension. 
-# Doxygen has a built-in mapping, but you can override or extend it using this 
-# tag. The format is ext=language, where ext is a file extension, 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.
-
-EXTENSION_MAPPING      = 
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want 
-# to include (a tag file for) the STL sources as input, then you should 
-# set this tag to YES in order to let doxygen match functions declarations and 
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
-# func(std::string) {}). This also make the inheritance and collaboration 
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to 
-# enable parsing support.
-
-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.
-
-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 to 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.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
-# 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.
-
-DISTRIBUTE_GROUP_DOC   = 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.
-
-SUBGROUPING            = YES
-
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum 
-# is documented as struct, union, or enum with the name of the typedef. So 
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct 
-# with name TypeT. When disabled the typedef will appear as a member of a file, 
-# 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.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to 
-# determine which symbols to keep in memory and which to flush to disk. 
-# When the cache is full, less often used symbols will be written to disk. 
-# For small to medium size projects (<1000 input files) the default value is 
-# probably good enough. For larger projects a too small cache size can cause 
-# doxygen to be busy swapping symbols to and from disk most of the time 
-# causing a significant performance penality. 
-# If the system has enough physical memory increasing the cache will improve the 
-# performance by keeping more symbols in memory. Note that the value works on 
-# a logarithmic scale so increasing the size by one will rougly double the 
-# memory usage. The cache size is given by this formula: 
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, 
-# corresponding to a cache size of 2^16 = 65536 symbols
-
-SYMBOL_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
-# 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
-
-EXTRACT_ALL            = NO
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file 
-# will be included in the documentation.
-
-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.
-
-EXTRACT_LOCAL_CLASSES  = NO
-
-# This flag is only useful for Objective-C code. When set to YES local 
-# 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.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be 
-# extracted and appear in the documentation as a namespace called 
-# 'anonymous_namespace{file}', where file will be replaced with the base 
-# name of the file that contains the anonymous namespace. By default 
-# anonymous namespace are hidden.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
-# undocumented members of documented classes, files or namespaces. 
-# 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.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
-# 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.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
-# friend (class|struct|union) declarations. 
-# If set to NO (the default) these declarations will be included in the 
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
-# 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.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation 
-# 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.
-
-INTERNAL_DOCS          = YES
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
-# file names in lower-case letters. If set to YES upper-case letters are also 
-# 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.
-
-CASE_SENSE_NAMES       = NO
-
-# 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.
-
-HIDE_SCOPE_NAMES       = YES
-
-# 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.
-
-SHOW_INCLUDE_FILES     = NO
-
-# 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.
-
-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.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
-# 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.
-
-SORT_MEMBER_DOCS       = NO
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
-# 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.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen 
-# will sort the (brief and detailed) documentation of class members so that 
-# constructors and destructors are listed first. If set to NO (the default) 
-# the constructors will appear in the respective orders defined by 
-# 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.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# 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.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
-# sorted by fully-qualified names, including namespaces. If set to 
-# NO (the default), the class list will be sorted only by class name, 
-# not including the namespace part. 
-# 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.
-
-SORT_BY_SCOPE_NAME     = 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.
-
-GENERATE_TODOLIST      = NO
-
-# 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.
-
-GENERATE_TESTLIST      = NO
-
-# 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.
-
-GENERATE_BUGLIST       = NO
-
-# 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.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional 
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       = 
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
-# the initial value of a variable or define consists of for it to appear in 
-# the documentation. If the initializer consists of more lines than specified 
-# here it will be hidden. Use a value of 0 to hide initializers completely. 
-# The appearance of the initializer of individual variables and defines in the 
-# documentation can be controlled using \showinitializer or \hideinitializer 
-# command in the documentation regardless of this setting.
-
-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.
-
-SHOW_USED_FILES        = NO
-
-# If the sources in your project are distributed over multiple directories 
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy 
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = NO
-
-# 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.
-
-SHOW_FILES             = NO
-
-# 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.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
-# doxygen should invoke to get the current version for each file (typically from 
-# the version control system). Doxygen will invoke the program by executing (via 
-# popen()) the command <command> <input-file>, where <command> is the value of 
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
-# provided by doxygen. Whatever the program writes to standard output 
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    = 
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed 
-# by doxygen. The layout file controls the global structure of the generated 
-# output files in an output format independent way. The create the layout file 
-# 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.
-
-LAYOUT_FILE            = 
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# 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.
-
-QUIET                  = NO
-
-# 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.
-
-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.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
-# 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.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for 
-# functions that are documented, but have no documentation for their parameters 
-# 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.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that 
-# doxygen can produce. The string should contain the $file, $line, and $text 
-# tags, which will be replaced by the file and line number from which the 
-# 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)
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning 
-# and error messages should be written. If left blank the output is written 
-# to stderr.
-
-WARN_LOGFILE           = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain 
-# documented source files. You may enter file names like "myfile.cpp" or 
-# directories like "/usr/src/myproject". Separate the files or directories 
-# with spaces.
-
-INPUT                  = __INPUT__
-
-# This tag can be used to specify the character encoding of the source files 
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 
-# 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.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the 
-# 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++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx 
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
-
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cxx \
-                         *.cpp \
-                         *.c++ \
-                         *.java \
-                         *.ii \
-                         *.ixx \
-                         *.ipp \
-                         *.i++ \
-                         *.inl \
-                         *.h \
-                         *.hh \
-                         *.hxx \
-                         *.hpp \
-                         *.h++ \
-                         *.idl \
-                         *.odl \
-                         *.cs \
-                         *.php \
-                         *.php3 \
-                         *.inc \
-                         *.m \
-                         *.mm \
-                         *.dox \
-                         *.py \
-                         *.f90 \
-                         *.f \
-                         *.vhd \
-                         *.vhdl
-
-# 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.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should 
-# excluded from the INPUT source files. This way you can easily exclude a 
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE                = 
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
-# directories that are symbolic links (a Unix filesystem feature) are excluded 
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the 
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
-# certain files from those directories. Note that the wildcards are matched 
-# against the file with absolute path, so to exclude all test directories 
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       = 
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
-# (namespaces, classes, functions, etc.) that should be excluded from the 
-# 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
-
-EXCLUDE_SYMBOLS        = __EXCLUDE_SYMBOLS__
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or 
-# directories that contain example code fragments that are included (see 
-# the \include command).
-
-EXAMPLE_PATH           = 
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
-# EXAMPLE_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 all files are included.
-
-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.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or 
-# directories that contain image that are included in the documentation (see 
-# the \image command).
-
-IMAGE_PATH             = ./image 
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should 
-# invoke to filter for each input file. Doxygen will invoke the filter program 
-# by executing (via popen()) the command <filter> <input-file>, where <filter> 
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
-# input file. Doxygen will then use the output that the filter program writes 
-# to standard output.  If FILTER_PATTERNS is specified, this tag will be 
-# ignored.
-
-INPUT_FILTER           = 
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
-# basis.  Doxygen will compare the file name with each pattern and apply the 
-# filter if there is a match.  The filters are a list of the form: 
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER 
-# is applied to all files.
-
-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).
-
-FILTER_SOURCE_FILES    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
-# 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.
-
-SOURCE_BROWSER         = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body 
-# of functions and classes directly in the documentation.
-
-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 and C++ comments will always remain visible.
-
-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.
-
-REFERENCED_BY_RELATION = NO
-
-# 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.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) 
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from 
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will 
-# link to the source code.  Otherwise they will link to the documentation.
-
-REFERENCES_LINK_SOURCE = 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.
-
-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.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# 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.
-
-ALPHABETICAL_INDEX     = NO
-
-# 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])
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all 
-# 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.
-
-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.
-
-GENERATE_HTML          = NO
-
-# 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.
-
-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.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard header.
-
-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.
-
-HTML_FOOTER            = 
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
-# style sheet that is used by each HTML page. It can be used to 
-# fine-tune the look of the HTML output. If the tag is left blank doxygen 
-# will generate a default style sheet. Note that doxygen will try to copy 
-# the style sheet file to the HTML output directory, so don't put your own 
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        = 
-
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. 
-# Doxygen will adjust the colors in the stylesheet and background images 
-# according to this color. Hue is specified as an angle on a colorwheel, 
-# 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.
-
-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.
-
-HTML_COLORSTYLE_SAT    = 100
-
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to 
-# the luminance component of the colors in the HTML output. Values below 
-# 100 gradually make the output lighter, whereas values above 100 make 
-# 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.
-
-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.
-
-HTML_TIMESTAMP         = YES
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
-# files or namespaces will be aligned in HTML using tables. If set to 
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = 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. For this to work a browser that supports 
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox 
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files 
-# will be generated that can be used as input for Apple's Xcode 3 
-# integrated development environment, introduced with OSX 10.5 (Leopard). 
-# To create a documentation set, doxygen will generate a Makefile in the 
-# HTML output directory. Running make will produce the docset in that 
-# directory and running "make install" will install the docset in 
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find 
-# it at startup. 
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html 
-# for more information.
-
-GENERATE_DOCSET        = NO
-
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the 
-# 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.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that 
-# 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.
-
-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.
-
-DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
-
-# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
-
-DOCSET_PUBLISHER_NAME  = Publisher
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
-# 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.
-
-GENERATE_HTMLHELP      = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
-# 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.
-
-CHM_FILE               = 
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
-# 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.
-
-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).
-
-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.
-
-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.
-
-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.
-
-TOC_EXPAND             = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and 
-# 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.
-
-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.
-
-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
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# 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
-
-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
-
-QHP_CUST_FILTER_NAME   = 
-
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the 
-# 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>.
-
-QHP_CUST_FILTER_ATTRS  = 
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this 
-# project's 
-# filter section matches. 
-# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> 
-# Qt Help Project / Filter Attributes</a>.
-
-QHP_SECT_FILTER_ATTRS  = 
-
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can 
-# be used to specify the location of Qt's qhelpgenerator. 
-# If non-empty doxygen will try to run qhelpgenerator on the generated 
-# .qhp file.
-
-QHG_LOCATION           = 
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files  
-# will be generated, which together with the HTML files, form an Eclipse help 
-# plugin. To install this plugin and make it available under the help contents 
-# menu in Eclipse, the contents of the directory containing the HTML and XML 
-# files needs to be copied into the plugins directory of eclipse. The name of 
-# 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.
-
-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.
-
-ECLIPSE_DOC_ID         = org.doxygen.Project
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
-# top of each HTML page. The value NO (the default) enables the index and 
-# the value YES disables it.
-
-DISABLE_INDEX          = NO
-
-# This tag can be used to set the number of enum values (range [1..20]) 
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index 
-# structure should be generated to display hierarchical information. 
-# If the tag value is set to YES, a side panel will be generated 
-# containing a tree-like index structure (just like the one that 
-# is generated for HTML Help). For this to work a browser that supports 
-# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). 
-# Windows users are probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW      = YES
-
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, 
-# and Class Hierarchy pages using a tree view instead of an ordered list.
-
-USE_INLINE_TREES       = NO
-
-# 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.
-
-TREEVIEW_WIDTH         = 250
-
-# 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.
-
-EXT_LINKS_IN_WINDOW    = NO
-
-# Use this tag to change the font size of Latex formulas included 
-# as images in the HTML documentation. The default is 10. Note that 
-# 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.
-
-FORMULA_FONTSIZE       = 10
-
-# Use the FORMULA_TRANPARENT tag to determine whether or not the images 
-# generated for formulas are transparent PNGs. Transparent PNGs are 
-# 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.
-
-FORMULA_TRANSPARENT    = YES
-
-# 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 
-# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets 
-# (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.
-
-SEARCHENGINE           = NO
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be 
-# implemented using a PHP enabled web server instead of at the web client 
-# using Javascript. Doxygen will generate the search PHP script and index 
-# file to put on the web server. The advantage of the server 
-# based approach is that it scales better to large projects and allows 
-# full text search. The disadvances is that it is more difficult to setup 
-# and does not have live searching capabilities.
-
-SERVER_BASED_SEARCH    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
-# generate Latex output.
-
-GENERATE_LATEX         = YES
-
-# 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.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
-# invoked. If left blank `latex' will be used as the default command name. 
-# 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.
-
-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.
-
-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.
-
-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, a4wide, letter, legal and 
-# executive. If left blank a4wide will be used.
-
-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.
-
-EXTRA_PACKAGES         = 
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
-# 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!
-
-LATEX_HEADER           = 
-
-# 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.
-
-PDF_HYPERLINKS         = YES
-
-# 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.
-
-USE_PDFLATEX           = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
-# 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.
-
-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.
-
-LATEX_HIDE_INDICES     = NO
-
-# If LATEX_SOURCE_CODE is set to YES then doxygen will include 
-# source code with syntax highlighting in the LaTeX output. 
-# Note that which sources are shown also depends on other settings 
-# such as SOURCE_BROWSER.
-
-LATEX_SOURCE_CODE      = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# 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.
-
-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.
-
-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.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
-# will contain hyperlink fields. The RTF file will 
-# contain links (just like the HTML output) instead of page references. 
-# 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.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet 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.
-
-RTF_STYLESHEET_FILE    = 
-
-# Set optional variables used in the generation of an rtf document. 
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
-# generate man pages
-
-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.
-
-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)
-
-MAN_EXTENSION          = .3
-
-# 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.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# 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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
-# generate an AutoGen Definitions (see autogen.sf.net) file 
-# that captures the structure of the code including all 
-# documentation. Note that this feature is still experimental 
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
-# generate a Perl module file that captures the structure of 
-# the code including all documentation. Note that this 
-# feature is still experimental and incomplete at the 
-# moment.
-
-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.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
-# nicely formatted so it can be parsed by a human reader.  This is useful 
-# if you want to understand what is going on.  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.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file 
-# 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.
-
-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.
-
-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.
-
-MACRO_EXPANSION        = NO
-
-# 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.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-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.
-
-INCLUDE_PATH           = 
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
-# 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.
-
-INCLUDE_FILE_PATTERNS  = 
-
-# The PREDEFINED tag can be used to specify one or more macro names that 
-# are defined before the preprocessor is started (similar to the -D option of 
-# gcc). The argument of the tag is a list of macros of the form: name 
-# or name=definition (no spaces). If the definition and the = are 
-# omitted =1 is assumed. To prevent a macro definition from being 
-# undefined via #undef or recursively expanded use the := operator 
-# instead of the = operator.
-
-PREDEFINED             = 
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
-# this tag can be used to specify a list of macro names that should be expanded. 
-# 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.
-
-EXPAND_AS_DEFINED      = 
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
-# doxygen's preprocessor will remove all function-like macros that are alone 
-# on a line, have an all uppercase name, and do not end with a semicolon. Such 
-# function macros are typically used for boiler-plate code, and will confuse 
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles. 
-# Optionally an initial location of the external documentation 
-# can be added for each tagfile. The format of a tag file without 
-# this location is as follows: 
-#   TAGFILES = file1 file2 ... 
-# Adding location for the tag files is done as follows: 
-#   TAGFILES = file1=loc1 "file2 = loc2" ... 
-# where "loc1" and "loc2" can be relative or absolute paths or 
-# URLs. If a location is present for each tag, the installdox tool 
-# does not have to be run to correct the links. 
-# Note that each tag file must have a unique name 
-# (where the name does NOT include the path) 
-# If a tag file is not located in the directory in which doxygen 
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES               = 
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
-# a tag file that is based on the input files it reads.
-
-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.
-
-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.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script 
-# interpreter (i.e. the result of `which perl').
-
-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 is superseded by the HAVE_DOT option below. This is only a 
-# fallback. It is recommended to install and use dot, since it yields more 
-# powerful graphs.
-
-CLASS_DIAGRAMS         = NO
-
-# You can define message sequence charts within doxygen comments using the \msc 
-# command. Doxygen will then run the mscgen tool (see 
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the 
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where 
-# the mscgen tool resides. If left empty the tool is assumed to be found in the 
-# default search path.
-
-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.
-
-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_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 
-# explicitly to a value larger than 0 to get control over the balance 
-# between CPU load and processing speed.
-
-DOT_NUM_THREADS        = 0
-
-# By default doxygen will write a font called FreeSans.ttf to the output 
-# directory and reference it in all dot files that doxygen generates. This 
-# font does not include all possible unicode characters however, so when you need 
-# these (or just want a differently looking font) you can specify the font name 
-# using DOT_FONTNAME. You need 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.
-
-DOT_FONTNAME           = FreeSans.ttf
-
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. 
-# The default size is 10pt.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the output directory to look for the 
-# FreeSans.ttf font (which doxygen will put there itself). If you specify a 
-# different font using DOT_FONTNAME you can set the path where dot 
-# can find it using this tag.
-
-DOT_FONTPATH           = 
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect inheritance relations. Setting this tag to YES will force the 
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# 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.
-
-COLLABORATION_GRAPH    = YES
-
-# 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
-
-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.
-
-UML_LOOK               = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the 
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
-# 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.
-
-INCLUDE_GRAPH          = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
-# 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.
-
-INCLUDED_BY_GRAPH      = NO
-
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then 
-# doxygen will generate a call dependency graph for every global function 
-# 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.
-
-CALL_GRAPH             = YES
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then 
-# doxygen will generate a caller dependency graph for every global function 
-# 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.
-
-CALLER_GRAPH           = YES
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to 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.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
-# generated by dot. Possible values are png, jpg, or gif 
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT       = png
-
-# 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.
-
-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).
-
-DOTFILE_DIRS           = 
-
-# 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 
-# visualized by representing a node as a red box. Note that doxygen if the 
-# 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.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
-# graphs generated by dot. A depth value of 3 means that only nodes reachable 
-# from the root by following a path via at most 3 edges will be shown. Nodes 
-# that lay further from the root node will be omitted. Note that setting this 
-# 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.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
-# background. This is disabled by default, because dot on Windows does not 
-# 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).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
-# 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.
-
-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.
-
-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.
-
-DOT_CLEANUP            = YES
diff --git a/quantenna/common/doxygen/Doxyfile_template b/quantenna/common/doxygen/Doxyfile_template
deleted file mode 100644
index a127789..0000000
--- a/quantenna/common/doxygen/Doxyfile_template
+++ /dev/null
@@ -1,1660 +0,0 @@
-# Doxyfile 1.7.1
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-#       TAG = value [value, ...]
-# For lists items can also be appended using:
-#       TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file 
-# that follow. The default is UTF-8 which is also the encoding used for all 
-# 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.
-
-DOXYFILE_ENCODING      = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded 
-# by quotes) that should identify the project.
-
-PROJECT_NAME           = __PROJECT_NAME__
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number. 
-# This could be handy for archiving the generated documentation or 
-# if some version control system is used.
-
-PROJECT_NUMBER         = __PROJECT_NUMBER__
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) 
-# base path where the generated documentation will be put. 
-# If a relative path is entered, it will be relative to the location 
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY       = __OUTPUT_DIRECTORY__
-
-# 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.
-
-CREATE_SUBDIRS         = 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. 
-# The default language is English, other supported languages are: 
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, 
-# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, 
-# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English 
-# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, 
-# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, 
-# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
-
-OUTPUT_LANGUAGE        = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will 
-# 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.
-
-BRIEF_MEMBER_DESC      = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend 
-# 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.
-
-REPEAT_BRIEF           = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator 
-# that is used to form the text in various listings. Each string 
-# in this list, if found as the leading text of the brief description, will be 
-# stripped from the text and the result after processing the whole list, is 
-# used as the annotated text. Otherwise, the brief description is used as-is. 
-# 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"
-
-ABBREVIATE_BRIEF       = "The $name class" \
-                         "The $name widget" \
-                         "The $name file" \
-                         is \
-                         provides \
-                         specifies \
-                         contains \
-                         represents \
-                         a \
-                         an \
-                         the
-
-# 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.
-
-ALWAYS_DETAILED_SEC    = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 
-# 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.
-
-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.
-
-FULL_PATH_NAMES        = YES
-
-# 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.
-
-STRIP_FROM_PATH        = 
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of 
-# the path mentioned in the documentation of a class, which tells 
-# the reader which header file to include in order to use a class. 
-# If left blank only the name of the header file containing the class 
-# definition is used. Otherwise one should specify the include paths that 
-# are normally passed to the compiler using the -I flag.
-
-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 is your file systems 
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES            = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen 
-# will interpret the first line (until the first dot) of a JavaDoc-style 
-# 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.)
-
-JAVADOC_AUTOBRIEF      = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will 
-# interpret the first line (until the first dot) of a Qt-style 
-# 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.)
-
-QT_AUTOBRIEF           = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen 
-# treat a multi-line C++ special comment block (i.e. a block of //! or /// 
-# 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.
-
-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.
-
-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.
-
-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.
-
-TAB_SIZE               = 8
-
-# This tag can be used to specify a number of aliases that acts 
-# as commands in the documentation. An alias has the form "name=value". 
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to 
-# put the command \sideeffect (or @sideeffect) in the documentation, which 
-# will result in a user-defined paragraph with heading "Side Effects:". 
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES                = 
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C 
-# 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.
-
-OPTIMIZE_OUTPUT_FOR_C  = YES
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java 
-# 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.
-
-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.
-
-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.
-
-OPTIMIZE_OUTPUT_VHDL   = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it 
-# parses. With this tag you can assign which parser to use for a given extension. 
-# Doxygen has a built-in mapping, but you can override or extend it using this 
-# tag. The format is ext=language, where ext is a file extension, 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.
-
-EXTENSION_MAPPING      = 
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want 
-# to include (a tag file for) the STL sources as input, then you should 
-# set this tag to YES in order to let doxygen match functions declarations and 
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. 
-# func(std::string) {}). This also make the inheritance and collaboration 
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT    = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to 
-# enable parsing support.
-
-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.
-
-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 to 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.
-
-IDL_PROPERTY_SUPPORT   = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 
-# 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.
-
-DISTRIBUTE_GROUP_DOC   = 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.
-
-SUBGROUPING            = YES
-
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum 
-# is documented as struct, union, or enum with the name of the typedef. So 
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct 
-# with name TypeT. When disabled the typedef will appear as a member of a file, 
-# 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.
-
-TYPEDEF_HIDES_STRUCT   = NO
-
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to 
-# determine which symbols to keep in memory and which to flush to disk. 
-# When the cache is full, less often used symbols will be written to disk. 
-# For small to medium size projects (<1000 input files) the default value is 
-# probably good enough. For larger projects a too small cache size can cause 
-# doxygen to be busy swapping symbols to and from disk most of the time 
-# causing a significant performance penality. 
-# If the system has enough physical memory increasing the cache will improve the 
-# performance by keeping more symbols in memory. Note that the value works on 
-# a logarithmic scale so increasing the size by one will rougly double the 
-# memory usage. The cache size is given by this formula: 
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, 
-# corresponding to a cache size of 2^16 = 65536 symbols
-
-SYMBOL_CACHE_SIZE      = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in 
-# 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
-
-EXTRACT_ALL            = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class 
-# will be included in the documentation.
-
-EXTRACT_PRIVATE        = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file 
-# will be included in the documentation.
-
-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.
-
-EXTRACT_LOCAL_CLASSES  = YES
-
-# This flag is only useful for Objective-C code. When set to YES local 
-# 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.
-
-EXTRACT_LOCAL_METHODS  = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be 
-# extracted and appear in the documentation as a namespace called 
-# 'anonymous_namespace{file}', where file will be replaced with the base 
-# name of the file that contains the anonymous namespace. By default 
-# anonymous namespace are hidden.
-
-EXTRACT_ANON_NSPACES   = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all 
-# undocumented members of documented classes, files or namespaces. 
-# 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.
-
-HIDE_UNDOC_MEMBERS     = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all 
-# 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.
-
-HIDE_UNDOC_CLASSES     = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all 
-# friend (class|struct|union) declarations. 
-# If set to NO (the default) these declarations will be included in the 
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS  = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any 
-# 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.
-
-HIDE_IN_BODY_DOCS      = NO
-
-# The INTERNAL_DOCS tag determines if documentation 
-# 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.
-
-INTERNAL_DOCS          = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate 
-# file names in lower-case letters. If set to YES upper-case letters are also 
-# 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.
-
-CASE_SENSE_NAMES       = NO
-
-# 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.
-
-HIDE_SCOPE_NAMES       = YES
-
-# 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.
-
-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.
-
-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.
-
-INLINE_INFO            = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen 
-# 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.
-
-SORT_MEMBER_DOCS       = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the 
-# 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.
-
-SORT_BRIEF_DOCS        = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen 
-# will sort the (brief and detailed) documentation of class members so that 
-# constructors and destructors are listed first. If set to NO (the default) 
-# the constructors will appear in the respective orders defined by 
-# 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.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# 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.
-
-SORT_GROUP_NAMES       = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be 
-# sorted by fully-qualified names, including namespaces. If set to 
-# NO (the default), the class list will be sorted only by class name, 
-# not including the namespace part. 
-# 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.
-
-SORT_BY_SCOPE_NAME     = 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.
-
-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.
-
-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.
-
-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.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional 
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS       = 
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines 
-# the initial value of a variable or define consists of for it to appear in 
-# the documentation. If the initializer consists of more lines than specified 
-# here it will be hidden. Use a value of 0 to hide initializers completely. 
-# The appearance of the initializer of individual variables and defines in the 
-# documentation can be controlled using \showinitializer or \hideinitializer 
-# command in the documentation regardless of this setting.
-
-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.
-
-SHOW_USED_FILES        = YES
-
-# If the sources in your project are distributed over multiple directories 
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy 
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = NO
-
-# 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.
-
-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.
-
-SHOW_NAMESPACES        = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that 
-# doxygen should invoke to get the current version for each file (typically from 
-# the version control system). Doxygen will invoke the program by executing (via 
-# popen()) the command <command> <input-file>, where <command> is the value of 
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file 
-# provided by doxygen. Whatever the program writes to standard output 
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER    = 
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed 
-# by doxygen. The layout file controls the global structure of the generated 
-# output files in an output format independent way. The create the layout file 
-# 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.
-
-LAYOUT_FILE            = 
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# 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.
-
-QUIET                  = NO
-
-# 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.
-
-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.
-
-WARN_IF_UNDOCUMENTED   = YES
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for 
-# 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.
-
-WARN_IF_DOC_ERROR      = YES
-
-# This WARN_NO_PARAMDOC option can be abled to get warnings for 
-# functions that are documented, but have no documentation for their parameters 
-# 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.
-
-WARN_NO_PARAMDOC       = NO
-
-# The WARN_FORMAT tag determines the format of the warning messages that 
-# doxygen can produce. The string should contain the $file, $line, and $text 
-# tags, which will be replaced by the file and line number from which the 
-# 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)
-
-WARN_FORMAT            = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning 
-# and error messages should be written. If left blank the output is written 
-# to stderr.
-
-WARN_LOGFILE           = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain 
-# documented source files. You may enter file names like "myfile.cpp" or 
-# directories like "/usr/src/myproject". Separate the files or directories 
-# with spaces.
-
-INPUT                  = __INPUT__
-
-# This tag can be used to specify the character encoding of the source files 
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is 
-# 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.
-
-INPUT_ENCODING         = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the 
-# 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++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx 
-# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
-
-FILE_PATTERNS          = *.c \
-                         *.cc \
-                         *.cxx \
-                         *.cpp \
-                         *.c++ \
-                         *.java \
-                         *.ii \
-                         *.ixx \
-                         *.ipp \
-                         *.i++ \
-                         *.inl \
-                         *.h \
-                         *.hh \
-                         *.hxx \
-                         *.hpp \
-                         *.h++ \
-                         *.idl \
-                         *.odl \
-                         *.cs \
-                         *.php \
-                         *.php3 \
-                         *.inc \
-                         *.m \
-                         *.mm \
-                         *.dox \
-                         *.py \
-                         *.f90 \
-                         *.f \
-                         *.vhd \
-                         *.vhdl
-
-# 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.
-
-RECURSIVE              = YES
-
-# The EXCLUDE tag can be used to specify files and/or directories that should 
-# excluded from the INPUT source files. This way you can easily exclude a 
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE                = 
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or 
-# directories that are symbolic links (a Unix filesystem feature) are excluded 
-# from the input.
-
-EXCLUDE_SYMLINKS       = NO
-
-# If the value of the INPUT tag contains directories, you can use the 
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 
-# certain files from those directories. Note that the wildcards are matched 
-# against the file with absolute path, so to exclude all test directories 
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS       = 
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 
-# (namespaces, classes, functions, etc.) that should be excluded from the 
-# 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
-
-EXCLUDE_SYMBOLS        = 
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or 
-# directories that contain example code fragments that are included (see 
-# the \include command).
-
-EXAMPLE_PATH           = 
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the 
-# EXAMPLE_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 all files are included.
-
-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.
-
-EXAMPLE_RECURSIVE      = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or 
-# directories that contain image that are included in the documentation (see 
-# the \image command).
-
-IMAGE_PATH             = 
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should 
-# invoke to filter for each input file. Doxygen will invoke the filter program 
-# by executing (via popen()) the command <filter> <input-file>, where <filter> 
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an 
-# input file. Doxygen will then use the output that the filter program writes 
-# to standard output.  If FILTER_PATTERNS is specified, this tag will be 
-# ignored.
-
-INPUT_FILTER           = 
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 
-# basis.  Doxygen will compare the file name with each pattern and apply the 
-# filter if there is a match.  The filters are a list of the form: 
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further 
-# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER 
-# is applied to all files.
-
-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).
-
-FILTER_SOURCE_FILES    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will 
-# 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.
-
-SOURCE_BROWSER         = YES
-
-# Setting the INLINE_SOURCES tag to YES will include the body 
-# of functions and classes directly in the documentation.
-
-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 and C++ comments will always remain visible.
-
-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.
-
-REFERENCED_BY_RELATION = NO
-
-# 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.
-
-REFERENCES_RELATION    = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) 
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from 
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will 
-# link to the source code.  Otherwise they will link to the documentation.
-
-REFERENCES_LINK_SOURCE = 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.
-
-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.
-
-VERBATIM_HEADERS       = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# 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.
-
-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])
-
-COLS_IN_ALPHA_INDEX    = 5
-
-# In case all classes in a project start with a common prefix, all 
-# 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.
-
-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.
-
-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.
-
-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.
-
-HTML_FILE_EXTENSION    = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for 
-# each generated HTML page. If it is left blank doxygen will generate a 
-# standard header.
-
-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.
-
-HTML_FOOTER            = 
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
-# style sheet that is used by each HTML page. It can be used to 
-# fine-tune the look of the HTML output. If the tag is left blank doxygen 
-# will generate a default style sheet. Note that doxygen will try to copy 
-# the style sheet file to the HTML output directory, so don't put your own 
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-HTML_STYLESHEET        = 
-
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. 
-# Doxygen will adjust the colors in the stylesheet and background images 
-# according to this color. Hue is specified as an angle on a colorwheel, 
-# 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.
-
-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.
-
-HTML_COLORSTYLE_SAT    = 100
-
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to 
-# the luminance component of the colors in the HTML output. Values below 
-# 100 gradually make the output lighter, whereas values above 100 make 
-# 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.
-
-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.
-
-HTML_TIMESTAMP         = YES
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
-# files or namespaces will be aligned in HTML using tables. If set to 
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = 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. For this to work a browser that supports 
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox 
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
-
-HTML_DYNAMIC_SECTIONS  = NO
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files 
-# will be generated that can be used as input for Apple's Xcode 3 
-# integrated development environment, introduced with OSX 10.5 (Leopard). 
-# To create a documentation set, doxygen will generate a Makefile in the 
-# HTML output directory. Running make will produce the docset in that 
-# directory and running "make install" will install the docset in 
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find 
-# it at startup. 
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html 
-# for more information.
-
-GENERATE_DOCSET        = NO
-
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the 
-# 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.
-
-DOCSET_FEEDNAME        = "Doxygen generated docs"
-
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that 
-# 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.
-
-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.
-
-DOCSET_PUBLISHER_ID    = org.doxygen.Publisher
-
-# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
-
-DOCSET_PUBLISHER_NAME  = Publisher
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files 
-# 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.
-
-GENERATE_HTMLHELP      = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can 
-# 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.
-
-CHM_FILE               = 
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can 
-# 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.
-
-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).
-
-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.
-
-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.
-
-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.
-
-TOC_EXPAND             = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and 
-# 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.
-
-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.
-
-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
-
-QHP_NAMESPACE          = org.doxygen.Project
-
-# 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
-
-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
-
-QHP_CUST_FILTER_NAME   = 
-
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the 
-# 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>.
-
-QHP_CUST_FILTER_ATTRS  = 
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this 
-# project's 
-# filter section matches. 
-# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes"> 
-# Qt Help Project / Filter Attributes</a>.
-
-QHP_SECT_FILTER_ATTRS  = 
-
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can 
-# be used to specify the location of Qt's qhelpgenerator. 
-# If non-empty doxygen will try to run qhelpgenerator on the generated 
-# .qhp file.
-
-QHG_LOCATION           = 
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files  
-# will be generated, which together with the HTML files, form an Eclipse help 
-# plugin. To install this plugin and make it available under the help contents 
-# menu in Eclipse, the contents of the directory containing the HTML and XML 
-# files needs to be copied into the plugins directory of eclipse. The name of 
-# 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.
-
-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.
-
-ECLIPSE_DOC_ID         = org.doxygen.Project
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at 
-# top of each HTML page. The value NO (the default) enables the index and 
-# the value YES disables it.
-
-DISABLE_INDEX          = NO
-
-# This tag can be used to set the number of enum values (range [1..20]) 
-# that doxygen will group on one line in the generated HTML documentation.
-
-ENUM_VALUES_PER_LINE   = 4
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index 
-# structure should be generated to display hierarchical information. 
-# If the tag value is set to YES, a side panel will be generated 
-# containing a tree-like index structure (just like the one that 
-# is generated for HTML Help). For this to work a browser that supports 
-# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). 
-# Windows users are probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW      = YES
-
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, 
-# and Class Hierarchy pages using a tree view instead of an ordered list.
-
-USE_INLINE_TREES       = NO
-
-# 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.
-
-TREEVIEW_WIDTH         = 250
-
-# 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.
-
-EXT_LINKS_IN_WINDOW    = NO
-
-# Use this tag to change the font size of Latex formulas included 
-# as images in the HTML documentation. The default is 10. Note that 
-# 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.
-
-FORMULA_FONTSIZE       = 10
-
-# Use the FORMULA_TRANPARENT tag to determine whether or not the images 
-# generated for formulas are transparent PNGs. Transparent PNGs are 
-# 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.
-
-FORMULA_TRANSPARENT    = YES
-
-# 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 
-# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets 
-# (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.
-
-SEARCHENGINE           = NO
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be 
-# implemented using a PHP enabled web server instead of at the web client 
-# using Javascript. Doxygen will generate the search PHP script and index 
-# file to put on the web server. The advantage of the server 
-# based approach is that it scales better to large projects and allows 
-# full text search. The disadvances is that it is more difficult to setup 
-# and does not have live searching capabilities.
-
-SERVER_BASED_SEARCH    = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will 
-# generate Latex output.
-
-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.
-
-LATEX_OUTPUT           = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 
-# invoked. If left blank `latex' will be used as the default command name. 
-# 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.
-
-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.
-
-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.
-
-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, a4wide, letter, legal and 
-# executive. If left blank a4wide will be used.
-
-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.
-
-EXTRA_PACKAGES         = 
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for 
-# 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!
-
-LATEX_HEADER           = 
-
-# 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.
-
-PDF_HYPERLINKS         = YES
-
-# 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.
-
-USE_PDFLATEX           = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. 
-# 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.
-
-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.
-
-LATEX_HIDE_INDICES     = NO
-
-# If LATEX_SOURCE_CODE is set to YES then doxygen will include 
-# source code with syntax highlighting in the LaTeX output. 
-# Note that which sources are shown also depends on other settings 
-# such as SOURCE_BROWSER.
-
-LATEX_SOURCE_CODE      = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# 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.
-
-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.
-
-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.
-
-COMPACT_RTF            = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated 
-# will contain hyperlink fields. The RTF file will 
-# contain links (just like the HTML output) instead of page references. 
-# 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.
-
-RTF_HYPERLINKS         = NO
-
-# Load stylesheet 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.
-
-RTF_STYLESHEET_FILE    = 
-
-# Set optional variables used in the generation of an rtf document. 
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE    = 
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will 
-# generate man pages
-
-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.
-
-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)
-
-MAN_EXTENSION          = .3
-
-# 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.
-
-MAN_LINKS              = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# 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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-XML_PROGRAMLISTING     = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will 
-# generate an AutoGen Definitions (see autogen.sf.net) file 
-# that captures the structure of the code including all 
-# documentation. Note that this feature is still experimental 
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF   = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will 
-# generate a Perl module file that captures the structure of 
-# the code including all documentation. Note that this 
-# feature is still experimental and incomplete at the 
-# moment.
-
-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.
-
-PERLMOD_LATEX          = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be 
-# nicely formatted so it can be parsed by a human reader.  This is useful 
-# if you want to understand what is going on.  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.
-
-PERLMOD_PRETTY         = YES
-
-# The names of the make variables in the generated doxyrules.make file 
-# 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.
-
-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.
-
-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.
-
-MACRO_EXPANSION        = NO
-
-# 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.
-
-EXPAND_ONLY_PREDEF     = NO
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files 
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-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.
-
-INCLUDE_PATH           = 
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 
-# 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.
-
-INCLUDE_FILE_PATTERNS  = 
-
-# The PREDEFINED tag can be used to specify one or more macro names that 
-# are defined before the preprocessor is started (similar to the -D option of 
-# gcc). The argument of the tag is a list of macros of the form: name 
-# or name=definition (no spaces). If the definition and the = are 
-# omitted =1 is assumed. To prevent a macro definition from being 
-# undefined via #undef or recursively expanded use the := operator 
-# instead of the = operator.
-
-PREDEFINED             = 
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then 
-# this tag can be used to specify a list of macro names that should be expanded. 
-# 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.
-
-EXPAND_AS_DEFINED      = 
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then 
-# doxygen's preprocessor will remove all function-like macros that are alone 
-# on a line, have an all uppercase name, and do not end with a semicolon. Such 
-# function macros are typically used for boiler-plate code, and will confuse 
-# the parser if not removed.
-
-SKIP_FUNCTION_MACROS   = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles. 
-# Optionally an initial location of the external documentation 
-# can be added for each tagfile. The format of a tag file without 
-# this location is as follows: 
-#   TAGFILES = file1 file2 ... 
-# Adding location for the tag files is done as follows: 
-#   TAGFILES = file1=loc1 "file2 = loc2" ... 
-# where "loc1" and "loc2" can be relative or absolute paths or 
-# URLs. If a location is present for each tag, the installdox tool 
-# does not have to be run to correct the links. 
-# Note that each tag file must have a unique name 
-# (where the name does NOT include the path) 
-# If a tag file is not located in the directory in which doxygen 
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES               = 
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create 
-# a tag file that is based on the input files it reads.
-
-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.
-
-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.
-
-EXTERNAL_GROUPS        = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script 
-# interpreter (i.e. the result of `which perl').
-
-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 is superseded by the HAVE_DOT option below. This is only a 
-# fallback. It is recommended to install and use dot, since it yields more 
-# powerful graphs.
-
-CLASS_DIAGRAMS         = NO
-
-# You can define message sequence charts within doxygen comments using the \msc 
-# command. Doxygen will then run the mscgen tool (see 
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the 
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where 
-# the mscgen tool resides. If left empty the tool is assumed to be found in the 
-# default search path.
-
-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.
-
-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_DOT               = YES
-
-# 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 
-# explicitly to a value larger than 0 to get control over the balance 
-# between CPU load and processing speed.
-
-DOT_NUM_THREADS        = 0
-
-# By default doxygen will write a font called FreeSans.ttf to the output 
-# directory and reference it in all dot files that doxygen generates. This 
-# font does not include all possible unicode characters however, so when you need 
-# these (or just want a differently looking font) you can specify the font name 
-# using DOT_FONTNAME. You need 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.
-
-DOT_FONTNAME           = FreeSans.ttf
-
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. 
-# The default size is 10pt.
-
-DOT_FONTSIZE           = 10
-
-# By default doxygen will tell dot to use the output directory to look for the 
-# FreeSans.ttf font (which doxygen will put there itself). If you specify a 
-# different font using DOT_FONTNAME you can set the path where dot 
-# can find it using this tag.
-
-DOT_FONTPATH           = 
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# will generate a graph for each documented class showing the direct and 
-# indirect inheritance relations. Setting this tag to YES will force the 
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH            = YES
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen 
-# 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.
-
-COLLABORATION_GRAPH    = YES
-
-# 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
-
-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.
-
-UML_LOOK               = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the 
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS     = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT 
-# 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.
-
-INCLUDE_GRAPH          = YES
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and 
-# 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.
-
-INCLUDED_BY_GRAPH      = YES
-
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then 
-# doxygen will generate a call dependency graph for every global function 
-# 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.
-
-CALL_GRAPH             = YES
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then 
-# doxygen will generate a caller dependency graph for every global function 
-# 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.
-
-CALLER_GRAPH           = YES
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen 
-# will graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY    = YES
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to 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.
-
-DIRECTORY_GRAPH        = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 
-# generated by dot. Possible values are png, jpg, or gif 
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT       = png
-
-# 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.
-
-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).
-
-DOTFILE_DIRS           = 
-
-# 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 
-# visualized by representing a node as a red box. Note that doxygen if the 
-# 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.
-
-DOT_GRAPH_MAX_NODES    = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the 
-# graphs generated by dot. A depth value of 3 means that only nodes reachable 
-# from the root by following a path via at most 3 edges will be shown. Nodes 
-# that lay further from the root node will be omitted. Note that setting this 
-# 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.
-
-MAX_DOT_GRAPH_DEPTH    = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent 
-# background. This is disabled by default, because dot on Windows does not 
-# 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).
-
-DOT_TRANSPARENT        = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output 
-# 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.
-
-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.
-
-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.
-
-DOT_CLEANUP            = YES
diff --git a/quantenna/common/doxygen/pktlogger-title.pdf b/quantenna/common/doxygen/pktlogger-title.pdf
deleted file mode 100644
index 46345c8..0000000
--- a/quantenna/common/doxygen/pktlogger-title.pdf
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/pktlogger_doc/Makefile b/quantenna/common/doxygen/pktlogger_doc/Makefile
deleted file mode 100644
index 3bb9c56..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/Makefile
+++ /dev/null
@@ -1,68 +0,0 @@
-DOXYGEN_PDF_INPUT_FILES = ../../../drivers/qdrv/qdrv_wlan.h
-DOXYGEN_PDF_INPUT_FILES += ../../../include/qtn/muc_txrx_stats.h
-DOXYGEN_PDF_INPUT_FILES += ../../../include/qtn/muc_phy_stats.h
-DOXYGEN_PDF_INPUT_FILES += ../../../include/qtn/skb_recycle.h
-DOXYGEN_PDF_INPUT_FILES += chapter1.txt chapter2.txt chapter3.txt chapter4.txt
-DOXYGEN_EXCLUDE_STRUCTURES = qdrv_wlan_netdebug qdrv_wlan_ratedebug qdrv_wlan_memdebug memdebug_watchpt qtn_channel qtn_ratetable qtn_rateentry host_txif _temp_info host_fifo_if host_rxif host_scanif muc_bwa_stats qdrv_wlan qdrv_netdebug_event qdrv_netdebug_mem qdrv_netdebug_rate qdrv_netdebug_stats qdrv_netdebug_txbf qtn_node tx_power_cal qtn_stats qtn_stats_log qtn_skb_recycle_list qtn_chan_adm_stats
-DOXYGEN_EXCLUDE_STRUCTURES_EXT = muc_tx_stats muc_rx_stats muc_rx_rates qtn_rate_stats_mcs_data qtn_rate_tx_stats qtn_rate_gen_stats qtn_rate_tx_stats_per_sec MUC_HT_NUM_RATES muc_bwa_stats qdrv_muc_rx_rates qdrv_radar_stats qdrv_rx_evm_array
-TARGET_DIR = ../../../doxygen/pktlogger/latex
-
-REFMAN:=Quantenna_pktlogger-INTERNAL-ONLY.pdf
-REFMAN_EXT_NM:=Quantenna_pktlogger-external-no-muc.pdf
-REFMAN_EXT:=Quantenna_pktlogger.pdf
-
-all: doxygen_pdf
-
-Doxyfile_pdf_internal:
-	perl ../qtn_doxyfile_pdf.pl "Doxyfile_pdf_internal" "Pktlogger (INTERNAL ONLY)" "pktlogger" "$(REV_NUM)" \
-		--internal	\
-		$(DOXYGEN_PDF_INPUT_FILES) > $@
-
-$(REFMAN): $(TARGET_DIR)/$(REFMAN)
-
-$(TARGET_DIR)/$(REFMAN): clean Doxyfile_pdf_internal
-	doxygen Doxyfile_pdf_internal
-	./qtn_latex.sh
-	make -C $(TARGET_DIR)
-	pdftk $(TARGET_DIR)/refman.pdf background ../watermark.pdf output $(TARGET_DIR)/refman2.pdf
-	pdftk ../pktlogger-title.pdf stamp ../../rev-num.pdf output title.pdf
-	pdftk A=$(TARGET_DIR)/refman2.pdf B=./title.pdf cat B1 A2-end output xxx.pdf
-	mv xxx.pdf $@
-	-rm title.pdf $(TARGET_DIR)/refman.pdf $(TARGET_DIR)/refman2.pdf
-
-Doxyfile_pdf_external:
-	perl ../qtn_doxyfile_pdf.pl "Doxyfile_pdf" "Pktlogger" "pktlogger" "$(REV_NUM)"			\
-		--exclusions "$(DOXYGEN_EXCLUDE_STRUCTURES)" \
-		$(DOXYGEN_PDF_INPUT_FILES) > $@
-
-$(REFMAN_EXT): $(TARGET_DIR)/$(REFMAN_EXT)
-
-$(TARGET_DIR)/$(REFMAN_EXT): clean Doxyfile_pdf_external
-	doxygen Doxyfile_pdf_external
-	./qtn_latex.sh
-	make -C $(TARGET_DIR)
-	pdftk ../pktlogger-title.pdf stamp ../../rev-num.pdf output title.pdf
-	pdftk A=$(TARGET_DIR)/refman.pdf B=./title.pdf cat B1 A2-end output xxx.pdf
-	mv xxx.pdf $@
-	-rm title.pdf $(TARGET_DIR)/refman.pdf
-
-Doxyfile_pdf_no_muc:
-	perl ../qtn_doxyfile_pdf.pl "Doxyfile_pdf" "Pktlogger (no MuC)" "pktlogger" "$(REV_NUM)" 	\
-		--exclusions "$(DOXYGEN_EXCLUDE_STRUCTURES) $(DOXYGEN_EXCLUDE_STRUCTURES_EXT)"		\
-		$(DOXYGEN_PDF_INPUT_FILES) > $@
-
-$(REFMAN_EXT_NM): $(TARGET_DIR)/$(REFMAN_EXT_NM)
-
-$(TARGET_DIR)/$(REFMAN_EXT_NM): clean Doxyfile_pdf_no_muc
-	doxygen Doxyfile_pdf_no_muc
-	./qtn_latex.sh
-	make -C $(TARGET_DIR)
-	pdftk ../pktlogger-title.pdf stamp ../../rev-num.pdf output title.pdf
-	pdftk A=$(TARGET_DIR)/refman.pdf B=./title.pdf cat B1 A2-end output xxx.pdf
-	mv xxx.pdf $@
-	-rm title.pdf $(TARGET_DIR)/refman.pdf
-
-clean:
-	-rm -f Doxyfile_pdf_external
-	-rm -f Doxyfile_pdf_internal
-	-rm -f Doxyfile_pdf_no_muc
diff --git a/quantenna/common/doxygen/pktlogger_doc/chapter1.txt b/quantenna/common/doxygen/pktlogger_doc/chapter1.txt
deleted file mode 100644
index e092d86..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/chapter1.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-/**@page mypage1 Overview
- * This document describes the packet logger debug facility of the Quantenna embedded software.
- *
- * This document is divided into sections giving a background, how to setup the packetlogger
- * system, how to interpret the results, and a detailed list of the various statistics that
- * are gathered.
- *
- * \internal This version of the document is for internal use only! Do not distribute this
- * document externally.
- */
diff --git a/quantenna/common/doxygen/pktlogger_doc/chapter2.txt b/quantenna/common/doxygen/pktlogger_doc/chapter2.txt
deleted file mode 100644
index c838aa9..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/chapter2.txt
+++ /dev/null
@@ -1,23 +0,0 @@
-/**@page mypage2 Background
- * The packetlogger debug facility of the embedded Quantenna software is a debug feature
- * which is used to monitor realtime statistics in the embedded system.
- *
- * The feature exports internally visible statistics (from the LHost, MuC, MAC and baseband)
- * via the network. A statistics gathering process runs on the network, and packages the
- * data into machine readable formats, in the first instance as comma separated values (CSVs).
- *
- * The following diagram gives a high level component view of the packetlogger facility.
- *
- * \anchor image-of-top
- * \image latex pktlogger_high_level.png "Pktlogger high level setup" width=\textwidth
- *
- * The source of the data containing board statistics comes from an individual board such
- * as a QHS710. This is the first component in the packet logger architecture. The device that
- * consumes and formats the data is generally run on a host PC connected to the same Ethernet
- * segment as the Quantenna board. This is the second component in the packet logger architecture.
- *
- * The pktlogger environment consists of two device roles, sender and receiver.
- * The DUT as sender, collects data and constructs a UDP packet, which is then sent via Ethernet,
- * PCIe or WiFi. The receiver creates a UDP socket to receive these packets, and saves
- * them to a file which can be processed at a later time.
- */
diff --git a/quantenna/common/doxygen/pktlogger_doc/chapter3.txt b/quantenna/common/doxygen/pktlogger_doc/chapter3.txt
deleted file mode 100644
index 20a5e12..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/chapter3.txt
+++ /dev/null
@@ -1,236 +0,0 @@
-/**@page mypage3 Environment setup and usage
- * @section mysection3_1 Packet logger variants
- *
- * The following table shows the different packet logger variants available for debugging.
- *
- * The QHS710 command column indicates the command to be run on the embedded device under test
- * to enable the feature.
- *
- * <TABLE>
- * <TR> <TH>Name</TH><TH>Description</TH><TH>QHS710 command (brief)</TH></TR>
- * <TR> <TD>Netdebug</TD><TD>The 'traditional' pktlogger. This packetlogger outputs statistics from
- * the various different subsystems. The embedded DUT command also enables iwevent network debugging.
- * </TD><TD><c>netdebug <on|off></c></TD></TR>
- * <TR> <TD>sysmsgdebug</TD> <TD>Log messages captured by ssylogd.</TD>
- * <TD><c>sysmsgdebug <on|off></c></TD></TR>
- * <TR> <TD>Ratedebug</TD><TD>Specific rate retry debugging. This packetlogger outputs detailed
- * rate adaptation information.</TD><TD><c>ratedebug <on|off></c></TD></TR>
- * <TR> <TD>Memdebug</TD><TD>Specific memory block debugging. This packetlogger outputs detailed
- * memory dump information.</TD><TD><c>memdebug <on|off></c></TD></TR>
- * <TR> <TD>Radardebug</TD><TD>Specific radar memory debugging. This packetlogger outputs detailed
- * radar memory dump information.</TD><TD><c>radardebug <on|off></c></TD></TR>
- * </TABLE>
- *
- * The default interface for sending debug packet is eth1_0 on Video Bridge devices,
- * and pcie0 on PCIe EP boards. Debug packets can be sent via wireless interface
- * by using the following command.
- *
- * <c>qdrvcmd pktlogger 0 set interface wifi0</c>
- *
- * Debug packets are sent by default as broadcast IPv4 UDP packets. This command shows the current
- * configuration parameters.
- *
- * <c>qdrvcmd pktlogger 0 show</c>
- *
- * The following snapshot shows other default configuration.
- * \image latex pktlogger_dut_default_setting.png "Example of default configuration from a DUT" width=\textwidth
- *
- * Use the following command to display all of the pktlogger configuration parameters.
- *
- * <c>qdrvcmd pktlogger 0 help</c>
- *
- * \note
- * At beginning of debug, it is advisable to make sure DUT can reach host PC by
- * running a ping test from DUT to host PC.
- *
- * @section mysection3_2 Host side setup
- *
- * As noted in the diagram in the figure \ref image-of-top "Pktlogger high level setup", the packet logger is a distributed debugging
- * facility which runs on both the embedded platform, and on a host platform connected to the same
- * subnet.
- *
- * The host side application is written in Perl.
- *
- * @subsection mysection3_2_1 Microsoft Windows installation
- *
- * Download and install Perl from:
- *
- * \li http://www.activestate.com/activeperl/downloads
- *
- * Install the following packages by using the Package Manger: Start->Programs->ActivePerl->Perl Package Manager
- * \li Config-General
- *
- * @subsection mysection3_2_2 Linux installation
- *
- * Install the following Perl packages:
- *
- * \li <c>Config::General</c>
- *
- * @subsubsection mysection3_2_2_1 Fedora Core instructions
- *
- * The following specific commands can be run on a Fedora Core system to install the required packages:
- *
- * <c>yum install perl-Config-General</c>
- *
- * @subsubsection mysection3_2_2_2 Ubuntu 10.10 instructions
- *
- * The following specific commands can be run on an Ubuntu system to install the required packages.
- * In this case, the version is 10.10, but other versions should work in a similar way.
- *
- * <c>apt-get install libconfig-general-perl</c>
- *
- * @section mysection3_3 Generating the host tool tarball
- *
- * The host tool tarball will be distributed on an as-needs basis to customers.
- *
- * Build the Packet logger by doing make stat_parser in the swdepot/host directory. This copies the
- * headers.txt file to the packet logger directory. Obtain the Packet Logger (including headers subdirectory)
- * from the swdepot/host/pktlogger directory in the source tree that was used to build the image that is
- * running netdebug. Copy the entire directory structure onto the monitoring system.
- *
- * Failure to use the correct header version (and checksum) will result in an error. You can force it continue
- * even in the case of a mismatch with --force, but chances are something will be broken.
- *
- * @subsection mysection3_3_1 Host tool tarball contents
- *
- * The following list is a description of the files in the host tarball.
- *
- * \li <c>headers.txt</c> - system generated file containing all the structure headers.
- * \li <c>iwevent.conf</c> - configuration file to capture iwevent logs from the network.
- * \li <c>mem.conf</c> - configuration file to capture memory dump events from the network.
- * \li <c>mem_track.py</c> - helper tool to parse memory dumps.
- * \li <c>pktlogger-parser.conf</c> - configuration tool for the packet logger parser helper script.
- * \li <c>pktlogger-parser.pl</c> - packet logger parser helper tool.
- * \li <c>plot_all.py</c> - helper tool to plot statistics in real time.
- * \li <c>post_analysis_tools.mk</c> - makefile to generate post-processing required for pktlogger-parser.
- * \li <c>post_analysis_tools.tar</c> - tarball of generated code for post-processing.
- * \li <c>pp-scan.pl</c> - perl script to scan for changed test results.
- * \li <c>qdrv_netdebug_checksum.h</c> - checksum file to ensure the tool is receiving the correct debug
- * packets.
- * \li <c>qdrv_p4build.h</c> - version header.
- * \li <c>radar.conf</c> - configuration file to capture radar memory events from the network.
- * \li <c>rate.conf</c> - configuration file to capture rate adaptation events from the network.
- * \li <c>stat_parser.pl</c> - main packet logger host tool.
- * \li <c>stats.conf</c> - configuration file to capture statistics from the network.
- * \li <c>sysmsgdebug.conf</c> - configuration to capture syslog messages from the network.
- * \li <c>txbf.conf</c> - configuration to capture beamforming data from the network.
- *
- * @section mysection3_4 Running the host side tool
- *
- * The general format of the host side tool arguments is as follows:
- *
- * \verbatim
-   stat_parser.pl  [--conf <conf1>[,<conf2>[,<conf3>]] [--conf <conf4>]]
-                   [--save] [--port <port number>] [--infile <filename>]
-                   [--log <logFilePrefix>]
-                   [--console] [--conf2 <configFileName> ...]
-                   [--force] [--debug ] [--verbosity <0-10>]
-\endverbatim
- *
- * @param conf a set of comma delimited configuration files to use with the tool.
- * @param save Save debug packet to a binary file instead of parsing in real-time.
- * @param port UDP port number for receiving debug packets. The default is 6602.
- * @param infile Parse packets from a file instead of from a network device.
- * @param log prefix of the directory to store the log files in.
- * @param console
- * @param force
- * @param debug
- * @param verbosity
- *
- * @section mysection3_5 Configuration files
- *
- * The different configuration files are enabled using the --conf argument to the host side tool.
- *
- * The following default configuration files are defined:
- *
- * <TABLE>
- * <TR> <TH>Config name</TH><TH>Description</TH></TR>
- * <TR> <TD>stats.conf</TD><TD>The 'traditional' pktlogger.</TD></TR>
- * <TR> <TD>rate.conf</TD><TD>Specific rate retry debugging.</TD></TR>
- * <TR> <TD>mem.conf</TD><TD>Specific memory block debugging.</TD></TR>
- * <TR> <TD>radar.conf</TD><TD>Specific radar memory debugging.</TD></TR>
- * <TR> <TD>txbf.conf</TD><TD>Specific beamforming debugging.</TD></TR>
- * <TR> <TD>iwevent.conf</TD><TD>Specific iwevent debugging.</TD></TR>
- * <TR> <TD>sysmsgdebug.conf</TD><TD>Specific syslog debugging.</TD></TR>
- * </TABLE>
- *
- * These files generally can be used with no alterations. The following variables can be modified in
- * the file to customise individual setups.
- *
- * <TABLE>
- * <TR> <TH>Variable</TH><TH>Description</TH><TH>Valid values</TH></TR>
- * <TR> <TD>log_dir</TD><TD>The directory to store the log files. If it doesn't exist, the directory
- * will be automatically created.</TD><TD>Any valid directory name.</TD></TR>
- * <TR> <TD>log_file</TD><TD>An informative prefix for all the log file names</TD><TD>Any ASCII
- * string.</TD></TR>
- * <TR> <TD>create_raw_log</TD><TD>Whether to generate the unparsed raw log file.</TD><TD><c>0, 1</c></TD></TR>
- * <TR> <TD>recs_per_file</TD><TD>The number of records to put in a single file.</TD><TD><c>1-65535</c></TD></TR>
- * </TABLE>
- *
- * Pktlogger can be run in a single phase or in two phases.
- *
- * When run in a single phase, debug packets are captured and saved directly into
- * various text files (depending on config types).
- *
- * When run in two phases, all debug packets are captured and saved into a single 'raw'
- * binary file. After the capture is complete, the same script is invoked with different
- * parameters to parse the binary file and generate the text file.
- *
- * Some of the generated text files are in readable text format, and others are in
- * CSV (comma separated values) format, which can be viewed and processed in a
- * spreadsheet program.
- *
- * @section mysection3_6 Example usage
- *
- * <b>Example 1: Usage on a Windows machine.</b>
- *
- * The host side command is:
- *
- * \verbatim
-stat_parser.pl --save
-\endverbatim
- *
- * In parallel, on the embedded platform, enable the packet logger function:
- *
- * \verbatim
-netdebug on
-\endverbatim
- *
- * After debug packet capture is complete, the following command can be used to parse the packets saved in file.
- * \verbatim
-stat_parser.pl --conf <stats,iwevent,mem,.etc> --infile <path to the packet file>
-\endverbatim
- *
- * The following screenshots show the result of running these commands on the host and DUT.
- *
- * \anchor pktlogger-host-screenshot
- * \image latex pktlogger_host_1.png "Example usage of pktlogger (host side)" width=\textwidth
- *
- * \anchor pktlogger_dut_screenshot1
- * \image latex pktlogger_dut_1.png "Example usage of pktlogger (DUT side)" width=\textwidth
- *
- * After stopping capture of the debug packets, the file that contains all data can
- * be found under the 'LOGS' directory.
- * \anchor pktlogger_host_screenshot2
- * \image latex pktlogger_host_2.png "Example usage of pktlogger (host side)" width=\textwidth
- *
- * Parse debug packets from file.
- * \anchor pktlogger_host_screenshot3
- * \image latex pktlogger_host_3.png "Example usage of pktlogger (Phase2 host side)" width=\textwidth
- *
- * \note In phase 2, to process packets from a file,
- * if there is a mismatched version (the host tools package is not from the same
- * build version as the embedded image), a message like the following will be displayed:<BR>
- * \verbatim
-Receiving statistics from 00:26:86:01:37:3d
-ERROR: logger checksum (a6efa7d) does not match sender checksum (bb5a307c)
-\endverbatim<BR>
- * To correct this condition, use a host tools package with the same build version as
- * the embeded image.
- *
- * In addition to post-capture parsing, pktlogger can capture and parse live streams
- * as per the following example.
- * In this case, parameters <c>--save</c> and <c>--infile</c> are not used.
- * Example:
- * \image latex pktlogger_host_old.png "Example usage of pktlogger (host side)" width=\textwidth
- */
diff --git a/quantenna/common/doxygen/pktlogger_doc/chapter4.txt b/quantenna/common/doxygen/pktlogger_doc/chapter4.txt
deleted file mode 100644
index bde83d0..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/chapter4.txt
+++ /dev/null
@@ -1,93 +0,0 @@
-/**@page mypage4 Analyzing results
- *
- * Analyzing the results from pktlogger can be done in many different ways. The following sections show some of
- * the methods used.
- *
- * @section mysection4_1 Excel graphing of CSV files
- *
- * The simplest method to analyse shorter test runs is to use Microsoft Excel (or another spreadsheet program)
- * to quickly analyse rows/columns of data, and graph trends in the data.
- *
- * Each file generated from pktlogger is stored in two forms. The first is an incremental CSV (comma separated
- * value) format. The second is a raw data CSV format.
- *
- * The incremental CSV format file is a post-processed version of the raw data file, and contains the difference
- * from one sample of data to the next. The raw CSV file format contains the raw data as received by the data source.
- * For example, see the following image showing some fields from both the raw and incremental CSV files for
- * comparison.
- *
- * \anchor raw-processed-csv
- * \image latex raw-processed-csv.png "Raw CSV (left) and processed CSV (right)" width=\textwidth
- *
- * \note For the processed CSV file, the first row of data will generally contain a large value. For plotting and
- * analysing data, this row should be ommitted to prevent skewing of data.
- *
- * \note Even in the incremental CSV format, some fields are kept as raw values. For example: tx_channel is constant
- * at it is not an incremental stat.
- *
- * An example of a graph created in excel is shown in the following figure.
- *
- * \anchor sys-temp-excel-graph
- * \image latex sys-temp-graph-excel.png "Example graph of system temperature" width=\textwidth
- *
- * The different fields within the CSV file are defined in section [ref].
- *
- * @subsection mysection_4_1_1 CSV file formats
- *
- * This section details the format of the various pktlogger CSV files generated.
- *
- * @subsubsection mysection_4_1_2 Stat logger file format
- *
- * The format of the CSV file for the stat logger (the 'traditional' pktlogger) is as per the following diagram:
- *
- * \anchor packetlogger-main-format
- * \image latex packetlogger-main-format.png "Main packetlogger CSV format" width=\textwidth
- * 
- * The following table details where to find additional documentation for the different parts of the CSV file.
- *
- * <TABLE>
- * <TR> <TH>Section name</TH><TH>Description</TH><TH>C structure</TH></TR>
- * <TR> <TD>Common header</TD><TD>Shared header across some different pktlogger formats.</TD>
- * <TD><c>struct qdrv_netdebug_hdr</c></TD></TR>
- * <TR> <TD>stats_muc_rx</TD><TD>Statistics on the RX path from the MuC.</TD>
- * <TD><c>struct muc_rx_stats</c></TD></TR>
- * <TR> <TD>rates_muc_rx</TD><TD>RX MCS packet counts from the MuC.</TD>
- * <TD><c>struct muc_rx_rates</c></TD></TR>
- * <TR> <TD>stats_muc_tx</TD><TD>Statistics on the TX path from the MuC.</TD>
- * <TD><c>struct muc_tx_stats</c></TD></TR>
- * <TR> <TD>stats_qdisc</TD><TD>Statistics from the LHost QDisc (queue discipline).</TD>
- * <TD><c>struct qdrv_qdisc_stats</c></TD></TR>
- * <TR> <TD>stats_emac</TD><TD>Statistics from the EMAC (Ethernet).</TD>
- * <TD><c>struct qdrv_emac_stats</c></TD></TR>
- * <TR> <TD>stats_wlan_rx</TD><TD>Statistics from the WLAN driver for the RX path.</TD>
- * <TD><c>struct qdrv_wlan_rx_stats</c></TD></TR>
- * <TR> <TD>stats_wlan_tx</TD><TD>Statistics from the WLAN driver for the TX path.</TD>
- * <TD><c>struct qdrv_wlan_tx_stats</c></TD></TR>
- * <TR> <TD>stats_wlan_sm</TD><TD>Statistics from the WLAN 802.11 state machine.</TD>
- * <TD><c>struct qdrv_wlan_sm_stats</c></TD></TR>
- * <TR> <TD>stats_phy_rx</TD><TD>Statistics from the PHY RX.</TD>
- * <TD><c>struct qtn_rx_stats</c></TD></TR>
- * <TR> <TD>stats_phy_tx</TD><TD>Statistics from the PHY TX.</TD>
- * <TD><c>struct qtn_tx_stats</c></TD></TR>
- * <TR> <TD>stats_mem</TD><TD>Statistics from the LHost memory subsystem.</TD>
- * <TD><c>struct qdrv_mem_stats</c></TD></TR>
- * <TR> <TD>stats_evm</TD><TD>Statistics from the MuC EVM calculations.</TD>
- * <TD><c>struct qdrv_rx_evm_array</c></TD></TR>
- * <TR> <TD>stats_skb_qdrv</TD><TD>Statistics the QDRV for Linux skb usage.</TD>
- * <TD><c>struct qtn_skb_recycle_stats</c></TD></TR>
- * <TR> <TD>stats_skb_kfree</TD><TD>Statistics the QDRV for Linux skb usage.</TD>
- * <TD><c>struct qtn_skb_recycle_stats</c></TD></TR>
- * </TABLE>
- *
- * @subsubsection mysection_4_1_3 Rate logger file format
- *
- * The format of the CSV file for the rate logger is as per the following diagram:
- *
- * \anchor ratelogger-csv-format
- * \image latex ratelogger-csv-format.png "Ratelogger CSV format" width=\textwidth
- *
- * @section mysection4_2 Packetlogger parser
- *
- * For each test run performed, the pktlogger parser script can be run across the resultant pktlogger logs to
- * generate graphs, and perform rudimentary analysis of the results.
- */
diff --git a/quantenna/common/doxygen/pktlogger_doc/image/packetlogger-main-format.png b/quantenna/common/doxygen/pktlogger_doc/image/packetlogger-main-format.png
deleted file mode 100644
index 6f84871..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/image/packetlogger-main-format.png
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger-dut.png b/quantenna/common/doxygen/pktlogger_doc/image/pktlogger-dut.png
deleted file mode 100644
index c8a5f46..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger-dut.png
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger-high-level.png b/quantenna/common/doxygen/pktlogger_doc/image/pktlogger-high-level.png
deleted file mode 100644
index d833314..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger-high-level.png
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger-host.png b/quantenna/common/doxygen/pktlogger_doc/image/pktlogger-host.png
deleted file mode 100644
index dc85e1c..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger-host.png
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_dut_1.png b/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_dut_1.png
deleted file mode 100644
index 111524f..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_dut_1.png
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_dut_default_setting.png b/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_dut_default_setting.png
deleted file mode 100644
index b85b9be..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_dut_default_setting.png
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_high_level.png b/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_high_level.png
deleted file mode 100644
index f62a204..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_high_level.png
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_host_1.png b/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_host_1.png
deleted file mode 100644
index bdeae2b..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_host_1.png
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_host_2.png b/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_host_2.png
deleted file mode 100644
index 10c3e5c..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_host_2.png
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_host_3.png b/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_host_3.png
deleted file mode 100644
index 2b98de2..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_host_3.png
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_host_old.png b/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_host_old.png
deleted file mode 100644
index a3dda05..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/image/pktlogger_host_old.png
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/pktlogger_doc/image/ratelogger-csv-format.png b/quantenna/common/doxygen/pktlogger_doc/image/ratelogger-csv-format.png
deleted file mode 100644
index 79ad655..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/image/ratelogger-csv-format.png
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/pktlogger_doc/image/raw-processed-csv.png b/quantenna/common/doxygen/pktlogger_doc/image/raw-processed-csv.png
deleted file mode 100644
index dc6fc92..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/image/raw-processed-csv.png
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/pktlogger_doc/image/sys-temp-graph-excel.png b/quantenna/common/doxygen/pktlogger_doc/image/sys-temp-graph-excel.png
deleted file mode 100644
index 88d6d24..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/image/sys-temp-graph-excel.png
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/pktlogger_doc/qtn_latex.sh b/quantenna/common/doxygen/pktlogger_doc/qtn_latex.sh
deleted file mode 100755
index d087e84..0000000
--- a/quantenna/common/doxygen/pktlogger_doc/qtn_latex.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-TARGET_DIR=../../../doxygen/pktlogger/latex
-targetfile=${TARGET_DIR}/refman.tex
-tmpfile=${TARGET_DIR}/refman.tex.tmp
-
-if [ -f $targetfile ] ; then
-	echo "refman.tex exists....."
-	# change latex type from "book" to "report"
-	sed -e 's/book/report/' $targetfile > $tmpfile
-
-	cp -f $tmpfile $targetfile
-fi
diff --git a/quantenna/common/doxygen/qcsapi-title.pdf b/quantenna/common/doxygen/qcsapi-title.pdf
deleted file mode 100644
index 064f917..0000000
--- a/quantenna/common/doxygen/qcsapi-title.pdf
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/qcsapi_doc/Makefile b/quantenna/common/doxygen/qcsapi_doc/Makefile
deleted file mode 100644
index b4b90aa..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/Makefile
+++ /dev/null
@@ -1,56 +0,0 @@
-DOXYGEN_PDF_INPUT_FILES = ../../../buildroot/package/qcsapi/qcsapi-1.0.1/qcsapi.h \
-	groupdefine.txt chapter1_2_3.txt chapter4.txt chapter5.txt chapter7.txt chapter8.txt \
-	../../../drivers/include/shared/qtn/qvsp_data.h \
-	../../../include/qtn/shared_defs.h
-
-DOXYGEN_PDF_INPUT_FILE_INTERNAL_ONLY = vsp.txt
-
-DOXYGEN_PDF_INPUT_FILES += $(shell ls -r changelog/*changes-* | sort -Vr)
-
-TARGET_DIR = ../../../doxygen/qcsapi
-TARGETS = $(TARGET_DIR)/Quantenna_QCSAPI_internal.pdf $(TARGET_DIR)/Quantenna_QCSAPI.pdf
-
-all: doxygen_pdf
-doxygen_pdf: $(TARGETS)
-
--include vsp_doc.d
-
-vsp_doc: vsp_doc.c
-	gcc -Wall -Werror -ansi -pedantic -O1 -g				\
-		-isystem ../../../drivers/include/shared 			\
-		-isystem ../../../include					\
-		-isystem ../../../						\
-		-isystem ../../../buildroot/package/qcsapi/qcsapi-1.0.1/	\
-		$< -o $@ -MD -MF $@.d
-
-vsp.txt: vsp_doc
-	./$< > $@
-
-Doxyfile_pdf.Quantenna_QCSAPI: $(DOXYGEN_PDF_INPUT_FILES)
-	perl ../qtn_doxyfile_pdf.pl	\
-		Doxyfile_pdf		\
-		"Quantenna Configuration and Status APIs"	\
-		"qcsapi"		\
-		"$(REV_NUM)"		\
-		--predefined "DOXYGEN_EXCLUDE" $^ > $@
-
-Doxyfile_pdf.Quantenna_QCSAPI_internal: $(DOXYGEN_PDF_INPUT_FILES) $(DOXYGEN_PDF_INPUT_FILE_INTERNAL_ONLY)
-	perl ../qtn_doxyfile_pdf.pl	\
-		Doxyfile_pdf		\
-		"Quantenna Configuration and Status APIs INTERNAL ONLY"	\
-		"qcsapi" "$(REV_NUM)"	\
-		--internal $^ > $@
-
-$(TARGET_DIR)/%.pdf: Doxyfile_pdf.%
-	rm -rf $(TARGET_DIR)/latex
-	doxygen $<
-	./qtn_latex.sh
-	make -C $(TARGET_DIR)/latex
-	pdftk ../qcsapi-title.pdf stamp ../../rev-num.pdf output title.pdf
-	pdftk A=$(TARGET_DIR)/latex/refman.pdf B=./title.pdf cat B1 A2-end output xxx.pdf
-	mv xxx.pdf $@
-	-rm title.pdf $(TARGET_DIR)/latex/refman.pdf
-
-clean:
-	rm -f Doxyfile_pdf*
-	rm -rf $(TARGET_DIR)
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v36.1-v36.4 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v36.1-v36.4
deleted file mode 100644
index 2e5e107..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v36.1-v36.4
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v36_1_TO_v36_4 Version v36.1 to version v36.4 changes
- *
- * \subsection v36_1_TO_v36_4Added Added functions
- *
- * The following functions were added between versions v36.1 and v36.4
- *
- * \li \ref qcsapi_wifi_set_vht (36.1.0.1)
- * \li \ref qcsapi_bootcfg_commit (36.1.0.1)
- * \li \ref qcsapi_wifi_scs_switch_channel (36.1.0.1)
- * \li \ref qcsapi_wifi_get_vht (36.1.0.1)
- * \li \ref qcsapi_wifi_get_scs_param_report (36.1.0.4)
- * \li \ref qcsapi_wifi_set_ocac_thrshld (36.1.0.6)
- * \li \ref qcsapi_wifi_set_ocac_duration (36.1.0.6)
- * \li \ref qcsapi_wifi_set_ocac_cac_time (36.1.0.6)
- * \li \ref qcsapi_wifi_get_ocac_status (36.1.0.6)
- * \li \ref qcsapi_wps_set_timeout (36.1.0.6)
- * \li \ref qcsapi_wifi_get_psk_auth_failures (36.1.0.6)
- * \li \ref qcsapi_wifi_set_ocac_report_only (36.1.0.6)
- * \li \ref qcsapi_wifi_stop_ocac (36.1.0.6)
- * \li \ref qcsapi_wifi_set_ocac_dwell_time (36.1.0.6)
- * \li \ref qcsapi_wifi_start_ocac (36.1.0.6)
- * \li \ref qcsapi_wps_on_hidden_ssid (36.1.0.6)
- * \li \ref qcsapi_non_wps_get_pp_enable (36.1.0.8)
- * \li \ref qcsapi_non_wps_set_pp_enable (36.1.0.8)
- * \li \ref qcsapi_wifi_get_dscp_8021p_map (36.1.0.8)
- * \li \ref qcsapi_set_carrier_id (36.1.0.8)
- * \li \ref qcsapi_get_carrier_id (36.1.0.8)
- * \li \ref qcsapi_wifi_set_dscp_8021p_map (36.1.0.8)
- * \li \ref qcsapi_wps_set_ap_pin (36.1.0.9)
- * \li \ref qcsapi_wps_save_ap_pin (36.1.0.9)
- * \li \ref qcsapi_wps_upnp_status (36.1.0.11)
- * \li \ref qcsapi_wps_upnp_enable (36.1.0.11)
- * \li \ref qcsapi_wps_get_pbc_in_srcm (36.1.0.14)
- * \li \ref qcsapi_wps_set_pbc_in_srcm (36.1.0.14)
- * \li \ref qcsapi_wifi_set_chan_pri_inactive (36.1.0.15)
- * \li \ref qcsapi_wifi_enable_tdls (36.1.0.16)
- * \li \ref qcsapi_wifi_get_tdls_status (36.1.0.16)
- * \li \ref qcsapi_wifi_get_tdls_params (36.1.0.16)
- * \li \ref qcsapi_wifi_tdls_operate (36.1.0.16)
- * \li \ref qcsapi_wifi_set_tdls_params (36.1.0.16)
- *
- * \subsection v36_1_TO_v36_4Removed Removed functions
- *
- * The following functions were removed between versions v36.1 and v36.4
- *
- * \li qcsapi_wifi_set_scs_wf (36.1.0.1)
- */
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v36.4-v36.5 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v36.4-v36.5
deleted file mode 100644
index 450d713..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v36.4-v36.5
+++ /dev/null
@@ -1,36 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v36_4TO_v36_5 Version v36.4 to version v36.5 changes
- *
- * \subsection v36_4_TO_v36_5Added Added functions
- *
- * The following functions were added between versions v36.4 and v36.4
- *
- * \li \ref qcsapi_wifi_set_dscp_ac_map (36.4.0.2)
- * \li \ref qcsapi_wifi_get_congestion_index (36.4.0.2)
- * \li \ref qcsapi_wifi_set_tx_power (36.4.0.2)
- * \li \ref qcsapi_wifi_get_dscp_ac_map (36.4.0.2)
- * \li \ref qcsapi_registrar_get_default_pbc_bss (36.4.0.2)
- * \li \ref qcsapi_wifi_get_priority (36.4.0.2)
- * \li \ref qcsapi_regulatory_get_db_version (36.4.0.2)
- * \li \ref qcsapi_wifi_get_carrier_interference (36.4.0.2)
- * \li \ref qcsapi_wifi_set_priority (36.4.0.2)
- * \li \ref qcsapi_registrar_set_default_pbc_bss (36.4.0.2)
- * \li \ref qcsapi_wps_on_hidden_ssid_status (36.4.0.2)
- * \li \ref qcsapi_wps_get_runtime_state (36.4.0.2)
- * \li \ref qcsapi_regulatory_overwrite_country_code (36.4.0.4)
- * \li \ref qcsapi_wifi_get_spinor_jedecid (36.4.0.4)
- * \li \ref qcsapi_get_custom_value (36.4.0.5)
- * \li \ref qcsapi_wifi_get_michael_errcnt (36.4.0.9)
- * \li \ref qcsapi_wifi_get_bw_power (36.5.0.0)
- * \li \ref qcsapi_wifi_set_bw_power (36.5.0.0)
- * \li \ref qcsapi_regulatory_set_bw_power (36.5.0.0)
- *
- * \subsection v36_4TO_v36_5Removed Removed functions
- *
- * The following functions were removed between versions v36.4 and v36.5
- *
- * \li qcsapi_regulatory_get_supported_tx_power_levels (36.4.0.5)
- * \li qcsapi_regulatory_get_current_tx_power_level (36.4.0.5)
- */
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v36.5-v36.6 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v36.5-v36.6
deleted file mode 100644
index 2e7ac14..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v36.5-v36.6
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v36_5TO_v36_6 Version v36.5 to version v36.6 changes
- *
- * \subsection v36_5TO_v36_6Added Added functions
- *
- * The following functions were added between versions v36.5 and v36.6
- *
- * \li \ref qcsapi_pm_get_mode (36.5.0.1)
- * \li \ref qcsapi_wifi_cancel_scan (36.5.0.2)
- * \li \ref qcsapi_wifi_show_vlan_config (36.5.0.2)
- * \li \ref qcsapi_wifi_set_nss_cap (36.5.0.6)
- * \li \ref qcsapi_wifi_get_ipff (36.5.0.6)
- * \li \ref qcsapi_wifi_get_tx_mcs_per_association (36.5.0.6)
- * \li \ref qcsapi_wifi_get_mlme_stats_per_association (36.5.0.6)
- * \li \ref qcsapi_wifi_get_rx_mcs_per_association (36.5.0.6)
- * \li \ref qcsapi_wifi_get_mlme_stats_per_mac (36.5.0.6)
- * \li \ref qcsapi_wifi_del_ipff (36.5.0.6)
- * \li \ref qcsapi_wifi_get_nss_cap (36.5.0.6)
- * \li \ref qcsapi_wifi_add_ipff (36.5.0.6)
- * \li \ref qcsapi_wifi_get_mlme_stats_macs_list (36.5.0.6)
- * \li \ref qcsapi_wps_enable_ap_pin (36.5.0.7)
- * \li \ref qcsapi_wifi_get_security_defer_mode (36.5.0.8)
- * \li \ref qcsapi_wifi_startprod (36.5.0.8)
- * \li \ref qcsapi_wifi_apply_security_config (36.5.0.8)
- * \li \ref qcsapi_store_ipaddr (36.5.0.8)
- * \li \ref qcsapi_wifi_set_security_defer_mode (36.5.0.8)
- * \li \ref qcsapi_wifi_set_rts_threshold (36.6.0.0)
- * \li \ref qcsapi_config_get_ssid_parameter (36.6.0.0)
- * \li \ref qcsapi_config_update_ssid_parameter (36.6.0.0)
- * \li \ref qcsapi_wifi_get_rts_threshold (36.6.0.0)
- */
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v36.6-v36.7 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v36.6-v36.7
deleted file mode 100644
index d8d2a72..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v36.6-v36.7
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v36_6TO_v36_7 Version v36.6 to version v36.7 changes
- *
- * \subsection v36_6TO_v36_7Added Added functions
- *
- * The following functions were added between versions v36.6 and v36.7
- *
- * \li \ref qcsapi_regulatory_apply_tx_power_cap (36.7.0.0)
- */
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v36.7-v37.3 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v36.7-v37.3
deleted file mode 100644
index 19bf20d..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v36.7-v37.3
+++ /dev/null
@@ -1,73 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v36_7TO_v37_3 Version v36.7 to version v37.3 changes
- *
- * \subsection v36_7_TO_v37_3Added Added functions
- *
- * The following functions were added between versions v36.7 and v37.3
- *
- * \li \ref qcsapi_wifi_get_pmf (36.7.0.1)
- * \li \ref qcsapi_set_aspm_l1 (36.7.0.1)
- * \li \ref qcsapi_wifi_set_pmf (36.7.0.1)
- * \li \ref qcsapi_led_pwm_enable (36.7.0.2)
- * \li \ref qcsapi_led_brightness (36.7.0.2)
- * \li \ref qcsapi_wifi_set_eap_shared_key (36.7.0.3)
- * \li \ref qcsapi_SSID_get_pmf (36.7.0.3)
- * \li \ref qcsapi_wifi_set_phy_mode (36.7.0.3)
- * \li \ref qcsapi_wifi_get_eap_shared_key (36.7.0.3)
- * \li \ref qcsapi_regulatory_restore_regulatory_tx_power (36.7.0.3)
- * \li \ref qcsapi_wifi_set_eap_radius_port (36.7.0.3)
- * \li \ref qcsapi_get_board_parameter (36.7.0.3)
- * \li \ref qcsapi_SSID_set_pmf (36.7.0.3)
- * \li \ref qcsapi_wifi_set_eap_radius_ipaddr (36.7.0.3)
- * \li \ref qcsapi_wifi_get_eap_radius_port (36.7.0.3)
- * \li \ref qcsapi_wifi_get_phy_mode (36.7.0.3)
- * \li \ref qcsapi_wifi_set_own_ip_addr (36.7.0.3)
- * \li \ref qcsapi_wifi_get_eap_radius_ipaddr (36.7.0.3)
- * \li \ref qcsapi_wifi_set_bss_isolate (36.7.0.4)
- * \li \ref qcsapi_wowlan_set_magic_pattern (36.7.0.4)
- * \li \ref qcsapi_wifi_set_intra_bss_isolate (36.7.0.4)
- * \li \ref qcsapi_wowlan_set_L2_type (36.7.0.4)
- * \li \ref qcsapi_wifi_get_intra_bss_isolate (36.7.0.4)
- * \li \ref qcsapi_set_host_state (36.7.0.4)
- * \li \ref qcsapi_wowlan_set_udp_port (36.7.0.4)
- * \li \ref qcsapi_wifi_get_bss_isolate (36.7.0.4)
- * \li \ref qcsapi_wowlan_set_match_type (36.7.0.4)
- * \li \ref qcsapi_wifi_get_bgscan_status (36.7.0.5)
- * \li \ref qcsapi_wifi_get_extender_params (36.7.0.5)
- * \li \ref qcsapi_wifi_enable_bgscan (36.7.0.5)
- * \li \ref qcsapi_wifi_set_extender_params (36.7.0.5)
- * \li \ref qcsapi_wds_get_mode (36.7.0.5)
- * \li \ref qcsapi_wds_add_peer_encrypt (36.7.0.5)
- * \li \ref qcsapi_wds_set_mode (36.7.0.5)
- * \li \ref qcsapi_get_uboot_info (36.7.0.6)
- * \li \ref qcsapi_wifi_get_airfair (36.7.0.7)
- * \li \ref qcsapi_wifi_get_group_key_interval (36.7.0.7)
- * \li \ref qcsapi_wifi_set_airfair (36.7.0.7)
- * \li \ref qcsapi_wifi_set_group_key_interval (36.7.0.7)
- * \li \ref qcsapi_wifi_disable_dfs_channels (36.7.0.8)
- * \li \ref qcsapi_is_startprod_done (37.3.0.0)
- * \li \ref qcsapi_wifi_wowlan_get_magic_pattern (37.3.0.0)
- * \li \ref qcsapi_wifi_get_auth_enc_per_association (37.3.0.0)
- * \li \ref qcsapi_wifi_get_tx_amsdu (37.3.0.0)
- * \li \ref qcsapi_wifi_wowlan_get_host_state (37.3.0.0)
- * \li \ref qcsapi_wifi_set_scs_stats (37.3.0.0)
- * \li \ref qcsapi_wifi_wowlan_get_match_type (37.3.0.0)
- * \li \ref qcsapi_set_l1 (37.3.0.0)
- * \li \ref qcsapi_wifi_get_config_BSSID (37.3.0.0)
- * \li \ref qcsapi_wifi_set_bf_power (37.3.0.0)
- * \li \ref qcsapi_wifi_set_bb_param (37.3.0.0)
- * \li \ref qcsapi_wifi_get_bb_param (37.3.0.0)
- * \li \ref qcsapi_wifi_get_disassoc_reason (37.3.0.0)
- * \li \ref qcsapi_wifi_get_vendor_per_association (37.3.0.0)
- * \li \ref qcsapi_wifi_wowlan_param_get (37.3.0.0)
- * \li \ref qcsapi_wifi_disassociate_sta (37.3.0.0)
- * \li \ref qcsapi_wifi_wowlan_get_udp_port (37.3.0.0)
- * \li \ref qcsapi_wifi_wowlan_get_l2_type (37.3.0.0)
- * \li \ref qcsapi_wifi_get_bf_power (37.3.0.0)
- * \li \ref qcsapi_get_qpm_level (37.3.0.0)
- * \li \ref qcsapi_wifi_get_tput_caps (37.3.0.0)
- * \li \ref qcsapi_wifi_set_tx_amsdu (37.3.0.0)
- * \li \ref qcsapi_regulatory_set_bf_power (37.3.0.0)
- */
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.3-v37.4 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.3-v37.4
deleted file mode 100644
index 0ab0b4c..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.3-v37.4
+++ /dev/null
@@ -1,191 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_3_TO_v37_4 Version v37.3 to version v37.4 changes
- *
- * \subsection v37_3_TO_v37_4Added Added functions
- *
- * The following functions were added between versions v37.3 and v37.4
- *
- * \li \ref qcsapi_interface_get_counter64 (37.3.0.1)
- * \li \ref qcsapi_wifi_get_scan_buf_max_size (37.3.0.2)
- * \li \ref qcsapi_calcmd_get_info (37.3.0.2)
- * \li \ref qcsapi_wifi_set_scan_buf_max_size (37.3.0.2)
- * \li \ref qcsapi_wifi_get_scan_table_max_len (37.3.0.2)
- * \li \ref qcsapi_wifi_set_scan_table_max_len (37.3.0.2)
- * \li \ref qcsapi_wifi_get_tdls_params (37.3.0.3)
- * \li \ref qcsapi_wifi_get_tdls_status (37.3.0.3)
- * \li \ref qcsapi_wifi_tdls_operate (37.3.0.3)
- * \li \ref qcsapi_wifi_get_connection_mode (37.3.0.3)
- * \li \ref qcsapi_wifi_set_tdls_params (37.3.0.3)
- * \li \ref qcsapi_wifi_reassociate (37.3.0.4)
- * \li \ref qcsapi_wifi_get_max_mimo (37.3.0.6)
- * \li \ref qcsapi_get_swfeat_list (37.3.0.6)
- * \li \ref qcsapi_security_get_nai_realms (37.3.0.8)
- * \li \ref qcsapi_wifi_get_proxy_arp (37.3.0.8)
- * \li \ref qcsapi_wifi_get_80211u_params (37.3.0.8)
- * \li \ref qcsapi_remove_hs20_param (37.3.0.8)
- * \li \ref qcsapi_wifi_set_interworking (37.3.0.8)
- * \li \ref qcsapi_wifi_get_power_selection (37.3.0.8)
- * \li \ref qcsapi_security_get_roaming_consortium (37.3.0.8)
- * \li \ref qcsapi_wifi_get_interworking (37.3.0.8)
- * \li \ref qcsapi_security_del_roaming_consortium (37.3.0.8)
- * \li \ref qcsapi_security_del_nai_realm (37.3.0.8)
- * \li \ref qcsapi_wifi_get_hs20_status (37.3.0.8)
- * \li \ref qcsapi_wifi_set_hs20_status (37.3.0.8)
- * \li \ref qcsapi_wifi_get_hs20_params (37.3.0.8)
- * \li \ref qcsapi_wifi_get_venue_info (37.3.0.8)
- * \li \ref qcsapi_security_add_roaming_consortium (37.3.0.8)
- * \li \ref qcsapi_wifi_set_proxy_arp (37.3.0.8)
- * \li \ref qcsapi_remove_11u_param (37.3.0.8)
- * \li \ref qcsapi_wifi_set_power_selection (37.3.0.8)
- * \li \ref qcsapi_wifi_set_hs20_params (37.3.0.8)
- * \li \ref qcsapi_wifi_set_80211u_params (37.3.0.8)
- * \li \ref qcsapi_wifi_set_venue_info (37.3.0.8)
- * \li \ref qcsapi_security_add_nai_realm (37.3.0.8)
- * \li \ref qcsapi_qtm_del_rule_index (37.3.0.9)
- * \li \ref qcsapi_qtm_get_strm (37.3.0.9)
- * \li \ref qcsapi_qtm_get_state (37.3.0.9)
- * \li \ref qcsapi_qtm_get_state_all (37.3.0.9)
- * \li \ref qcsapi_qtm_del_rule (37.3.0.9)
- * \li \ref qcsapi_qtm_set_state (37.3.0.9)
- * \li \ref qcsapi_qtm_get_config (37.3.0.9)
- * \li \ref qcsapi_qtm_add_rule (37.3.0.9)
- * \li \ref qcsapi_qtm_get_stats (37.3.0.9)
- * \li \ref qcsapi_qtm_get_config_all (37.3.0.9)
- * \li \ref qcsapi_qtm_get_rule (37.3.0.9)
- * \li \ref qcsapi_qtm_get_inactive_flags (37.3.0.9)
- * \li \ref qcsapi_qtm_set_config (37.3.0.9)
- * \li \ref qcsapi_regulatory_get_configured_tx_power_ext (37.3.0.10)
- * \li \ref qcsapi_wifi_get_scan_chk_inv (37.3.0.10)
- * \li \ref qcsapi_get_service_action_enum (37.3.0.10)
- * \li \ref qcsapi_wifi_set_scan_chk_inv (37.3.0.10)
- * \li \ref qcsapi_service_control (37.3.0.10)
- * \li \ref qcsapi_get_service_name_enum (37.3.0.10)
- * \li \ref qcsapi_wifi_set_tx_power_ext (37.3.0.10)
- * \li \ref qcsapi_wifi_get_tx_power_ext (37.3.0.10)
- * \li \ref qcsapi_wifi_enable_tdls_over_qhop (37.3.0.11)
- * \li \ref qcsapi_interface_get_ip4 (37.3.0.12)
- * \li \ref qcsapi_wifi_set_dfs_s_radio_dwell_time (37.3.0.12)
- * \li \ref qcsapi_wifi_set_dfs_s_radio_thrshld (37.3.0.12)
- * \li \ref qcsapi_wifi_get_dfs_s_radio_status (37.3.0.12)
- * \li \ref qcsapi_wifi_get_bss_assoc_limit (37.3.0.12)
- * \li \ref qcsapi_wifi_set_dfs_s_radio_report_only (37.3.0.12)
- * \li \ref qcsapi_wifi_set_dfs_s_radio_cac_time (37.3.0.12)
- * \li \ref qcsapi_wifi_get_dfs_s_radio_availability (37.3.0.12)
- * \li \ref qcsapi_wifi_set_bss_assoc_limit (37.3.0.12)
- * \li \ref qcsapi_interface_set_ip4 (37.3.0.12)
- * \li \ref qcsapi_wifi_start_dfs_s_radio (37.3.0.12)
- * \li \ref qcsapi_wifi_set_dfs_s_radio_duration (37.3.0.12)
- * \li \ref qcsapi_wifi_stop_dfs_s_radio (37.3.0.12)
- * \li \ref qcsapi_security_add_oper_friendly_name (37.3.0.13)
- * \li \ref qcsapi_security_del_venue_name (37.3.0.13)
- * \li \ref qcsapi_security_get_hs20_conn_capab (37.3.0.13)
- * \li \ref qcsapi_security_get_venue_name (37.3.0.13)
- * \li \ref qcsapi_security_add_venue_name (37.3.0.13)
- * \li \ref qcsapi_security_get_oper_friendly_name (37.3.0.13)
- * \li \ref qcsapi_security_del_oper_friendly_name (37.3.0.13)
- * \li \ref qcsapi_security_del_hs20_conn_capab (37.3.0.13)
- * \li \ref qcsapi_verify_numeric (37.3.0.13)
- * \li \ref qcsapi_security_add_hs20_conn_capab (37.3.0.13)
- * \li \ref qcsapi_wifi_del_radius_auth_server_cfg (37.3.0.15)
- * \li \ref qcsapi_wifi_get_radius_auth_server_cfg (37.3.0.15)
- * \li \ref qcsapi_wifi_add_radius_auth_server_cfg (37.3.0.15)
- * \li \ref qcsapi_get_random_seed (37.3.0.16)
- * \li \ref qcsapi_set_random_seed (37.3.0.16)
- * \li \ref qcsapi_wifi_get_link_quality_max (37.3.0.16)
- * \li \ref qcsapi_wifi_set_enable_mu (37.3.0.17)
- * \li \ref qcsapi_wifi_get_mu_use_eq (37.3.0.17)
- * \li \ref qcsapi_wifi_get_mu_use_precode (37.3.0.17)
- * \li \ref qcsapi_wifi_get_enable_mu (37.3.0.17)
- * \li \ref qcsapi_wifi_set_mu_use_eq (37.3.0.17)
- * \li \ref qcsapi_wfa_cert_mode_enable (37.3.0.17)
- * \li \ref qcsapi_wifi_get_mu_groups (37.3.0.17)
- * \li \ref qcsapi_wifi_set_mu_use_precode (37.3.0.17)
- * \li \ref qcsapi_wifi_set_l2_ext_filter (37.3.0.19)
- * \li \ref qcsapi_wifi_get_l2_ext_filter (37.3.0.19)
- * \li \ref qcsapi_set_emac_switch (37.3.0.20)
- * \li \ref qcsapi_send_file (37.3.0.20)
- * \li \ref qcsapi_get_emac_switch (37.3.0.20)
- * \li \ref qcsapi_eth_dscp_map (37.3.0.20)
- * \li \ref qcsapi_wifi_set_dfs_s_radio_wea_cac_time (37.4.0.0)
- * \li \ref qcsapi_str_to_uint32 (37.4.0.0)
- * \li \ref qcsapi_wifi_set_dfs_s_radio_wea_duration (37.4.0.0)
- *
- * \subsection v37_3_TO_v37_4Removed Removed functions
- *
- * The following functions were removed between versions v37.3 and v37.4
- *
- * \li qcsapi_vsp_add_rule (37.3.0.9)
- * \li qcsapi_vsp_get_rule (37.3.0.9)
- * \li qcsapi_vsp_get_strm (37.3.0.9)
- * \li qcsapi_vsp_set_config (37.3.0.9)
- * \li qcsapi_vsp_get_inactive_flags (37.3.0.9)
- * \li qcsapi_vsp_del_rule (37.3.0.9)
- * \li qcsapi_vsp_get_config (37.3.0.9)
- * \li qcsapi_vsp_get_stats (37.3.0.9)
- * \li qcsapi_vsp_get_state_all (37.3.0.9)
- * \li qcsapi_vsp_get_state (37.3.0.9)
- * \li qcsapi_vsp_del_rule_index (37.3.0.9)
- * \li qcsapi_vsp_set_state (37.3.0.9)
- * \li qcsapi_vsp_get_config_all (37.3.0.9)
- * \li \ref qcsapi_wifi_set_venue_info (37.3.0.13)
- * \li \ref qcsapi_wifi_get_venue_info (37.3.0.13)
- * \li qcsapi_wifi_set_eap_shared_key (37.3.0.15)
- * \li qcsapi_wifi_get_eap_shared_key (37.3.0.15)
- * \li qcsapi_wifi_set_eap_radius_port (37.3.0.15)
- * \li qcsapi_wifi_set_eap_radius_ipaddr (37.3.0.15)
- * \li qcsapi_wifi_get_eap_radius_port (37.3.0.15)
- * \li qcsapi_wifi_get_eap_radius_ipaddr (37.3.0.15)
- *
- * \subsection v37_3_0_1_TO_v37_3_0_2Proto Function prototype changes
- * The following function prototypes were modified between versions v37.3 and v37.4
- *  - \ref qcsapi_wifi_get_auth_state (37.3.0.2)
- *    - Old prototype: int qcsapi_wifi_get_auth_state(const char *ifname, char *mac_addr, int *auth_state);
- *    - New prototype: int qcsapi_wifi_get_auth_state(const char *ifname, const char *mac_addr, int *auth_state);
- *  - \ref qcsapi_wifi_get_wpa_status (37.3.0.2)
- *    - Old prototype: int qcsapi_wifi_get_wpa_status(const char *ifname, char *wpa_status, char *mac_addr, const qcsapi_unsigned_int max_len);
- *    - New prototype: int qcsapi_wifi_get_wpa_status(const char *ifname, char *wpa_status, const char *mac_addr, const qcsapi_unsigned_int max_len);
- *  - \ref qcsapi_wifi_tdls_operate (37.3.0.11)
- *    - Old prototype: int qcsapi_wifi_tdls_operate(const char *ifname, qcsapi_tdls_oper operate, const char *mac_addr_str);
- *    - New prototype: int qcsapi_wifi_tdls_operate(const char *ifname, qcsapi_tdls_oper operate, const char *mac_addr_str, int cs_interval);
- *  - \ref qcsapi_security_add_roaming_consortium (37.3.0.13)
- *    - Old prototype: int qcsapi_security_add_roaming_consortium(const char *ifname, const string_32 p_value);
- *    - New prototype: int qcsapi_security_add_roaming_consortium(const char *ifname, const char *p_value);
- *  - \ref qcsapi_security_get_nai_realms (37.3.0.13)
- *    - Old prototype: int qcsapi_security_get_nai_realms(const char *ifname, string_1024 p_value);
- *    - New prototype: int qcsapi_security_get_nai_realms(const char *ifname, string_4096 p_value);
- *  - \ref qcsapi_wifi_set_80211u_params (37.3.0.13)
- *    - Old prototype: int qcsapi_wifi_set_80211u_params(const char *ifname, const string_32 param, const string_32 p_value);
- *    - New prototype: int qcsapi_wifi_set_80211u_params(const char *ifname, const string_32 param, const string_256 value1, const string_32 value2);
- *  - \ref qcsapi_security_del_nai_realm (37.3.0.13)
- *    - Old prototype: int qcsapi_security_del_nai_realm(const char *ifname, const string_32 p_value);
- *    - New prototype: int qcsapi_security_del_nai_realm(const char *ifname, const char *nai_realm);
- *  - \ref qcsapi_get_temperature_info (37.3.0.13)
- *    - Old prototype: int qcsapi_get_temperature_info(int *temp_external, int *temp_internal);
- *    - New prototype: int qcsapi_get_temperature_info(int *temp_external, int *temp_internal, int *temp_bb_internal);
- *  - \ref qcsapi_security_del_roaming_consortium (37.3.0.13)
- *    - Old prototype: int qcsapi_security_del_roaming_consortium(const char *ifname, const string_32 p_value);
- *    - New prototype: int qcsapi_security_del_roaming_consortium(const char *ifname, const char *p_value);
- *  - \ref qcsapi_wifi_get_80211u_params (37.3.0.13)
- *    - Old prototype: int qcsapi_wifi_get_80211u_params(const char *ifname, const string_32 param, string_32 p_value);
- *    - New prototype: int qcsapi_wifi_get_80211u_params(const char *ifname, const string_32 param, string_256 p_value);
- *  - \ref qcsapi_wifi_set_phy_mode (37.3.0.17)
- *    - Old prototype: int qcsapi_wifi_set_phy_mode(const char *ifname, char *new_phy_mode);
- *    - New prototype: int qcsapi_wifi_set_phy_mode(const char *ifname, const char *new_phy_mode);
- *  - \ref qcsapi_wifi_rfstatus (37.3.0.18)
- *    - Old prototype: int qcsapi_wifi_rfstatus(const char *ifname, qcsapi_unsigned_int *rfstatus);
- *    - New prototype: int qcsapi_wifi_rfstatus(qcsapi_unsigned_int *rfstatus);
- *  - \ref qcsapi_wifi_rfenable (37.3.0.18)
- *    - Old prototype: int qcsapi_wifi_rfenable(const char *ifname, const qcsapi_unsigned_int onoff);
- *    - New prototype: int qcsapi_wifi_rfenable(const qcsapi_unsigned_int onoff);
- *  - \ref qcsapi_get_service_action_enum (37.3.0.19)
- *    - Old prototype: int qcsapi_get_service_action_enum(string_32 lookup_action, qcsapi_service_action *serv_action);
- *    - New prototype: int qcsapi_get_service_action_enum(const char *lookup_action, qcsapi_service_action *serv_action);
- *  - \ref qcsapi_get_service_name_enum (37.3.0.19)
- *    - Old prototype: int qcsapi_get_service_name_enum(string_32 lookup_service, qcsapi_service_name *serv_name);
- *    - New prototype: int qcsapi_get_service_name_enum(const char *lookup_service, qcsapi_service_name *serv_name);
- *  - \ref qcsapi_wifi_set_hs20_params (37.3.0.21)
- *    - Old prototype: int qcsapi_wifi_set_hs20_params(const char *ifname, const string_32 param, const string_64 p_value);
- *    - New prototype: int qcsapi_wifi_set_hs20_params(const char *ifname, const string_32 param, const string_64 value1, const string_64 value2, const string_64 value3, const string_64 value4, const string_64 value5, const string_64 value6);
- */
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.0-v37.4.0.18 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.0-v37.4.0.18
deleted file mode 100644
index b6b501d..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.0-v37.4.0.18
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_0_TO_v37_4_0_18 Version v37.4.0.0 to version v37.4.0.18 changes
- *
- * \subsection v37_4_0_0_TO_v37_4_0_18Added Added functions
- *
- * The following functions were added between versions v37.4.0.0 and v37.4.0.18
- *
- * \li \ref qcsapi_wifi_set_optim_stats (37.4.0.3)
- * \li \ref qcsapi_wifi_set_sys_time (37.4.0.5)
- * \li \ref qcsapi_wifi_set_2_4ghz_bw (37.4.0.5)
- * \li \ref qcsapi_wifi_get_mac_address_reserve (37.4.0.5)
- * \li \ref qcsapi_wifi_set_vco_lock_detect_mode (37.4.0.5)
- * \li \ref qcsapi_wifi_clear_mac_address_reserve (37.4.0.5)
- * \li \ref qcsapi_wifi_set_mac_address_reserve (37.4.0.5)
- * \li \ref qcsapi_wifi_get_vco_lock_detect_mode (37.4.0.5)
- * \li \ref qcsapi_wifi_get_sys_time (37.4.0.5)
- * \li \ref qcsapi_wifi_set_pref_band (37.4.0.5)
- * \li \ref qcsapi_wifi_get_2_4ghz_bw (37.4.0.5)
- * \li \ref qcsapi_wifi_get_pref_band (37.4.0.5)
- * \li \ref qcsapi_wifi_ssid_get_bssid (37.4.0.6)
- * \li \ref qcsapi_wifi_ssid_set_bssid (37.4.0.6)
- * \li \ref qcsapi_get_eth_info (37.4.0.6)
- * \li \ref qcsapi_wifi_get_chan_power_table (37.4.0.7)
- * \li \ref qcsapi_wifi_get_scs_score_report (37.4.0.7)
- * \li \ref qcsapi_wifi_set_chan_power_table (37.4.0.7)
- * \li \ref qcsapi_wifi_get_ap_interface_name (37.4.0.9)
- * \li \ref qcsapi_wifi_set_ap_interface_name (37.4.0.9)
- * \li \ref qcsapi_wifi_verify_repeater_mode (37.4.0.9)
- * \li \ref qcsapi_wifi_block_bss (37.4.0.12)
- * \li \ref qcsapi_wifi_chan_control (37.4.0.13)
- * \li \ref qcsapi_wifi_get_chan_disabled (37.4.0.13)
- * \li \ref qcsapi_wifi_set_txba_disable (37.4.0.17)
- * \li \ref qcsapi_security_del_hs20_icon (37.4.0.17)
- * \li \ref qcsapi_wifi_get_pairwise_key_interval (37.4.0.17)
- * \li \ref qcsapi_wifi_get_vap_state (37.4.0.17)
- * \li \ref qcsapi_wifi_set_vap_default_state (37.4.0.17)
- * \li \ref qcsapi_wifi_send_qos_map_conf (37.4.0.17)
- * \li \ref qcsapi_wifi_set_chan_pri_inactive_ext (37.4.0.17)
- * \li \ref qcsapi_wifi_get_txburst (37.4.0.17)
- * \li \ref qcsapi_wifi_get_supported_freq_bands (37.4.0.17)
- * \li \ref qcsapi_wifi_get_qos_map (37.4.0.17)
- * \li \ref qcsapi_security_del_osu_server_uri (37.4.0.17)
- * \li \ref qcsapi_wifi_get_sec_chan (37.4.0.17)
- * \li \ref qcsapi_wifi_get_dscp_tid_map (37.4.0.17)
- * \li \ref qcsapi_wifi_get_rxba_decline (37.4.0.17)
- * \li \ref qcsapi_wifi_del_qos_map (37.4.0.17)
- * \li \ref qcsapi_wifi_set_pairwise_key_interval (37.4.0.17)
- * \li \ref qcsapi_security_add_osu_server_uri (37.4.0.17)
- * \li \ref qcsapi_security_get_osu_server_uri (37.4.0.17)
- * \li \ref qcsapi_security_get_osu_server_param (37.4.0.17)
- * \li \ref qcsapi_wifi_set_vap_state (37.4.0.17)
- * \li \ref qcsapi_wifi_get_txba_disable (37.4.0.17)
- * \li \ref qcsapi_security_del_osu_server_param (37.4.0.17)
- * \li \ref qcsapi_security_get_hs20_icon (37.4.0.17)
- * \li \ref qcsapi_wifi_set_qos_map (37.4.0.17)
- * \li \ref qcsapi_wifi_set_rxba_decline (37.4.0.17)
- * \li \ref qcsapi_wifi_set_txburst (37.4.0.17)
- * \li \ref qcsapi_wifi_set_sec_chan (37.4.0.17)
- * \li \ref qcsapi_security_add_osu_server_param (37.4.0.17)
- * \li \ref qcsapi_security_add_hs20_icon (37.4.0.17)
- * \li \ref qcsapi_wifi_get_vap_default_state (37.4.0.17)
- *
- * \subsection v37_4_0_0_TO_v37_4_0_18Proto Function prototype changes
- *
- * The following function prototypes were modified between versions v37.4.0.0 and v37.4.0.18
- *  - \ref qcsapi_security_del_venue_name (37.4.0.2)
- *    - Old prototype: int qcsapi_security_del_venue_name(const char *ifname, char *lang_code, char *venue_name);
- *    - New prototype: int qcsapi_security_del_venue_name(const char *ifname, const char *lang_code, const char *venue_name);
- *  - \ref qcsapi_security_add_venue_name (37.4.0.2)
- *    - Old prototype: int qcsapi_security_add_venue_name(const char *ifname, char *lang_code, char *venue_name);
- *    - New prototype: int qcsapi_security_add_venue_name(const char *ifname, const char *lang_code, const char *venue_name);
- *  - \ref qcsapi_security_del_oper_friendly_name (37.4.0.2)
- *    - Old prototype: int qcsapi_security_del_oper_friendly_name(const char *ifname, char *lang_code, char *oper_friendly_name);
- *    - New prototype: int qcsapi_security_del_oper_friendly_name(const char *ifname, const char *lang_code, const char *oper_friendly_name);
- *  - \ref qcsapi_security_add_nai_realm (37.4.0.2)
- *    - Old prototype: int qcsapi_security_add_nai_realm(const char *ifname, int encoding, char *nai_realm, char *eap_method);
- *    - New prototype: int qcsapi_security_add_nai_realm(const char *ifname, const int encoding, const char *nai_realm, const char *eap_method);
- *  - \ref qcsapi_security_add_oper_friendly_name (37.4.0.2)
- *    - Old prototype: int qcsapi_security_add_oper_friendly_name(const char *ifname, char *lang_code, char *oper_friendly_name);
- *    - New prototype: int qcsapi_security_add_oper_friendly_name(const char *ifname, const char *lang_code, const char *oper_friendly_name);
- *  - \ref qcsapi_enable_vlan_pass_through (37.4.0.7)
- *    - Old prototype: int qcsapi_enable_vlan_pass_through(int enabled);
- *    - New prototype: int qcsapi_enable_vlan_pass_through(const char *ifname, int enabled);
- *  - \ref qcsapi_get_uboot_info (37.4.0.9)
- *    - Old prototype: int qcsapi_get_uboot_info(char *info, qcsapi_unsigned_int uboot_info);
- *    - New prototype: int qcsapi_get_uboot_info(string_32 uboot_version, struct early_flash_config *ef_config);
- *  - \ref qcsapi_wifi_set_group_key_interval (37.4.0.17)
- *    - Old prototype: int qcsapi_wifi_set_group_key_interval(const char *ifname, const string_16 group_key_interval);
- *    - New prototype: int qcsapi_wifi_set_group_key_interval(const char *ifname, const unsigned int key_interval);
- *  - \ref qcsapi_wifi_show_vlan_config (37.4.0.17)
- *    - Old prototype: int qcsapi_wifi_show_vlan_config(const char *ifname, string_1024 vcfg);
- *    - New prototype: int qcsapi_wifi_show_vlan_config(const char *ifname, string_2048 vcfg, const char *flag);
- *  - \ref qcsapi_wifi_get_group_key_interval (37.4.0.17)
- *    - Old prototype: int qcsapi_wifi_get_group_key_interval(const char *ifname, string_16 group_key_interval);
- *    - New prototype: int qcsapi_wifi_get_group_key_interval(const char *ifname, unsigned int *p_key_interval);
- *  - \ref qcsapi_wifi_vlan_config (37.4.0.17)
- *    - Old prototype: int qcsapi_wifi_vlan_config(const char *ifname, qcsapi_vlan_cmd cmd, uint32_t vlanid, uint32_t flags);
- *    - New prototype: int qcsapi_wifi_vlan_config(const char *ifname, qcsapi_vlan_cmd cmd, uint32_t vlanid);
- */
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.19-v37.4.0.20 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.19-v37.4.0.20
deleted file mode 100644
index 87dca00..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.19-v37.4.0.20
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_19_TO_v37_4_0_20 Version v37.4.0.19 to version v37.4.0.20 changes
- *
- * \subsection v37_4_0_19_TO_v37_4_0_20Added Added functions
- *
- * The following functions were added between versions v37.4.0.19 and v37.4.0.20
- * \li \ref qcsapi_wifi_get_24g_bw
- * \li \ref qcsapi_wifi_set_24g_bw
- *
- * \subsection v37_4_0_19_TO_v37_4_0_20Removed Removed functions
- *
- * The following functions were removed between versions v37.4.0.19 and v37.4.0.20
- * \li \ref qcsapi_wifi_get_2_4ghz_bw
- * \li \ref qcsapi_wifi_set_2_4ghz_bw
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.20-v37.4.0.21 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.20-v37.4.0.21
deleted file mode 100644
index 6796837..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.20-v37.4.0.21
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_20_TO_v37_4_0_21 Version v37.4.0.20 to version v37.4.0.21 changes
- *
- * \subsection v37_4_0_20_TO_v37_4_0_21Removed Removed functions
- *
- * The following functions were removed between versions v37.4.0.20 and v37.4.0.21
- * \li \ref qcsapi_enable_vlan_pass_through
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.26-v37.4.0.27 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.26-v37.4.0.27
deleted file mode 100644
index 94ef05d..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.26-v37.4.0.27
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_26_TO_v37_4_0_27 Version v37.4.0.26 to version v37.4.0.27 changes
- *
- * \subsection v37_4_0_26_TO_v37_4_0_27Added Added functions
- *
- * The following functions were added between versions v37.4.0.26 and v37.4.0.27
- * \li \ref qcsapi_qwe_command
- * \li \ref qcsapi_wifi_get_scan_IEs
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.27-v37.4.0.28 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.27-v37.4.0.28
deleted file mode 100644
index 73bb8fd..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.27-v37.4.0.28
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_27_TO_v37_4_0_28 Version v37.4.0.27 to version v37.4.0.28 changes
- *
- * \subsection v37_4_0_27_TO_v37_4_0_28Proto Function prototype changes
- *
- * The following function prototypes were modified between versions v37.4.0.27 and v37.4.0.28
- *  - \ref qcsapi_wifi_get_node_param
- *    - Old prototype: int qcsapi_wifi_get_node_param(const char *ifname, const uint32_t node_index, qcsapi_per_assoc_param param_type, int local_remote_flag, string_128 input_param_str, qcsapi_measure_report_result *report_result);
- *    - New prototype: int qcsapi_wifi_get_node_param(const char *ifname, const uint32_t node_index, qcsapi_per_assoc_param param_type, int local_remote_flag, const string_128 input_param_str, qcsapi_measure_report_result *report_result);
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.28-v37.4.0.29 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.28-v37.4.0.29
deleted file mode 100644
index 254ebe1..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.28-v37.4.0.29
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_28_TO_v37_4_0_29 Version v37.4.0.28 to version v37.4.0.29 changes
- *
- * \subsection v37_4_0_28_TO_v37_4_0_29Added Added functions
- *
- * The following functions were added between versions v37.4.0.28 and v37.4.0.29
- * \li \ref qcsapi_pm_dual_emac_get_mode
- * \li \ref qcsapi_pm_dual_emac_set_mode
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.29-v37.4.0.30 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.29-v37.4.0.30
deleted file mode 100644
index 2a70842..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.29-v37.4.0.30
+++ /dev/null
@@ -1,18 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_29_TO_v37_4_0_30 Version v37.4.0.29 to version v37.4.0.30 changes
- *
- * \subsection v37_4_0_29_TO_v37_4_0_30Added Added functions
- *
- * The following functions were added between versions v37.4.0.29 and v37.4.0.30
- * \li \ref qcsapi_wifi_get_block_bss
- * \li \ref qcsapi_qtm_safe_get_rule
- * \li \ref qcsapi_qtm_safe_get_stats
- * \li \ref qcsapi_qtm_safe_del_rule
- * \li \ref qcsapi_qtm_safe_get_strm
- * \li \ref qcsapi_qtm_safe_get_config_all
- * \li \ref qcsapi_qtm_safe_add_rule
- * \li \ref qcsapi_qtm_safe_get_state_all
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.32-v37.4.0.33 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.32-v37.4.0.33
deleted file mode 100644
index c0150e7..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.32-v37.4.0.33
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_32_TO_v37_4_0_33 Version v37.4.0.32 to version v37.4.0.33 changes
- *
- * \subsection v37_4_0_32_TO_v37_4_0_33Added Added functions
- *
- * The following functions were added between versions v37.4.0.32 and v37.4.0.33
- * \li \ref qcsapi_wifi_get_supp_chans
- * \li \ref qcsapi_get_client_mac_list
- * \li \ref qcsapi_get_core_dump
- * \li \ref qcsapi_get_core_dump_size
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.34-v37.4.0.35 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.34-v37.4.0.35
deleted file mode 100644
index 94ffb56..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.34-v37.4.0.35
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_34_TO_v37_4_0_35 Version v37.4.0.34 to version v37.4.0.35 changes
- *
- * \subsection v37_4_0_34_TO_v37_4_0_35Added Added functions
- *
- * The following functions were added between versions v37.4.0.34 and v37.4.0.35
- * \li \ref qcsapi_wifi_get_per_assoc_data
- * \li \ref qcsapi_wifi_sample_all_clients
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.35-v37.4.0.36 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.35-v37.4.0.36
deleted file mode 100644
index 5d91180..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.35-v37.4.0.36
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_35_TO_v37_4_0_36 Version v37.4.0.35 to version v37.4.0.36 changes
- *
- * \subsection v37_4_0_35_TO_v37_4_0_36Added Added functions
- *
- * The following functions were added between versions v37.4.0.35 and v37.4.0.36
- * \li \ref qcsapi_wifi_get_multicast_list
- * \li \ref qcsapi_wifi_add_multicast
- * \li \ref qcsapi_wifi_del_multicast
- *
- * \subsection v37_4_0_35_TO_v37_4_0_36Proto Function prototype changes
- *
- * The following function prototypes were modified between versions v37.4.0.35 and v37.4.0.36
- *  - \ref qcsapi_qtm_safe_get_strm
- *    - Old prototype: int qcsapi_qtm_safe_get_strm(const char *ifname, struct qcsapi_int_array1024 *entries, unsigned int max_entries, int show_all);
- *    - New prototype: int qcsapi_qtm_safe_get_strm(const char *ifname, struct qvsp_strms *strms, int show_all);
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.40-v37.4.0.41 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.40-v37.4.0.41
deleted file mode 100644
index fbb6ecd..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.40-v37.4.0.41
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_40_TO_v37_4_0_41 Version v37.4.0.40 to version v37.4.0.41 changes
- *
- * \subsection v37_4_0_40_TO_v37_4_0_41Added Added functions
- *
- * The following functions were added between versions v37.4.0.40 and v37.4.0.41
- * \li \ref qcsapi_get_igmp_snooping_state
- * \li \ref qcsapi_wifi_remove_mac_address_list
- * \li \ref qcsapi_wifi_is_ready
- * \li \ref qcsapi_get_ep_status
- * \li \ref qcsapi_wifi_authorize_mac_address_list
- * \li \ref qcsapi_set_igmp_snooping_state
- * \li \ref qcsapi_wifi_deny_mac_address_list
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.41-v37.4.0.42 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.41-v37.4.0.42
deleted file mode 100644
index 6da031d..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.41-v37.4.0.42
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_41_TO_v37_4_0_42 Version v37.4.0.41 to version v37.4.0.42 changes
- *
- * \subsection v37_4_0_41_TO_v37_4_0_42Added Added functions
- *
- * The following functions were added between versions v37.4.0.41 and v37.4.0.42
- * \li \ref qcsapi_wifi_set_max_bcast_pps
- * \li \ref qcsapi_wifi_update_bss_cfg
- * \li \ref qcsapi_wifi_set_dfs_s_radio_wea_dwell_time
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.42-v37.4.0.43 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.42-v37.4.0.43
deleted file mode 100644
index 96f2223..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.42-v37.4.0.43
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_42_TO_v37_4_0_43 Version v37.4.0.42 to version v37.4.0.43 changes
- *
- * \subsection v37_4_0_42_TO_v37_4_0_43Added Added functions
- *
- * The following functions were added between versions v37.4.0.42 and v37.4.0.43
- * \li \ref qcsapi_wifi_get_chan_pri_inactive
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.43-v37.4.0.44 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.43-v37.4.0.44
deleted file mode 100644
index 0658a86..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.43-v37.4.0.44
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_43_TO_v37_4_0_44 Version v37.4.0.43 to version v37.4.0.44 changes
- *
- * \subsection v37_4_0_43_TO_v37_4_0_44Added Added functions
- *
- * The following functions were added between versions v37.4.0.43 and v37.4.0.44
- * \li \ref qcsapi_wifi_set_SSID_group_id
- * \li \ref qcsapi_wifi_get_SSID_assoc_reserve
- * \li \ref qcsapi_wifi_set_scs_leavedfs_chan_mtrc_mrgn
- * \li \ref qcsapi_wifi_get_SSID_group_id
- * \li \ref qcsapi_wifi_set_max_boot_cac_duration
- * \li \ref qcsapi_set_custom_value
- * \li \ref qcsapi_wifi_set_SSID_assoc_reserve
- *
- * \subsection v37_4_0_43_TO_v37_4_0_44Removed Removed functions
- *
- * The following functions were removed between versions v37.4.0.43 and v37.4.0.44
- * \li \ref qcsapi_wifi_fget
- *
- * \subsection v37_4_0_43_TO_v37_4_0_44Proto Function prototype changes
- *
- * The following function prototypes were modified between versions v37.4.0.43 and v37.4.0.44
- *  - \ref qcsapi_wifi_set_bss_assoc_limit
- *    - Old prototype: int qcsapi_wifi_set_bss_assoc_limit(const char *ifname, qcsapi_unsigned_int assoc_limit);
- *    - New prototype: int qcsapi_wifi_set_bss_assoc_limit(const qcsapi_unsigned_int group, const qcsapi_unsigned_int limit);
- *  - \ref qcsapi_wifi_get_bss_assoc_limit
- *    - Old prototype: int qcsapi_wifi_get_bss_assoc_limit(const char *ifname, qcsapi_unsigned_int *p_assoc_limit);
- *    - New prototype: int qcsapi_wifi_get_bss_assoc_limit(qcsapi_unsigned_int group, qcsapi_unsigned_int *p_assoc_limit);
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.47-v37.4.0.48 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.47-v37.4.0.48
deleted file mode 100644
index 6c76903..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.47-v37.4.0.48
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_47_TO_v37_4_0_48 Version v37.4.0.47 to version v37.4.0.48 changes
- *
- * \subsection v37_4_0_47_TO_v37_4_0_48Added Added functions
- *
- * The following functions were added between versions v37.4.0.47 and v37.4.0.48
- * \li \ref qcsapi_wps_set_default_pbc_bss
- * \li \ref qcsapi_wps_get_default_pbc_bss
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.49-v37.4.0.50 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.49-v37.4.0.50
deleted file mode 100644
index 4fedac4..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.49-v37.4.0.50
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_49_TO_v37_4_0_50 Version v37.4.0.49 to version v37.4.0.50 changes
- *
- * \subsection v37_4_0_49_TO_v37_4_0_50Added Added functions
- *
- * The following functions were added between versions v37.4.0.49 and v37.4.0.50
- * \li \ref qcsapi_wifi_authorize_mac_address_list_ext
- * \li \ref qcsapi_wifi_deny_mac_address_list_ext
- * \li \ref qcsapi_wifi_remove_mac_address_list_ext
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.50-v37.4.0.51 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.50-v37.4.0.51
deleted file mode 100644
index 95e7483..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.50-v37.4.0.51
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_50_TO_v37_4_0_51 Version v37.4.0.50 to version v37.4.0.51 changes
- *
- * \subsection v37_4_0_50_TO_v37_4_0_51Proto Function prototype changes
- *
- * The following function prototypes were modified between versions v37.4.0.50 and v37.4.0.51
- *  - \ref qcsapi_wifi_show_vlan_config
- *    - Old prototype: int qcsapi_wifi_show_vlan_config(const char *ifname, string_2048 vcfg, const char *flag);
- *    - New prototype: int qcsapi_wifi_show_vlan_config(const char *ifname, struct qcsapi_data_2Kbytes *vcfg, const char *flag);
- *  - \ref qcsapi_wifi_get_rates
- *    - Old prototype: int qcsapi_wifi_get_rates(const char *ifname, qcsapi_rate_type rate_type, string_1024 supported_rates);
- *    - New prototype: int qcsapi_wifi_get_rates(const char *ifname, qcsapi_rate_type rate_type, string_2048 supported_rates);
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.51-v37.4.0.52 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.51-v37.4.0.52
deleted file mode 100644
index e4a7d82..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.51-v37.4.0.52
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_51_TO_v37_4_0_52 Version v37.4.0.51 to version v37.4.0.52 changes
- *
- * \subsection v37_4_0_51_TO_v37_4_0_52Added Added functions
- *
- * The following functions were added between versions v37.4.0.51 and v37.4.0.52
- * \li \ref qcsapi_set_log_level
- * \li \ref qcsapi_get_log_level
- * \li \ref qcsapi_get_app_core_dump
- * \li \ref qcsapi_wifi_set_threshold_of_neighborhood_type
- * \li \ref qcsapi_get_app_core_dump_size
- * \li \ref qcsapi_wifi_get_neighborhood_type
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.53-v37.4.0.54 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.53-v37.4.0.54
deleted file mode 100644
index 5686b24..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.53-v37.4.0.54
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_53_TO_v37_4_0_54 Version v37.4.0.53 to version v37.4.0.54 changes
- *
- * \subsection v37_4_0_53_TO_v37_4_0_54Added Added functions
- *
- * The following functions were added between versions v37.4.0.53 and v37.4.0.54
- * \li \ref qcsapi_wifi_set_current_tx_power_level
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.56-v37.4.0.57 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.56-v37.4.0.57
deleted file mode 100644
index 78a346e..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.56-v37.4.0.57
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_56_TO_v37_4_0_57 Version v37.4.0.56 to version v37.4.0.57 changes
- *
- * \subsection v37_4_0_56_TO_v37_4_0_57Added Added functions
- *
- * The following functions were added between versions v37.4.0.56 and v37.4.0.57
- * \li \ref qcsapi_do_system_action
- * \li \ref qcsapi_set_remote_logging
- * \li \ref qcsapi_wifi_node_get_txrx_airtime
- * \li \ref qcsapi_wifi_get_txrx_airtime
- *
- * \subsection v37_4_0_56_TO_v37_4_0_57Removed Removed functions
- *
- * The following functions were removed between versions v37.4.0.56 and v37.4.0.57
- * \li \ref qcsapi_wifi_get_tx_airtime
- * \li \ref qcsapi_wifi_node_get_tx_airtime
- *
- * \subsection v37_4_0_56_TO_v37_4_0_57Proto Function prototype changes
- *
- * The following function prototypes were modified between versions v37.4.0.56 and v37.4.0.57
- *  - \ref qcsapi_set_log_level
- *    - Old prototype: int qcsapi_set_log_level(const char *interface, string_32 level, qcsapi_log_module_name index);
- *    - New prototype: int qcsapi_set_log_level(const char *ifname, qcsapi_log_module_name index, const string_128 params);
- *  - \ref qcsapi_get_log_level
- *    - Old prototype: int qcsapi_get_log_level(const char *interface, string_32 level, qcsapi_log_module_name index);
- *    - New prototype: int qcsapi_get_log_level(const char *ifname, qcsapi_log_module_name index, string_128 params);
- *  - \ref qcsapi_wifi_scs_switch_channel
- *    - Old prototype: int qcsapi_wifi_scs_switch_channel(const char *ifname);
- *    - New prototype: int qcsapi_wifi_scs_switch_channel(const char *ifname, uint16_t pick_flags);
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.57-v37.4.0.58 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.57-v37.4.0.58
deleted file mode 100644
index 5641f8f..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.57-v37.4.0.58
+++ /dev/null
@@ -1,14 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_57_TO_v37_4_0_58 Version v37.4.0.57 to version v37.4.0.58 changes
- *
- * \subsection v37_4_0_57_TO_v37_4_0_58Added Added functions
- *
- * The following functions were added between versions v37.4.0.57 and v37.4.0.58
- * \li \ref qcsapi_wifi_get_threshold_of_neighborhood_type
- * \li \ref qcsapi_wifi_set_parameter
- * \li \ref qcsapi_wifi_is_weather_channel
- * \li \ref qcsapi_wifi_get_parameter
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.58-v37.4.0.59 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.58-v37.4.0.59
deleted file mode 100644
index 376a0e5..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.58-v37.4.0.59
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_58_TO_v37_4_0_59 Version v37.4.0.58 to version v37.4.0.59 changes
- *
- * \subsection v37_4_0_58_TO_v37_4_0_59Added Added functions
- *
- * The following functions were added between versions v37.4.0.58 and v37.4.0.59
- * \li \ref qcsapi_wifi_set_br_isolate
- * \li \ref qcsapi_wifi_get_br_isolate
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.59-v37.4.0.60 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.59-v37.4.0.60
deleted file mode 100644
index 1d3133f..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.59-v37.4.0.60
+++ /dev/null
@@ -1,11 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_59_TO_v37_4_0_60 Version v37.4.0.59 to version v37.4.0.60 changes
- *
- * \subsection v37_4_0_59_TO_v37_4_0_60Added Added functions
- *
- * The following functions were added between versions v37.4.0.59 and v37.4.0.60
- * \li \ref qcsapi_set_console
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.60-v37.4.0.61 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.60-v37.4.0.61
deleted file mode 100644
index 1ecc44e..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.60-v37.4.0.61
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_60_TO_v37_4_0_61 Version v37.4.0.60 to version v37.4.0.61 changes
- *
- * \subsection v37_4_0_60_TO_v37_4_0_61Added Added functions
- *
- * The following functions were added between versions v37.4.0.60 and v37.4.0.61
- * \li \ref qcsapi_wifi_set_tx_max_amsdu
- * \li \ref qcsapi_wifi_get_tx_max_amsdu
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.62-v37.4.1.62 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.62-v37.4.1.62
deleted file mode 100644
index 43b07b7..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.0.62-v37.4.1.62
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_0_62_TO_v37_4_1_62 Version v37.4.0.62 to version v37.4.1.62 changes
- *
- * \subsection v37_4_0_62_TO_v37_4_1_62Proto Function prototype changes
- *
- * The following function prototypes were modified between versions v37.4.0.62 and v37.4.1.62
- *  - \ref qcsapi_get_app_core_dump
- *    - Old prototype: int qcsapi_get_app_core_dump(char *file, string_4096 buf, uint32_t bytes_to_copy, uint32_t offset, uint32_t *bytes_copied);
- *    - New prototype: int qcsapi_get_app_core_dump(const char *file, string_4096 buf, uint32_t bytes_to_copy, uint32_t offset, uint32_t *bytes_copied);
- *  - \ref qcsapi_get_app_core_dump_size
- *    - Old prototype: int qcsapi_get_app_core_dump_size(char *file, uint32_t *core_dump_size);
- *    - New prototype: int qcsapi_get_app_core_dump_size(const char *file, uint32_t *core_dump_size);
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.6.62-v37.4.7.62 b/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.6.62-v37.4.7.62
deleted file mode 100644
index e1e8b41..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/changelog/changes-v37.4.6.62-v37.4.7.62
+++ /dev/null
@@ -1,16 +0,0 @@
-/**
- * \page ChangeLog
- *
- * \section v37_4_6_62_TO_v37_4_7_62 Version v37.4.6.62 to version v37.4.7.62 changes
- *
- * \subsection v37_4_6_62_TO_v37_4_7_62Added Added functions
- *
- * The following functions were added between versions v37.4.6.62 and v37.4.7.62
- * \li \ref qcsapi_get_app_core_dump_ext
- *
- * \subsection v37_4_6_62_TO_v37_4_7_62Removed Removed functions
- *
- * The following functions were removed between versions v37.4.6.62 and v37.4.7.62
- * \li \ref qcsapi_get_app_core_dump_size
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/chapter1_2_3.txt b/quantenna/common/doxygen/qcsapi_doc/chapter1_2_3.txt
deleted file mode 100644
index bf0db98..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/chapter1_2_3.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-/**@page mypage1 Overview
- * This document describes the Quantenna Configuration and Status API (QCSAPI).
- *
- * The document contains a general overview, specific information on the SDK, details on the RPC mechanism used for remote control,
- * and detailed API usage and data structures used in QCSAPI. In addition to this, a sample application, <c>call_qcsapi</c> is detailed.
- */
-
-/**@page ChangeLog Revision history
- */
-
-/**@page mypage2 References
- * - Quantenna Software Architecture (Software Integration Guide)
- * - TR-098: Internet Gateway Device Data Model for TR-069<br>
- *	Issue: 1 Amendment 2<br>
- *	Issue Date: September 2008
- */
-
-/**@page mypage3 Background
- * The Quantenna WiFi device includes a number of configuration parameters, e.g. the MAC address or the current WiFi channel.
- * In addition a variety of other parameters can be monitored, including counters and status.
- *
- * Prior to introducing the QCSAPI, reviewing the current configuration, making changes and monitoring the system required accessing several user-level
- * commands, including ifconfig, iwconfig, iwpriv and iwlist.
- *
- * While workable for casual access, for more systematic programmable access, some drawbacks are present.
- * First, required information is distributed over several commands or interfaces; no single point of access is available.
- * Second, accessing the configuration is heavy, for the desired command must be executed as a shell process,
- * with the output typically then parsed using a shell script or an awk program.
- * A second child process is thus usually required to interpret the output from the original command.
- * And any changes to the underlying configuration or monitoring command would likely require changes in this interface programming.
- * 
- * The Quantenna Configuration and Status APIs (QCSAPI) address these drawbacks.  
- * They offer the application programmer a series of C-callable APIs to access and modify the current configuration.
- * All configuration parameters can be read and updated through this API.  Statistics and other monitoring parameters are also available.
- * And the APIs will not change, regardless of changes to the underlying programming, including the user-level interface commands.
- * 
- * The figure below shows selected software components on the Quantenna WiFI device and their interrelationships:<br>
- * @image latex qcsapi_image1.jpg " " width=\textwidth
- */
-
diff --git a/quantenna/common/doxygen/qcsapi_doc/chapter4.txt b/quantenna/common/doxygen/qcsapi_doc/chapter4.txt
deleted file mode 100644
index f295ba5..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/chapter4.txt
+++ /dev/null
@@ -1,177 +0,0 @@
-/**@page mypage4 QCSAPI concepts
- * @section mysection4_1 Overview of the QCSAPIs
- * The QCSAPI set shares a common set of parameters as described below.
- * @subsection mysection4_1_1 Names of the QCSAPIs
- * The name of each QCSAPI starts with "qcsapi".  The underscore character ('_') serves as a separator and punctuation.
- * The kind of interface the QCSAPI is designed for typically follows "qcsapi" - e.g. "interface" for a general (network) interface
- * or "wifi" for an API that only applies for WiFI devices (wifi0, etc.).  Next usually is "get" or "set" to show whether
- * the API returns a parameter value or configures the parameter value.
- * The last part of the name describes the parameter the API works with.
- * 
- * @subsection mysection_4_1_2 QCSAPIs data types and data structs
- * Many of the QCSAPI data types and data structs follow the definitions in the TR-098 standards.
- * Each datatype is introduced using its literal name or definition as found in the qcsapi.h header file,
- * followed by a description or explanation.<br>
- * The first API data type provides a platform independent definition of an unsigned 32-bit integer:<br>
- * <c>qcsapi_unsigned_int</c><br>
- * This tracks the "unsignedInt" data type from TR-098 and should match the uint32_t type defined in the C99 standard.
- * 
- * The next data type is an enumeration that represents the possible modes of a WiFi device, Access Point or Station.<br>
- * 	@code 
-	typedef enum {
-		qcsapi_mode_not_defined = 1,
-		qcsapi_access_point,
-		qcsapi_station,
-		qcsapi_nosuch_mode = 0
-	} qcsapi_wifi_mode;
-  	@endcode
- * 
- * Mode not defined is valid; it means the WiFi device has not been configured as an AP or a Station.
- * No such mode is a placeholder for invalid WiFi modes.
- * 
- * The next enumeration represents possible configuration options:<br>
- * 	@code
-	typedef enum {
-		qcsapi_DFS,
-        	qcsapi_wmm,
-        	qcsapi_beacon_advertise,
-        	qcsapi_wifi_radio,
-        	qcsapi_autorate_fallback,
-        	qcsapi_security,
-        	qcsapi_SSID_broadcast,
-        	qcsapi_802_11d,
-        	qcsapi_wireless_isolation,
-        	qcsapi_short_GI,
-        	qcsapi_dfs_fast_channel_switch,
-        	qcsapi_dfs_no_dfs_scan,
-        	qcsapi_nosuch_option = 0
-	} qcsapi_option_type;
-	@endcode
- * 
- * These are parameters with only two values, yes or true, represented as 1 (actually any non-zero value);
- * and no or false, represented as 0.  Only the Get Option and Set Option APIs work with this enum.<br>
- * The next enumeration represents counters available through the Get Counter API:
- * 	@code
- * 	typedef enum {
- * 		qcsapi_nosuch_counter = 0,
- * 		qcsapi_total_bytes_sent = 1,
- * 		qcsapi_total_bytes_received,
- * 		qcsapi_total_packets_sent,
- * 		qcsapi_total_packets_received,
- *		qcsapi_discard_packets_sent,
- * 		qcsapi_discard_packets_received,
- * 		qcsapi_error_packets_sent,
- * 		qcsapi_error_packets_received,
- * 	} qcsapi_counter_type;
- * 	@endcode
- * This enum is one of the required arguments to qcsapi_interface_get_counter.
- * 
- * The next data type represents a 48-bit (6-byte) MAC address:<br>
- * <c>qcsapi_mac_addr</c>
- * 
- * This is NOT a string; a MAC address can have an embedded NUL (value is 0) byte;
- * nor is it required that a NUL byte be present.  When setting a MAC address,
- * the 1st 6 bytes will be used to set the MAC address; when getting a MAC address, 6 bytes must be available to accept the address.<br>
- * These datatypes describe strings of various lengths:
- * 	@code
- * 	typedef char    string_16[ 17 ];
- * 	typedef char    string_32[ 33 ];
- * 	typedef char    string_64[ 65 ];
- * 	typedef char    string_128[ 129 ];
- * 	typedef char    string_256[ 257 ];
- * 	typedef char    string_1024[ 1025 ];
- * 	@endcode
- * They are provided as a convenience.  The reference standards define selected parameters to be strings of fixed length.
- * The internal definition adds one character to insure room for the terminating NUL character; e.g. a string_32 actually has 33 characters.
- * 
- * All string parameters passed to the QCSAPIs are required to be terminated with a NUL character.
- * This includes SSIDs and MCS rates.  Any string returned by a QCSAPI will be terminated with a NUL character.
- * 
- * This datatype represents a Service Set identifier:<br>
- * <c>qcsapi_SSID</c>
- * 
- * One additional character is allocated to provide space for a NUL byte to terminate the string.
- * By standard, the SSID can have up to 32 characters.  An SSID passed to an API is required to be terminated with a NUL byte.
- * 
- * Next is a datatype to represent the 802.11n paradigm for specifying and setting rates:<br>
- * <c>qcsapi_mcs_rate</c>
- * 
- * It is a string that starts with the letters "MCS", followed by the MCS rate selection.
- * Currently MCS0 to MCS76 (excluding MCS32) are available. Embedded '0's are NOT permitted; "MCS01" is NOT valid.
- * 
- * @subsection mysection4_1_3 API signature
- * "Signature" here refers to a QCSAPI's return value and its arguments.
- * 
- * The return value is always an integer, and always represents the status of the operation.
- * Following the POSIX standard a return value of 0 or positive reports success; a value less that 0 reports an error.
- * If the value is less than 0, it will represent the error.  By changing the algebraic sign - by rendering the return value positive,
- * the nature of the error can be determined from the "errno" facility.
- * 
- * An API that returns a parameter value, typically a get API, will return that value in one of the arguments in the argument list.
- * A parameter value will not ever be returned as the value from a QCSAPI.
- * 
- * The first argument is usually the interface, the device the API is to work with.
- * An interface is required to distinguish between an ethernet interface - "eth1_0" and a WiFi interface - "wifi0".
- * And even those APIs targeted for the WiFi interface require the actual interface to distinguish between different Virtual Access Points (VAP).
- * 
- * Several QCSAPIs are generic, in that the API itself works with a class of parameter.  Examples include options - parameters with two values,
- * "yes" and "no" or "true" and "false" - and counters - the number of bytes received, or packets transmitted, etc.
- * For these APIs, the second parameter selects the exact parameter - the desired option or counter.
- * 
- * The final argument is usually the value of the parameter the API is working with.  For most QCSAPIs, the API itself selects this parameter.
- * For the generic APIs, the second argument selects this parameter.  For a SET API, an API that  configures a new value,
- * the parameter argument is passed by value; for a GET API, an API that returns the current value of a parameter,
- * the parameter argument is passed by reference.
- * 
- * The following code fragment illustrates a recommended way of calling a QCSAPI and
- * processing the result (notice because this is a GET API, the parameter argument is a reference).<br>
- * 	@code
- * 	qcsapi_result = qcsapi_interface_get_status( "eth1_0", &eth1_status );
-
- * 	if (qcsapi_result < 0) {
- * 		qcsapi_errno = -qcsapi_result;
- * 	} else {
- * 		/* call was successful*/
- * 	}
- * 	@endcode
- *
- * @anchor QCSAPI_Return_Values
- * @subsection mysection4_1_4 QCSAPI return values
- * As stated previously, a return value of 0 or greater than 0 reports success.  A return value less than 0 reports an error.
- * The nature of the error is encoded in the return value, and is based on the ERRNO facility from the POSIX standard.
- * 
- * \note ERRNO values and other API error definitions are positive integers,
- * so programming will need to change the sign of a QCSAPI error return value before
- * comparing with any predefined error definitions.
- * 
- * Please see \ref QCSAPI_ERRNO "enum qcsapi_errno" for details of all the different error return values that QCSAPI
- * calls may return.
- *
- * @subsection mysection4_1_5 Production mode vs calibration mode
- * The WiFi device can operate in 2 different modes. Usually the device operates in production mode.
- * In this mode the AP broadcasts beacons and accepts associations from properly qualified STA devices,
- * snd the STA scans the WiFi channels searching for an AP to associate with.
- * 
- * An additional runtime mode, bringup and calibration mode (or calibration mode for short), is available
- * for testing and calibrating the RF stage of the device during the development phase as well as during the
- * manufacturing phase.
- * 
- * The choice between production and calibration mode is made when the device first starts up,
- * based on the value of the boot configuration environmental variable, <c>calstate</c>.
- *
- * If calstate is set to 1, the device operates in calibration mode; otherwise, the device
- * operates in production mode.
- * 
- * Selected APIs that assist with configuring the system are only available in calibration mode.
- * This is noted in the detailed description for each API that has this restriction.
- * Also note that in calibration mode, many of the APIs will not be available.
- *
- * Please review the writeup on individual APIs before using a particular API in this mode.
- * 
- * In calibration mode, the expected error code for an API that is not available is <c>-ENODEV</c>,
- * since those APIs require the name of the WiFi interface, or VAP (Virtual Access Point),
- * which will not be present if the device is running in calibration mode.
- *
- * @subsection mysection4_1_6 Permissions and Access
- * Selected APIs require root access; that is the user ID of the calling process must be 0.
- */
diff --git a/quantenna/common/doxygen/qcsapi_doc/chapter5.txt b/quantenna/common/doxygen/qcsapi_doc/chapter5.txt
deleted file mode 100644
index efe0e1e..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/chapter5.txt
+++ /dev/null
@@ -1,88 +0,0 @@
-/**@page mypage5 Demonstration application: call_qcsapi
- * @brief An application is present to demonstrate the QCSAPI, <c>call_qcsapi</c>.
- * It is a non-interactive command that takes all its parameter from the command line.
- * This application is also the interface to the QSCAPI for scripting applications including web-based GUIs.
- * 
- @section mysection5_1 Command Line Parameters
- * The first command-line parameter specifies the API to be called.
- * Remaining command-line parameters specify the arguments to that API.
- * The order is the order of the arguments in the API.
- * Thus the 2nd argument is usually the interface - e.g. wifi0 or eth1_0.
- * For a generic QSCAPI, the 3rd argument will select the generic parameter - counter, option, etc.
- * A set API will expect the new value as its final parameter.
- *
- * @anchor MAC_ADDRESS_DETAILS
- * @subsection mysection5_1_1 Format for a MAC address
- * MAC addresses are 48 bits, or 6 bytes long.  They should be entered in this format:<br>
-	<c>xx:xx:xx:xx:xx:xx</c><br>
- * where each "xx" represents the value of the corresponding byte in hexadecimal radix.
- * The <c>call_qcsapi</c> command uses this same format to display MAC addresses, e.g. Get MAC Address (qcsapi_interface_get_mac_addr)
- * or Get BSSID (qcsapi_wifi_get_BSSID).
- * 
- * Not all sequences of 6 bytes represent valid MAC addresses for an individual interface.
- *
- * If the low-order bit is set in the 1st byte, the MAC address is interpreted as a multicast address.
- * As this is a logical identifier for a group of interfaces on a network, it is not suitable as the address for an individual interface.
- * Notice the broadcast address, <c>FF:FF:FF:FF:FF:FF</c>, is a special case of a multicast address.
- * 
- * The MAC address that is all zeros (<c>00:00:00:00:00:00</c>) is also not valid as the MAC address for an individual interface.
- *
- * By convention, the all-zero MAC address is reported as the BSSID for a STA that is not in association.
- * Since the BSSID for a STA is the MAC address of its partner AP, this means an AP cannot have a WiFi MAC address that is all zeros.
- * This restriction applies to STAs as well as APs.
- * 
- * All APIs that accept a MAC address as a parameter expect that MAC address to be valid for an individual interface.
- * Thus a multicast address will not be accepted as a MAC address, and the selected API will return Invalid Value (<c>EINVAL</c>) as the error code.
- * Additional details about command line parameters are listed with each individual QCSAPI.
- * 
- * @section mysection5_2 Operation and Output
- * Using its command line parameters, call_qcsapi calls the selected API, reports on the results and then exits.
- * Its output depends on the nature of the API.  For APIs that set a parameter, it displays the message complete.
- * For APIs that get a parameter value, it reports the parameter value.
- * 
- * If the API returns an error, the resulting message resembles the example below:
- * 
- * <c>QCS API error 22: Invalid argument</c>
- * 
- * The key is the word error, followed by the numeric error code (notice the actual returned error code will be less than 0, here -22).
- * See @ref mysection4_1_4 "section QCS API Return Values" for more details on error codes.
- * 
- * The <c>call_qcsapi</c> application also provides an interface to the QCSAPIs for scripting and web-based applications.
- *
- * @section mysection5_3 Examples
- *
- * The following examples are documented for the reader's reference.
- *
- * Example 1: Get the operational mode of a device:
- *
- * \code
-quantenna # call_qcsapi get_mode wifi0     
-Access point
-quantenna # 
-\endcode
- *
- * Example 2: Disable the RF on a device:
- *
- * \code
-quantenna # call_qcsapi rfenable wifi0 0
-killing cmdloop hostapd with pid: 275
-killing hostapd with pid: 278
-[93387.180000] wifi0: station 00:26:86:01:1a:be disassociated
-[93387.185000] wifi0: station 00:26:86:01:1a:be disassociated
-01:56:27.304088   wifi0    Custom driver event:Dot11Msg:Client removed [00:26:86:01:1A:BE] [Deauthenticated - 3 - Deauthenticated because sendin[93387.210000] br0: port 2(wifi0) entering disabled state
-g STA is leaving (or has left) IBSS or ESS]
-01:56:27.304449   wifi0    Custom driver event:STA-TRAFFIC-STAT
-mac=00:26:86:01:1a:be
-rx_packets=50036
-rx_bytes=13669562
-tx_packets=17931
-tx_bytes=3282979
-
-01:56:27.306999   wifi0    Custom driver event:Dot11Msg:Client disconnected [00:26:86:01:1A:BE] [Client sent disassociation - 8 - Disassociated because sending STA is leaving (or has left) BSS]
-01:56:27.307305   wifi0    Expired node:00:26:86:01:1A:BE
-complete
-quantenna # 
-\endcode
- *
- * Note in this example there was a single STA associated, which was removed when the RF was disabled on the AP via <c>call_qcsapi</c>.
- */
diff --git a/quantenna/common/doxygen/qcsapi_doc/chapter7.txt b/quantenna/common/doxygen/qcsapi_doc/chapter7.txt
deleted file mode 100644
index 9894ced..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/chapter7.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-/**@page mypage7 QCSAPI and the SDK
- * @brief The QCSAPI is a key part of the SDK.  This section describes how to use the SDK and how to access the QCSAPI binary library from within the SDK.
- *
- * @section mysection7_1 SDK Contents
- * The Quantenna SDK is a Linux based distribution (ARC kernel version 2.6.30). Its contents include:
- * - Sources:
- *  - Linux Kernel
- *  - User-space applications
- *  - C library programs
- *  - Toolchain (gcc, etc.)
- *
- * - Binaries
- *  - Quantenna MuC firmware
- *  - Selected Linux drivers
-
- * @section mysection7_2 SDK Make Environment
- * We have tested the SDK build process on the following distributions:
- *
- * \ul Fedora release 8 (Werewolf) x86 PC running Linux version 2.6.26.8-57.fc8,
- * with native mode gcc compiler version 4.1.2 (versions 4.1 - 4.4 have been tested) and make version GNU Make 3.81.
- * \ul Ubuntu version 9.10 X86 with kernel version 2.6.31-14-generic.
- * \ul Ubuntu version 11.04 X86 SMP with kernel version 2.6.38-8-generic.
- *
- * The ARC cross compiler for the Quantenna target is included in the SDK. The toolchain is created during the make fromscratch process shown below.
- *
- * @section mysection7_3 Installing the SDK
- * The SDK is delivered as a compressed TAR archive.  Download the archive onto the system where the build is to be completed.
- * It is recommended to store the archive in an empty folder, although since the SDK TAR archive stores all files in its own subfolder,
- * an empty folder is not absolutely required.
- *
- * After unpacking the archive, change directory to the SDK subfolder, e.g.<br>
- * <c>quantenna-sdk-021009</c><br>
- * Now enter this command:<br>
- * <c>make fromscratch</c>
- *
- * This completes the first comprehensive build and will take a significant amount of time, say 30 minutes.
- * At the end of the make process, a new subfolder within the SDK subfolder will be present: <c>tftp</c>.
- * This subfolder has the file <c>ruby-linux.img</c> (uncompressed image file), and <c>ruby-linux.img.lzma</c> (compressed image file).
- *
- * @section mysection7_4 QCSAPI components in the SDK
- * The QCSAPI has two components, the header file and the binary library.  In addition the application / interface program,
- * call_qcsapi is included.  Each is built or installed as part of the overall SDK build process.
- *
- * The library file will be installed in <c>buildroot/build_arc/staging_dir/lib</c>, (path relative to the top-level SDK folder, 
- * e.g. quantenna-sdk-021009) as this is the folder the cross compiler searches by default for binary libraries.
- * Thus to build an application that calls the QCSAPI, it is only necessary to pass the option <c>-lqcsapi</c> to the cross-linker.
- *
- * The header file will be installed in buildroot/include.
- * Thus to locate this include file, when building an application to call QCSAPIs, include the path to this folder.
- *
- * The application <c>call_qcsapi</c> will be present in <c>/sbin/</c> when the Quantenna device boots up with a build from the SDK.
- * Within the SDK, the contents of the QCSAPI are available in the subdirectory <c>buildroot/package/qcsapi/qcsapi-1.0.1/</c>
- */
diff --git a/quantenna/common/doxygen/qcsapi_doc/chapter8.txt b/quantenna/common/doxygen/qcsapi_doc/chapter8.txt
deleted file mode 100644
index 5fb6428..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/chapter8.txt
+++ /dev/null
@@ -1,90 +0,0 @@
-/**@page mypage8 Using QCSAPI via RPC
- * @section mysecton8_1 Introduction
- * @subsection mysection8_1_1 rpcgen
- * <c>rpcgen</c> is a tool for creating remote procedure call stubs in C, given an RPC protocol definition file.
- * These stubs contain code relevant for marshaling and un-marshaling, which is serialization of data so that
- * it can be transmitted over a network. The marshaled data can be sent over UDP sockets, TCP sockets, or through PCIe.
- *
- * @section mysection8_2 call_qcsapi_sockrpc / call_qcsapi_rpcd
- * These are utilities for remote invocation of the <c>call_qcsapi</c> example program.
- *
- * <c>call_qcsapi_rpcd</c> is a server implementation, which is much like <c>call_qcsapi</c>, except that it runs as a daemon,
- * accepting requests from RPC clients. Requests take the format of a list of strings, which are equivalent to <c>argv</c> in <c>call_qcsapi</c>.
- *
- * <c>call_qcsapi_sockrpc</c> is a client implementation, which finds the server hostname, 
- * then creates a request out of argc and <c>argv</c>, waits for a response then prints it.
- * It uses UDP sockets to communicate with the server.
- *
- * <c>call_qcsapi_pcie</c> is a client implementation which creates requests from <c>argc</c> and <c>argv</c>, 
- * but it uses PCIe to communicate with the server instead of UDP sockets.<br>
- * @image latex rpc_img1.jpg " " width=\textwidth
- *
- * @subsection mysection8_2_1 Implementation
- * <c>call_qcsapi_rpc</c> and associated client programs use <c>rpcgen</c> to create client and server stubs based on a simple interface definition file, <c>call_qcsapi_rpc.x</c>.
- *
- * @section mysection8_3 RPC for qcsapi.h
- * This is an RPC service, which provides and RPC interface for (almost) all of the functions in libqcsapi.
- * @subsection mysection8_3_1 libqcsapi
- * The target device includes a binary library, <c>libqcsapi.so</c>, which provides implementations for 
- * the functions prototyped in <c>qcsapi.h</c>. Third party developers may develop applications that run on the target and link to libqcsapi.so
- * @subsection mysection8_3_2 libqcsapi_client
- * In order to develop applications that can use QCSAPI, but run on another host, libqcsapi_client provides RPC 
- * stubs based on prototypes in qcsapi.h, with an additional function for specifying the RPC transport mechanism (UDP/TCP/PCIe).<br>
- * Third party developers can create a program running on a host platform, link against <c>libqcsapi_client.so</c>,
- * and call qcsapi functions from C code.<br>
- * <c>libqcsapi_client.so</c> communicates with server RPC stubs running on <c>qcsapi_rpcd</c>.
- * @subsection mysection8_3_3 qcsapi_rpcd
- * <c>qcsapi_rpcd</c> is an RPC service program, which contains RPC server stubs for each function in libqcsapi.
- * <c>qcsapi_rpcd</c> registers UDP, TCP and PCIe services. It links to <c>libqcsapi.so</c>, to invoke the real QCSAPI functions when requested by clients.
- *
- * @subsection mysection8_3_4 qcsapi_sockrpc
- * qcsapi_sockrpc is a version of <c>call_qcsapi</c>, which is linked against <c>libqcsapi_client.so</c> instead of <c>libqcsapi.so</c>.
- * It works as follows:<br>
- * @image latex rpc_img2.jpg " " width=\textwidth
- *
- * @section mysection8_4 Implementation details of libqcsapi_client + qcsapi_rpcd
- * To reduce ongoing maintenance effort required, <c>libqcsapi_client</c> and <c>qcsapi_rpcd</c> are both automatically generated
- * based on the contents of <c>qcsapi.h</c>; it is just RPC client and server stubs. The process of code generation
- * is as follows. All of these files are relative paths under <c>buildroot/package/qcsapi/qcsapi-1.0.1/</c>.
- * -# <c>qcsapi.h</c> is manually changed with new feature developments, as it always has been.
- * -# <c>qcsapi_rpc</c>/<c>qcsapi_rpc_gen.pl</c> reads <c>qcsapi.h</c>, and generates:
- *    -# an rpc interface definition file for use with <c>rpcgen</c><br>
-	 <c>qcsapi_rpc/generated/qcsapi_rpc.x</c>. This file is later used as an input for <c>rpcgen</c>.
- *    -# client stub implementations:<br>
-	 <c>qcsapi_rpc/generated/qcsapi_rpc_clnt_adapter.c</c>.
-	 This will contain function definitions matched to the prototypes in <c>qcsapi.h</c>, which convert <c>qcsapi.h</c> calls to the relevant RPC routines.
- *    -# server stub adapter implementation:<br>
-	 <c>qcsapi_rpc/generated/qcsapi_rpc_svc_adapter.c</c>, which convert from <c>rpcgen</c> RPC server stub functions to <c>qcsapi.h</c> calls; these calls will go to the real implementation in <c>libqcsapi.so</c>.
- * -# Once the perl script generates <c>qcsapi_rpc/generated/qcsapi_rpc.x</c>, <c>rpcgen</c> is used to create other files:
-      -# <c>qcsapi_rpc/generated/qcsapi_rpc.h</c>, structure definitions and function prototypes to represent data that is appropriate for marshaling/un-marshaling.
-      -# <c>qcsapi_rpc/generated/qcsapi_rpc_clnt.c</c>, which is <c>rpcgen</c> generated client stubs, but these are unused. Required code is already in <c>qcsapi_rpc_clnt_adapter.c</c>.
-      -# <c>qcsapi_rpc/generated/qcsapi_rpc_svc.c</c>, RPC service function demultiplexer. Takes arguments from the RPC service program, and will call the appropriate function in <c>qcsapi_rpc_svc_adapter.c</c>.
-      -# <c>qcsapi_rpc/generated/qcsapi_rpc_xdr.c</c> marshaling/un-marshaling functions.
- * -# Programs are compiled and linked with the following dependencies:
-      -# <c>qcsapi_rpcd</c>
-	-# <c>qcsapi_rpc/generated/qcsapi_rpc_svc.c</c>
-	-# <c>qcsapi_rpc/generated/qcsapi_rpc_svc_adapter.c</c>
-	-# <c>qcsapi_rpc/generated/qcsapi_rpc_xdr.c</c>
-	-# <c>libqcsapi.so</c>
-	-# Additional code for starting and registering the server, and PCIe server transport.
-      -# <c>libqcsapi_client</c>
-	-# <c>qcsapi_rpc/generated/qcsapi_rpc_clnt_adapter.c</c>
-	-# <c>qcsapi_rpc/generated/qcsapi_rpc_xdr.c</c>
-      -# <c>qcsapi_sockrpc</c>:
-	-# Code for resolving which remote server to use
-	-# <c>call_qcsapi</c> frontend code
-	-# <c>libqcsapi_client.so</c>
- *.
- * @section mysection8_5 QCSAPI RPC in the SDK
- * The sdk ships with generated sources for <c>qcsapi_rpc</c> and <c>call_qcsapi_rpc</c>, but not with <c>qcsapi_rpc/qcsapi_rpc_gen.pl</c>,
- * or interface definition files. This allows <c>libqcsapi_client</c> and other client programs to be rebuild by customers, 
- * but any changes to <c>qcsapi.h</c> will not automatically update the RPC code.
- *
- * @subsection mysection8_5_1 Source bundles
- * <c>call_qcsapi</c> clients and <c>qcsapi_rpc</c> clients (including <c>libqcsapi_client.so</c> source) are included in the 
- * SDK as source code .zip bundles, which can be taken integrated with host tools by vendors, 
- * so their host firmware can contain QCSAPI RPC client programs without the Quantenna build system. 
- * A caveat of this is that automatically generated code based on <c>qcsapi.h</c> will be updated with each change to <c>qcsapi.h</c>,
- * so vendors must be diligent to make sure they are matching the appropriate client 
- * release with the Quantenna target platform server.
- */
diff --git a/quantenna/common/doxygen/qcsapi_doc/groupdefine.txt b/quantenna/common/doxygen/qcsapi_doc/groupdefine.txt
deleted file mode 100644
index e5920da..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/groupdefine.txt
+++ /dev/null
@@ -1,966 +0,0 @@
-/**@defgroup APIInitializationAPIs API Initialization and Process Management
- * @brief Unlike most APIs, the ones documented in this section cannot be called from the scripting interface, call_qcsapi.
- *
- * These functions are used internally, and in linked applications (using libqcsapi), in order to setup the runtime
- * environment for further QCSAPI calls.
- */
-
- /**@defgroup SystemAPIs System APIs
- * @brief APIs to deal with general system configuration.
- *
- * This section contains functions for general system configuration not suitable for other sections.
- */
-
-/**@defgroup ParameterConfAPIs Parameter Configuration
- * @section mysection2_1 Working with the Persistent Configuration
- * Typically a WiFi device will have a configuration that persists across a reboot or power-cycle.
- * Examples include the WiFi Mode (AP or Station), the WiFi Channel and the Regulatory Region.<br>
- * Security configuration parameters - those parameters that are handled by the @ref SecurityAPIs "Security APIs" and
- * the @ref SSIDAPIs "SSID APIs" - are stored separately.  Security parameters include the SSID, the WiFi Security Protocol and the Passphrase.
- * Security parameters should not be stored in a separate persistent configuration.
- * 
- * Thus parameters such as the SSID name, the WiFi Security Protocol or the Passphrase
- * should NOT be stored using the Persistent Configuration facility described below.
- * 
- * @section mysection2_2 Helper Scripts and Configuration Requirements
- * The Update (Persistent) Configuration Parameter API will modify a parameter that has been stored in the persistent configuration.
- * This API relies on a helper script, <c>update_wifi_config</c>, to complete the change.
- * If this script is not present in <c>/scripts</c>, the Update Persistent Configuration Parameter API will fail.
- * The script itself uses the Get File Path API with parameter security to locate the folder that contains the persistent configuration.
- * The persistent configuration is then stored in <c>wireless_conf.txt</c>.
- * Its format consists of pairs of parameter name=value, each pair separated by an ampersand ('&').
- * 
- * Thus the persistent configuration file <c>wireless_conf.txt</c> is stored in the same place on the device as the security configuration files
- * hostapd.conf and wpa_supplicant.conf.<br>
- * Example <c>wireless_conf.txt</c> file:<br>
- * <c>mode=ap&bw=40&region=us&channel=44&</c>
- * 
- * All of these conditions must be met:<br>
- * The <c>/scripts</c> folder has an executable script <c>update_wifi_config</c><br>
- * Folder with the persistent configuration can be located using the Get File Path API with parameter security<br>
- * Persistent configuration stored in <c>wireless_conf.txt</c><br>
- * Format of <c>wireless_conf.txt</c> consists of pairs of parameter name=value, each pair separated by an ampersand ('&')
- * 
- * otherwise the Update Persistent) Configuration Parameter API will fail.<br>
- * The display script <c>get_wifi_config</c> will display the parameter name, value pairs.  Enter:<br>
- * <c>get_wifi_config wifi0</c><br>
- * to display the persistent configuration.<br>
- * With the example <c>wireless_conf.txt</c> above, <c>get_wifi_config</c> would display:<br>
- *	@code
- *	mode=ap
- *	bw=40
- *	region=us
- *	channel=44
- *	@endcode
- * 
- * @section mysection2_3 Additional Notes
- * The <c>update_wifi_config</c> script verifies the values for selected parameters:
- * <TABLE>
- * <TR>	<TD>\b Parameter</TD>  <TD>\b Explanation    </TD>	<TD><b> Valid value</b></TD>	</TR>
- * <TR>	<TD>mode     </TD>  <TD>wifi mode            </TD>	<TD>ap<br>sta	</TD>		</TR>
- * <TR>	<TD>bw       </TD>  <TD>Bandwidth (802.11n)<br>Bandwidth (802.11ac)  </TD>	<TD>20/40<br>20/40/80	</TD>		</TR>
- * <TR>	<TD>channel  </TD>  <TD>WiFi channel (802.11)</TD>	<TD>Range:0 - 255</TD>		</TR>
- * <TR>	<TD>pmf  </TD>  <TD>PMF capability (802.11w)</TD>	<TD>0 (disabled), 1 (optional) or 2 (disabled)</TD>		</TR>
- * </TABLE>
- * Special note regarding the WiFi channel parameter check - this should be considered a sanity check,
- * as the list of valid WiFi channels is much more restricted than the range [0 - 255].<br>
- * A change to one of these persistent parameters will not take effect until the device is rebooted.
- * Selected parameters, e.g. the channel, can be updated dynamically using other APIs.
- * 
- * @section mysection2_4 Update (Persistent) Configuration Parameter
- * refer to functon qcsapi_config_update_parameter
- *
- * \sa qcsapi_config_update_parameter
- */
-
-/**@defgroup FilePathAPIs File Path configuration
- * @anchor File_Path_conf
- * @brief These APIs manage file paths.  Each file path is the location where groups of files that the APIs work with are found.
- * At this time the only file path configuration available is for security.<br>
- * \note A number of APIs rely on the security file path setting, including all APIs documented in the @ref SecurityAPIs "Security APIs",
- * the @ref MACFilterAPIs "MAC address filtering APIs" and the @ref SSIDAPIs "SSID APIs".
- * Results from these APIs may be inconsistent or incorrect if the security file path has not been set properly.
- */
-
-/**@defgroup NetInterfaceAPIs Network Interface APIs
- * @brief Network interface APIs apply to all network interfaces on the Quantenna device,
- * including Ethernet and bridge devices as well as WiFi devices.
- */
-
-/**@defgroup WiFiAPIs WiFi APIs
- * @brief Wifi APIs require the interface to be a Wireless Extension (WE) device, and return Not Supported for other network interfaces.<br>
- * Special note regarding the call_qcsapi interface:  the default WiFi interface name is wifi0,
- *  and this interface is used to describe all interfaces to the WiFi APIs thru call_qcsapi.
- * If a different WiFi interface name is present, that name should be used to access the WiFi APIs.
- * @section mygroup5_1 Multiple Basic Service Sets (MBSSID)
- * One can create multiple Basic Service Sets (BSSIDs) on a device initially configured as an access point (AP).
- * This capability is not available on a device configured as a STA.
- * The first step in creating an additional BSSID is to create the wireless interface device for that BSSID.
- * Use the Set (WiFi) Mode API for this purpose.
- * 
- * @section mygroup5_2 Primary versus Secondary Wireless Interface
- * A number of APIs change or report properties of the WiFi radio.  An example is the current WiFi channel.
- * A change in the WiFi channel affects all wireless interfaces.  To prevent unexpected side effects, the concept of the Primary Wireless Interface is introduced.
- * Selected WiFi APIs only work on the primary interface.  An example is the Set Channel API.
- * If one of these APIs is called with a wireless interface that is not the primary interface, the API will fail.<br>
- * To get the primary interface, use the Get Primary Interface API.<br>
- * It may be necessary to get a list of all wireless interfaces.
- * The Get Interface by Index API facilitates this.  It takes as a parameter an index, an unsigned integer.
- * If the index is 0, the primary wireless interface will be returned.
- * For index greater than 0, the API returns the corresponding wireless interface, or <c>-ERANGE</c>, numeric value out of range, if the index is too large.
- * 
- * @section mygroup5_3 APIs Only Available on the Primary Interface
- * The following APIs only work when called with the primary interface:<br>
- * 	@code
- 	Get WiFi Bandwidth
- 	Set WiFi Bandwidth
- 	Get WiFi Channel
- 	Set WiFi Channel
- 	Start Scan
- 	Get Regulatory TX Power
- 	Get Configured TX Power
- 	Get WiFi Current Transmit Power
- 	Set Regulatory Channel
- 	Get Regulatory Region
- 	Set Regulatory Region
- 	Get IEEE 802.11 Standard
- 	Get List Wifi Channels
- 	Get WiFi Noise
- 	Get WiFi RSSI by RF Chain
- 	Get MCS Rate
- 	Set MCS Rate
- 	Reload in WiFi mode
-	@endcode
- *
- * @section mygroup5_4 Quality of Service (QoS) extensions
- * A number of APIs handle QoS enhancements parameters for WiFi. The enhancements are based on WMM (Wireless MultiMedia extensions) specification by WiFi aliance,
- * which, in turn, is a subset of 802.11e amendment.<br>
- * Under WMM, all outgoing traffic is divided into four logical queues, and each queue is set in correspondence with one of four access categories (AC). Specification
- * references access categories by their symbolic names AC_BK, AC_BE, AC_VI and AC_VO, but APIs reference ACs by their corresponding numeric indexes. Mapping between
- * AC's symbolic name and it's index, as well as AC's relative priorities are given in a table:
- *
- * <TABLE>
- * <TR><TD>\b ACname</TD><TD>\b ACindex</TD><TD>\b Priority</TD><TD>\b Description</TD></TR>
- * <TR><TD>AC_BK</TD><TD>1</TD><TD>Lowest</TD><TD>Background traffic</TD></TR>
- * <TR><TD>AC_BE</TD><TD>0</TD><TD> </TD><TD>Best effort traffic</TD></TR>
- * <TR><TD>AC_VI</TD><TD>2</TD><TD> </TD><TD>Video traffic</TD></TR>
- * <TR><TD>AC_VO</TD><TD>3</TD><TD>Highest</TD><TD>Voice traffic</TD></TR>
- * </TABLE>
- *
- * Access category is merely a label for a certain set of medium access parameters of one respective outgoing traffic queue. Each transmission queue competes
- * for medium access using it's own set of parameters, and variations in ACs parameters value ensures statistical prioritization of one outgoing traffic queue over another.<br>
- * APIs differentiate between ACs parameters applied to prioritize outgoing traffic by device itself (short, "self params"), and ACs parameters of a BSS the device is associated with
- * (short, "BSS params"). In case of operating in AP mode, device uses "self params" internally for prioritizing it's own outgoing traffic, while it signals "BSS params"
- * to it's client STAs in managment frames headers. In case of operating in STA mode, only "self params" set have a meaning. STA receives it's QoS parameters from associated AP,
- * and it doesn't use its "BSS params" set in any way. Still, APIs allow to set/get both "self" and "BSS" parameters sets in either STA or AP mode.<br>
- * There are in total six QoS parameters, and APIs use numeric indexes to reference them. Mapping of parameters symbolic names to their corresponding
- * indexes are showed in a table:
- * <TABLE>
- * <TR><TD>\b Name</TD><TD>\b Index</TD><TD>\b Description</TD></TR>
- * <TR><TD>ECWMin</TD><TD>1</TD><TD>Contention window exponent (MIN value)</TD></TR>
- * <TR><TD>ECWMax</TD><TD>2</TD><TD>Contention window exponent (MAX value)</TD></TR>
- * <TR><TD>AIFS</TD><TD>3</TD><TD>Arbitration InterFrame Spacing number</TD></TR>
- * <TR><TD>TXOP</TD><TD>4</TD><TD>Transmit Opportunity limit</TD></TR>
- * <TR><TD>ACM</TD><TD>5</TD><TD>Admission Control Mandatory</TD></TR>
- * <TR><TD>AckPolicy</TD><TD>6</TD><TD>Frame Ack Policy</TD></TR>
- * </TABLE>
- *
- * Following is a short description of AC parameters and their possible values. Parameters are per-VAP, per-AC.
- * @subsection mysection5_4_1 ECWMin
- * Exponent of minimum possible value for contention window (CWMin). This encodes the values of CWMin as an exponent: CWMin = 2^ECWMin - 1.<br>
- * For example, if ECWMin is 8, then CWMin is 2^8 - 1, or 255. Possible values are 0-15.
- * @subsection mysection5_4_2 ECWMax
- * Exponent of maximum possible value for contention window (CWMax). This encodes the values of CWMax as an exponent: CWMax = 2^ECWMax - 1.<br>
- * For example, if ECWMax is 8, then CWMax is 2^8 - 1, or 255. Possible values are 0-15.
- * @subsection mysection5_4_3 AIFS
- * Arbitration Inter Frame Spacing Number - the number of time slots in the arbitration interframe space.<br>
- * Possible values are 0-15.
- * @subsection mysection5_4_4 TXOP
- * Transmit Opportunity limit, in microseconds. A limit to a length of time interval during which device can acquire medium for private use.<br>
- * Possible values are 0-8192.
- * @subsection mysection5_4_5 ACM
- * Admission Control Mandatory flag. Applies to "BSS params" set only and allows AP to signal to it's client STAs that admission control is mandatory for some AC,
- * and STA has to start traffic transmission for this particular AC by issuing TSPEC request first.<br>
- * Possible values are 0 and 1. APIs will not allow to set or query ACM parameter for "self params" set.
- * @subsection mysection5_4_6 AckPolicy
- * Acknowledge policy expected by sender device. Only meaningful for outgoing traffic. Whether or not sender expects the receiver to send an ACK in response to 
- * normally received frame.<br>
- * Possible values are 0 and 1. APIs will not allow to set or query AckPolicy parameter for "BSS params" set.
- */
-
-/**@defgroup MBSSIDAPIs MBSSID APIs
- * @brief MBSSID is a feature that allows additional AP-mode virtual interfaces to be configured on a single device.
- * Each additional virtual interface is created as a new network interface,
- * so existing security APIs and generic interface APIs can be used on the new interface.<br>
- * \note All MBSSID APIs work with the host AP daemon security configuration file, hostapd.conf.
- * Its location is determined by the @ref File_Path_conf "get file path configuration API".
- * Results from these APIs may be inconsistent or incorrect if the file path to the security configuration files has not been correctly configured.
- */
-
-/**@defgroup WDSAPIs WDS APIs
- * @brief WDS (Wireless Distribution System) here means a link between two APs on the same 802.11 channel,
- * between which traffic is allowed to flow using 4 address frames.<br>
- * It is important to note that the implementation of WDS peering is not an official 802.11 standard.
- * 802.11 only details the implementation of 4 address frames, not any of the setup or negotiation between peers.<br>
- * The implementation is largely targeted at interoperability with units produced by a specific customer using a competitor's chipset.<br>
- * A WDS peer is identified by its primary BSSID.  Recall a BSSID is represented as a MAC address, in this context the MAC address of the peer AP.<br>
- * The WDS peering agreement is symmetric.  Both sides need to have the peer address of the other added. Otherwise no WDS connection will be established.
- * If only one side of a WDS link has added the other, the peer AP will not recognize the connection.
- */
-
-/**@defgroup SecurityAPIs Security APIs
- *
- * @brief These APIs are for the Access Point (AP) and do not work on a Station (STA).
- *
- * For the equivalent STA APIs, see section @ref SSIDAPIs "SSID APIs".
- * The interface parameter must reference either the primary interface or a previously created AP-mode virtual interface (MBSSID feature).<br>
- * \note All Security APIs work with the host AP daemon security configuration file, hostapd.conf.
- * Its location is determined by the get file path configuration API (section @ref File_Path_conf "File Path configuration").
- * Results from these APIs may be inconsistent or incorrect if the file path to the security configuration files
- * has not been correctly configured.
- *
- * @section CommonSecurityDefinitions Security definitions
- *
- * The following table outlines the defined string <b>authentication protocols</b> as used commonly throughout the QCSAPI.
- * 
- * <TABLE>
- * <TR><TD>\b Value</TD><TD>\b Interpretation</TD></TR>
- * <TR><TD>Basic</TD><TD>No security in use</TD></TR>
- * <TR><TD>WPA</TD><TD>WPA version 1 authentication protocol</TD></TR>
- * <TR><TD>11i</TD><TD>802.11i authentication protocol</TD></TR>
- * <TR><TD>WPAand11i</TD><TD>Both WPA and 802.11i authentication protocols are available</TD></TR>
- * </TABLE>
- *
- * The following table outlines the defined string <b>encryption</b> types as used commonly throughout the QCSAPI.
- * 
- * <TABLE>
- * <TR><TD>\b Value</TD><TD>\b Interpretation</TD></TR>
- * <TR><TD>AESEncryption</TD><TD>AES(CCMP) Encryption in use.</TD></TR>
- * <TR><TD>TKIPEncryption</TD><TD>TKIP Encryption in use.</TD></TR>
- * <TR><TD>TKIPandAESEncryption</TD><TD>TKIP and AES(CCMP) Encryption in use.</TD></TR>
- * </TABLE>
- * 
- * The following table outlines the defined string <b>authentication types</b> as used commonly througout the QCSAPI.
- * <TABLE>
- * <TR><TD>\b Value</TD><TD>\b Interpretation</TD></TR>
- * <TR><TD>PSKAuthentication</TD><TD>Pre-shared key authentication.</TD></TR>
- * <TR><TD>EAPAuthentication</TD><TD>Use of an EAP server for authentication.</TD></TR>
- * </TABLE>
- *
- * @section APSTADualFunctions Authentication protocols and encryption
- *
- * This section has a few sentences to try and clarify the difference between authentication and encryption, and the different methods
- * as documented in the previous tables. All are closely inter-related, but are different parts of the same stick.
- *
- * Authentication is the act of verifying an entity is allowed access to a resource. In the case of 802.11 devices, authentication is
- * done through one of multiple methods:
- *
- * \li NULL authentication (eg, OPEN networks) - "None"
- * \li Pre-shared WEP key (obsolete - not mentioned further).
- * \li Pre-shared key with WPA/WPA2 authentication - "WPA" or "11i" or "WPAand11i" - collectively "PSKAuthentication"
- * \li Extensible Authentication Protocol (EAP). - EAP-FAST, EAP-PEAP, ... - collectively "EAPAuthentication"
- *
- * The Quantenna software implicitly supports "None" and "PSKAuthentication". "EAPAuthentication" can be added by customers, as it sits
- * at the userspace level.
- *
- * Typically, once authentication has completed, one of the outputs from the authentication protocol will be a set of temporary keys.
- *
- * These keys are then used for the second part of the security equation, for <b>encryption</b>.
- *
- * Encryption takes plain text (or packets) and applies a cryptographic algorithm, using a known (or derived) shared key, to generate
- * encrypted text (or packets). The different algorithms used for encryption are negotiated during initial connection establishment,
- * and the supported encryption algorithms are:
- *
- * \li NONE (no encryption)
- * \li TKIP (Rotating WEP or RC4 key)
- * \li CCMP (or AES key)
- *
- * Generally speaking, devices using an encryption key will have two keys - one for unicast (AP->STA and STA->AP), and one for broadcast
- * and multicast (AP-> all STAs in the BSS).
- *
- * Functions within the QCSAPI that deal with security have three broad categories for defining the security setup:
- *
- * \li Setting the authentication type (eg, PSK, EAP, NONE, etc.)
- * \li Setting the specific authentication protocol (eg, WPA, WPA2, PEAP etc.)
- * \li Setting the encryption type (eg, TKIP, CCMP)
- *
- * The following table shows the different functions used for these different tasks - both set and get functions.
- * <TABLE>
- * <TR><TD>\b Function</TD><TD>\b Get</TD><TD>\b Set</TD></TR>
- * <TR><TD>Get/set authentication type</TD><TD>\ref qcsapi_wifi_get_WPA_authentication_mode, \ref qcsapi_SSID_get_authentication_mode</TD><TD>\ref qcsapi_wifi_set_WPA_authentication_mode, \ref qcsapi_SSID_set_authentication_mode</TD></TR>
- * <TR><TD>Get/set authentication protocol</TD><TD>\ref qcsapi_wifi_get_beacon_type, \ref qcsapi_SSID_get_protocol</TD><TD>\ref qcsapi_wifi_set_beacon_type, \ref qcsapi_SSID_set_protocol</TD></TR>
- * <TR><TD>Get/set encryption type</TD><TD>\ref qcsapi_wifi_get_WPA_encryption_modes, \ref qcsapi_SSID_get_encryption_modes</TD><TD>\ref qcsapi_wifi_set_WPA_encryption_modes, \ref qcsapi_SSID_set_encryption_modes</TD></TR>
- */
-
-/**@defgroup MACFilterAPIs MAC Address Filtering APIs
- * @brief The AP can block a selected station from associating based on its MAC (hardware interface) address.
- * This section lists and describes the APIs that manage this capability.
- * The interface parameter to these APIs must reference a Wireless Extension (WE) device configured as an AP.<br>
- * By default, MAC address filtering is disabled.  Use the Set MAC Address Filtering API to configure this capability.
- * Consult section 5.1.1 on the format of a MAC address when working with the scripting interface to the MAC address filtering APIs.<br>
- *
- * \note All MAC Address Filtering APIs work with security configuration files.
- * Their location is determined by the get file path configuration API (section @ref File_Path_conf "File Path configuration").
- * Results from these APIs may be inconsistent or incorrect if the file path to this security configuration files has not been correctly configured.
- *
- * @section mysection9_1 Data Type to Configure MAC Address Filtering
- *
- * @section mysection9_2 Error Codes from MAC Address Filtering APIs
- * The API that returns a list of authorized MAC addresses will fail with an error code of Configuration Error if the MAC address filtering is not set to Deny Unless Authorized.
- * The API that returns a list of denied or blocked MAC addresses will fail with error code Configuration Error if the MAC address filtering is not set to Authorize Unless Denied.<br>
- * Both of those APIs will fail with an error code of Buffer Overflow if the length of the string is too short to store all MAC addresses. <br>
- * See @ref mysection4_1_4 "QCSAPI Return Values" for more details on error codes and error messages.
- */
-
-/**@defgroup MACReserveAPIs MAC Address Reservation APIs
- * @brief MAC address reservation can be used to prevent associated WiFi devices and downstream
- * devices from hijacking MAC addresses that belong to core network devices.
- *
- * MAC address reservation is implemented on an Access Point by configuring a list of up to six
- * reserved MAC addresses.  An optional mask can be supplied with each entry in order to reserve a
- * range of MAC addresses.
- *
- * The following example reserves 1c:6f:65:d1:bf:01 and the 16 MAC addresses from 1c:6f:65:d1:bf:10
- * to 1c:6f:65:d1:bf:1f are reserved for devices on the wired side of the Access Point.
- *
- * <c>call_qcsapi set_macaddr_reserve wifi0 1c:6f:65:d1:bf:01</c>
- *
- * <c>call_qcsapi set_macaddr_reserve wifi0 1c:6f:65:d1:bf:10 ff:ff:ff:ff:ff:f0</c>
- *
- * Any association request with a source address that matches an entry in the reserved MAC address
- * list is refused, and any Ethernet packet with a source address that matches an entry in the
- * reserved MAC address list is dropped.
- */
-
-/**@defgroup OptionsAPIs Options
- * @brief A variety of options can be accessed or set.
- * See the discussion of the datatype qcsapi_option_type for the list of available options.
- * See the discussion of the datatype qcsapi_wifi_param_type for the list of available parameters.
- * Relevant entry points follow:
- *
- * @section mysection10_3 WiFi Options and the call_qcsapi Interface
- * The table below lists selected options as listed in the enumerated type and how to pass them to call_qcsapi.
- * <TABLE>
- * <TR>		<TD><b>Option</b></TD>		<TD><b>call_qcsapi representation</b></TD>	</TR>
- * <TR>		<TD>qcsapi_channel_refresh</TD>		<TD>channel_refresh</TD>	</TR>
- * <TR>		<TD>qcsapi_DFS</TD>		<TD>DFS</TD>	</TR>
- * <TR>		<TD>qcsapi_wmm</TD>		<TD>WMM</TD>	</TR>
- * <TR>		<TD>qcsapi_beacon_advertise</TD>		<TD>beacon_advertise</TD>	</TR>
- * <TR>		<TD>qcsapi_wifi_radio</TD>		<TD>radio</TD>	</TR>
- * <TR>		<TD>qcsapi_autorate_fallback</TD>		<TD>autorate</TD>	</TR>
- * <TR>		<TD>qcsapi_security</TD>		<TD>security</TD>	</TR>
- * <TR>		<TD>qcsapi_SSID_broadcast</TD>		<TD>SSID_broadcast</TD>	</TR>
- * <TR>		<TD>qcsapi_short_GI</TD>		<TD>shortGI</TD>	</TR>
- * <TR>		<TD>qcsapi_802_11h</TD>		<TD>802_11h</TD>	</TR>
- * <TR>		<TD>qcsapi_tpc_query</TD>		<TD>tpc_query</TD>	</TR>
- * <TR>		<TD>qcsapi_dfs_fast_channel_switch</TD>		<TD>dfs_fast_switch</TD>	</TR>
- * <TR>		<TD>qcsapi_dfs_avoid_dfs_scan</TD>		<TD>avoid_dfs_scan</TD>	</TR>
- * <TR>		<TD>qcsapi_uapsd</TD>		<TD>uapsd</TD>	</TR>
- * <TR>		<TD>qcsapi_sta_dfs</TD>		<TD>sta_dfs</TD>	</TR>
- * <TR>		<TD>qcsapi_specific_scan</TD>		<TD>specific_scan</TD>	</TR>
- * <TR>		<TD>qcsapi_GI_probing</TD>		<TD>GI_probing</TD>	</TR>
- * <TR>		<TD>qcsapi_GI_fixed</TD>		<TD>GI_fixed</TD>	</TR>
- * <TR>		<TD>qcsapi_stbc</TD>		<TD>stbc</TD>	</TR>
- * <TR>		<TD>qcsapi_beamforming</TD>		<TD>beamforming</TD>	</TR>
- * <TR>		<TD>qcsapi_short_slot</TD>		<TD>short_slot</TD>	</TR>
- * <TR>		<TD>qcsapi_short_preamble</TD>		<TD>short_preamble</TD>	</TR>
- * <TR>		<TD>qcsapi_rts_cts</TD>		<TD>rts_cts</TD>	</TR>
- * <TR>		<TD>qcsapi_40M_only</TD>		<TD>40M_bw_only</TD>	</TR>
- * <TR>		<TD>qcsapi_obss_coexist</TD>		<TD>obss_coexist</TD>	</TR>
- * <TR>		<TD>qcsapi_11g_protection</TD>		<TD>11g_protection</TD>	</TR>
- * <TR>		<TD>qcsapi_11n_protection</TD>		<TD>11n_protection</TD>	</TR>
- * </TABLE>
- * To access the get option API enter:<br>
- * <c>call_qcsapi get_option wifi0 \<option\>	</c><br>
- * Unless an error occurs, the output will be either TRUE or FALSE.<br>
- * To access the set option API enter:<br>
- * <c>call_qcsapi set_option wifi0 \<option\> \<1 | TRUE | 0 | FALSE\></c><br>
- * Unless an error occurs, the output will be the string <c>complete</c>.
- *
- * @section mysection10_4 Notes on Selected Options
- *
- * - The autorate fallback option (qcsapi_autorate_fallback) can be considered a rate setting.
- *   This option can be enabled from the set option API, but disabling is not allowed.  To disable autorate fallback,
- *   call the Set MCS rate API with a valid MCS rate.
- * - WiFi MultiMedia (WMM, qcsapi_wmm) is required for 802.11n.  As Quantenna devices always operate in 802.11n mode,
- *   this option is enabled by default and thus cannot be disabled thru the Set Option API.
- * - Dynamic Frequency Selection (DFS, qcsapi_DFS) is a read-only option.
- *   If enabled, the programming on the Quantenna WiFi device supports DFS.
- *   It is not possible to enable or disable DFS through the set option API.
- * - SSID Broadcast controls whether the name of the SSID is included in beacons broadcast by the AP.
- *   This option is not available if the device is configured as a STA.
- * - Security is a read-only option.  On an AP, security is determined by the Set Beacon API.
- *   On a STA, security is determined by the security policy of the AP it associates with.
- * - DFS Fast Switch enhances availability if a channel covered by DFS / radar protocols is selected.
- *   The protocol requires the AP to immediately switch channels if radar is detected on the current channel.
- *   By default, the AP scans available channels to find the channel with least interference.
- *   This operation typically leads to a gap in traffic lasting from 20 seconds to over 1 minute.
- *   With DFS Fast Switch enabled, the AP immediately switches to a non-DFS channel.
- *   Testing with this option enabled shows there should be no loss of traffic if radar is detected.<br>
- *   If both DFS Fast Switch and Avoid DFS Scan are enabled, DFS Fast Switch takes precedence.<br>
- *   Examples using <c>call_qcsapi</c>:<br>
- *   To enable DFS Fast Swich:<br>
- *      <c>call_qcsapi set_option wifi0 dfs_fast_switch 1	</c><br>
- *   To disable DFS Fast Switch:<br>
- *      <c>call_qcsapi set_option wifi0 dfs_fast_switch 0	</c><br>
- *   To query this option:<br>
- *      <c>call_qcsapi get_option wifi0 dfs_fast_switch		</c><br>
- * - Avoid DFS Scan causes the AP to scan only non-DFS channels if radar is detected and a switch of channels is required.
- *   Enabling this option ensures that the Channel Availability Check (CAC) will not be required after radar is detected.
- *   A gap in traffic should still be expected after radar is detected, but without the CAC, the maximum gap should be less than 30 seconds. <br>
- *   If both DFS Fast Switch and Avoid DFS Scan are enabled, DFS Fast Switch takes precedence.<br>
- *   Examples using call_qcsapi:<br>
- *   To enable Avoid DFS Fast Swich:<br>
- *      <c>call_qcsapi set_option wifi0 avoid_dfs_scan 1		</c><br>
- *   To disable DFS Fast Switch:<br>
- *      <c>call_qcsapi set_option wifi0 avoid_dfs_scan 0		</c><br>
- *   To query this option:<br>
- *      <c>call_qcsapi get_option wifi0 avoid_dfs_scan		</c>
- * - For options that are not supported yet, API will return
- *   <c>-qcsapi_option_not_supported</c> and for call_qcsapi, it shows<br>
- *      <c>QCS API error 1044: Option is not supported</c><br>
- *   Caller can check the return value <c>-qcsapi_option_not_supported</c> to query
- *   if the option is supported.
- *
- * @section mysection10_5 WiFi Parameters and the call_qcsapi Interface
- * The table below lists selected parameters as listed in the enumerated type and how to pass them to call_qcsapi.
- * <TABLE>
- * <TR>		<TD><b>Option</b></TD>		<TD><b>call_qcsapi representation</b></TD>	</TR>
- * <TR>		<TD>qcsapi_wifi_param_dtim_period</TD>		<TD>dtim_period</TD>	</TR>
- * </TABLE>
- * To access the get parameter API enter:<br>
- * <c>call_qcsapi get_wifi_param wifi0 \<parameter\>	</c><br>
- * Unless an error occurs, the output will be the numeric value of the parameter.<br>
- * To access the set parameter API enter:<br>
- * <c>call_qcsapi set_wifi_param wifi0 \<parameter\> \<numeric value\></c><br>
- * Unless an error occurs, the output will be the string <c>complete</c>.
- *
- * @section mysection10_6 Notes on Selected Parameters
- *
- * - The dtim period is an AP only parameter.<br>
- *   It controls how often the broadcast/multicast traffic indication bit set in beacon unit.<br>
- */
-
-
-/**@defgroup SSIDAPIs SSID APIs
- * @brief The WPA Supplicant configuration file (STA only) allows multiple service sets to be configured.
- *
- * Parameters configured in a service set include encryption modes, authentication mode, pre-shared keys (PSK) and the passphrase.
- * Thus these APIs mirror the "WPA" APIs, with the exception that the SSID APIs require a service set identifier (SSID).
- * Two additional APIs verify an SSID is present in the configuration file and create a new service set.
- *
- * \note All SSID APIs work with the WPA Supplicant security configuration file, wpa_supplicant.conf.
- * This file's location is determined by the get file path configuration API (section @ref File_Path_conf "File Path configuration").
- * Results from these APIs may be inconsistent or incorrect if the file path to the security configuration files has not been correctly configured.
- * 
- * @section mysection11_1 Error Codes from SSID APIs
- * Two failure conditions are restricted to the SSID APIs.
- *
- * The first failure condition is if the referenced SSID is not present in the configuration file.
- * The error code in this situation will be:
- *
- * <c>-qcsapi_SSID_not_found</c>
- *
- * and the error message from the <c>call_qcsapi</c> scripting interface will be:
- *
- * <c>QCS API error 1002: SSID not found</c>
- *
- * Use the Verify SSID API (\ref qcsapi_SSID_verify_SSID) to confirm an SSID is present in the configuration file.
- *
- * The second failure condition is if the referenced SSID is present in the configuration file, but a required
- * parameter is not present.
- *
- * An example is calling the SSID Get (Security) Protocol for an SSID that is configured without security.
- *
- * Here the error code will be:
- *
- * <c>-qcsapi_SSID_parameter_not_found</c>
- *
- * and the error message from the <c>call_qcsapi</c> scripting interface will be:
- *
- * <c>QCS API error 1012: Required parameter not found in the SSID configuration block.</c>
- */
-
-/**@defgroup WPSAPIs WPS APIs
- * @section mysection12_1 Overview
- * Under the WPS standard, a WiFi device can be either a Registrar or an Enrollee.
- * In this context, currently an AP is always a Registrar and a STA is always an Enrollee.
- */
-
-/**@defgroup LEDGPIOAPIs LED and GPIO APIs
- * @brief Although the APIs make a formal distinction between LEDs and GPIO pins, currently all LEDs are controlled thru GPIO pins.<br>
- * To accommodate different board designs, all LEDs / GPIO pins must be configured prior to use by software.
- * The configuration is persistent and should only need to be done once.  GPIO pin configuration is one of:
- *  - qcsapi_gpio_not_available = 0
- *  - qcsapi_gpio_input_only = 1
- *  - qcsapi_gpio_output = 2
- * .
- * Default configuration is qcsapi_gpio_not_available.  A pin configured for output can be read as input.<br>
- * All GPIO pins are accessed through the LED APIs, including GPIO pins that do not control an LED.
- * An LED / GPIO pin can be either HIGH (value for setting is 1) or low (value for setting is 0).
- * Be aware that a particular LED / GPIO pin can either be active high or active low.
- * Consult the board documentation or schematics for details on the logic for each GPIO pin.<br>
- * GPIO pin numbers range from 0 to 31.
- */
-
-/**@defgroup PerAssocAPIs Per Association APIs
- * @brief These APIs report on items available for each association.
- * The first two only work on the AP; remaining APIs work on both an AP and a STA.
- * On a STA, the association index must be 0.
- */
-
-/**@defgroup RegulatoryAPIs APIs for Regulatory Compliance
- * @brief This section describes APIs that assist with regulatory compliance.
- * "Get" APIs are present for reference and convenience; "set" APIs are recommended to insure regulatory compliance.
- * Also included are details on how to configure and manage transmit (TX) power, since the "set" APIs rely on this TX power configuration to set the transmit power.
- * All APIs qcsapi_regulatory_xxx are used for regulatory database, and other APIs qcsapi_wifi_xxx which are used for EIRP table will be discarded.
- * @section mysection15_1 Overview
- * Regulatory compliance covers the choice of WiFi channels and how much power can be transmitted on each channel.
- * The choice of WiFi channels is pretty straightforward.  Typically either a channel is available or is not available.
- * Currently the APIs either grant access to a channel or block access to that channel (if a channel cannot be used the API returns -EINVAL as its error code return value).
- * If a channel is available by regulatory authority, no further restrictions are imposed on its use, except for the amount of power that can be transmitted.
- * 
- * Transmit power (TX power) is more complicated.  First, the regulatory authority imposes a limit on the overall TX power.
- * But sometimes the TX power that should be configured is lower than the limit established by the regulatory authority.
- * For example, each board design usually has a maximum TX power for the board, a power level that should not be exceeded on any channel.
- * Also, during testing for regulatory compliance,
- * sometimes it is found the TX power for a particular channel needs to be reduced to meet the detailed requirements of the regulatory authority.
- * This latter limit on the TX power can change from channel to channel, and from one regulatory region to another.
- * 
- * Transmit power is always measured and reported for an individual antenna chain.  The overall TX power that the system broadcasts is not measured or considered.
- * It is expect regulatory requirements will be mapped to TX power   limitations on a per-chain / per-antenna basis,
- * and that testing for regulatory compliance will be based on per-chain / per-antenna results.
- * @section mysection15_2 Managing TX Power
- * The TX power that should be configured for a channel is derived from the three sources described above:
- *  -# TX power limit set by regulatory authority.
- *  -# TX power limit established for the board.  This limit is independent of the regulatory authority, but can lower the TX power below what the regulatory authority specifies.
- *  -# TX power limit established for each channel - the TX power database.  The limit for each channel can differ depending on the controlling regulatory authority.
-      This limit also can lower the TX power below what the regulatory authority specifies.
- * .
- * All TX power values are expressed as integers in units of dBm.  All values are absolute power settings, not offsets.<br>
- * The rule for deriving the TX power for a channel is: take the minimum of the values from each of the three sources, regulatory authority,
- * board limit and the TX power database.
- * @section mysection15_3 The Calibration State
- * A boot configuration environmental variable, calstate, helps determine the capabilities of the WiFi device when it boots up.
- * If calstate is set to 1, the system installs special programming that facilitates testing for regulatory compliance.
- * In this state though, the WiFi device will not associate or pass traffic.
- * Set calstate to 3 to get the system to boot up so that it will associate and pass traffic.
- * With calstate set to 3 though, testing for regulatory compliance may be less straightforward.  This latter state is also referred to as production mode.
- * 
- * To make changes in the TX power database, calstate must be set to 1.
- * @section mysection15_4 Selecting the Regulatory Region
- * The regulatory region is specified using a string.  The table below lists currently supported regulatory regions and
- * what strings will select that region.  Base name is what would be returned by the Get Regulatory Region and
- * the Get List of WiFi Regulatory Region APIs.
- * <TABLE>
- * <TR>	<TD>Region</TD>	<TD>Base Name</TD>	<TD>Synonyms</TD></TR>
- * <TR>	
- * 	<TD>United States of America – Federal Communications Commission (FCC)</TD>
- * 	<TD>us</TD>
- * 	<TD>US, usa, USA, FCC</TD>
- * </TR>
- * <TR>
- * 	<TD>European Community</TD>	<TD>eu</TD>	<TD>EU, CE, ce, Europe</TD>
- * </TR>
- * </TABLE>
- * 
- * @section mysection15_5 TX Power Configuration
- * This section describes where the 3 sources for configuring TX power are located.
- *
- * @section mysection15_6 Limit by Regulatory Authority
- * The TX power limit that is set by regulatory authority is stored in tables that are part of the
- * binary QCSAPI library (libqcsapi.so) and cannot be edited.
- * The value for each available channel is available from an API.  The same API also reports if a channel is available,
- * for if it is called with an invalid channel, it will return an error (error code return value: <c>-EINVAL</c>).
- * An example is WiFi channel 188, a valid 5 GHz channel by the 802.11 standard, but not available in Europe or the USA.
- *
- * @section mysection15_7 Per Channel Limits
- * The TX power limit established for each channel is stored in flash memory, in the boot configuration sector.
- * (All boards are required to have a boot configuration sector in flash memory.)
- * Entries in this table are typically obtained while testing the WiFi device at a laboratory
- * that verifies regulatory compliance.
- * Here is an example file of TX power limits configured for each WiFi channel:<br>
- * @code
- * # TX power database table
- * # Chan   TX power
- *   36      14
- *   40      15
- *   44      15
- *   48      15
- *   52      15
- *   56      15
- *   60      15
- *   64      14
- *   100     18
- *   104     19
- *   108     19
- *   112     19
- *   116     19
- *   132     19
- *   136     19
- *   140     18
- * @endcode
- * (Caution: above table is an example and should not be used.
- * Actual values for the max TX power have to be derived from testing for regulatory compliance.)
- *
- * Each channel is listed together with the max TX power for that channel.
- * The table should then be stored in a file, with one entry per line.
- * Each line is expected to have 2 numbers (3 numbers are also possible, as explained later).
- * The first number is the channel; the second is the max TX power for that channel.
- * A separate file should be created for each regulatory region.
- *
- * This file then needs to be loaded into the TX power database, as shown in section @ref mysection15_12 "Reviewing and Updating the TX Power Configuration".
- *
- * @section mysection15_8 Board Limits
- * The overall max TX power for the board is stored in a boot configuration environmental
- * variable, <c>max_tx_power</c>.  A related variable, <c>min_tx_power</c>,
- * stores the minimum TX power that should be configured.
- * If the regulatory limit for transmit power for a a channel is below the value for <c>min_tx_power</c>,
- * access to that channel will be denied under that regulatory region.
- *
- * Values for both are expected to be obtained from testing the board.
- *
- * @section mysection15_9 Bandwidth 20 MHz vs. Bandwidth 40 MHz
- * The usual bandwidth when the system is in production mode is 40 MHz.  However,
- * it is possible to configure the bandwidth to be 20 MHz.
- * When configured this way, the WiFi device will limit the bandwidth to 20 MHz,
- * even if its partner in association supports 40 MHz.
- *
- * It turns out the per-channel power limits can differ based on the configured bandwidth,
- * 20 MHz vs 40 MHz.  Regulatory requirements though do not change based on how the bandwidth is configured;
- * nor does the overall board limit, the value in the boot configuration environmental variable, <c>max_tx_power</c>.
- *
- * To support a different TX power limit when the bandwidth is configured to 20 MHz,
- * each entry in the TX power database table can have 2 TX power values.
- * The first value is the one to be used if the bandwidth is configured to 40 MHz.
- * If present, a second value will be used if the bandwidth is configured to 20 MHz.
- * This second value is optional.  If this second value is not present,
- * the same TX power will be used for bandwidth configured to 40 MHz or 20 MHz, obtained from the first entry.
- *
- * Below is an example file of TX power limits with separate entries for bandwidth of 40 MHz and 20 MHz.<br>
- * @code
- * # TX power database table
- * # chan 40/20  20
- * #-----------------
- *    36   14    14
- *    40   14    15
- *    44   15    15
- *    48   15    15
- *    52   15    15
- *    56   15    15
- *    60   14    15
- *    64   14    15
- *    100   15    15
- *    104   15    17
- *    108   17    17
- *    112   17    17
- *    116   17    17
- *    132   17    17
- *    136   15    17
- *    140   15    15
- * @endcode
- * (Caution: above table is an example and should not be used.
- * Actual values for the max TX power need to be derived from testing for regulatory compliance.)
- *
- * @section mysection15_10 Defaults for TX Power
- * Regulatory limits are stored in the QCSAPI library binary and cannot be changed.
- * The per-channel and board limits are expected to be configured for each board.
- * If either are missing, the API programming will create defaults.
- *
- * For the boot configuration environmental variables, the default value for <c>max_tx_power</c> is 19;
- * for <c>min_tx_power</c> it is 9.
- *
- * The TX power database has a separate table for each regulatory region.
- * The table has an entry of channel, max TX power for each channel.  If this table is absent for a regulatory region,
- * the software will create this table, using the minimum of the regulatory limit and the board limit to
- * obtain the max TX power for each channel.  Note the default board limit is 19 dBm,
- * so the "default default" max TX power is 19 dBm.  Only one TX power value will be configured for each channel,
- * so by default no distinction will be made between bandwidth configured to 40 MHz vs 20 MHz.
- *
- * These defaults are provided to prevent problems if for any reason the per-channel limits or
- * the board limits are not configured.  It is expected that both will be configured before
- * bringing the system up in production mode (<c>calstate = 3</c>), using the commands described in the next section.
- *
- * @section mysection15_11 Reducing TX Power on the STA Independent of the AP
- * For various reasons it may be necessary to reduce power on the STA separately from the AP.
- * This distinction is required because a particular WiFi device can switch roles, Access Point and Station,
- * by simply changing the configuration.  If a device changes from STA mode to AP mode,
- * any power reduction applied due to it being a STA should no longer be applied.
- *
- * For this reason, another boot configuration parameter, <c>max_sta_tx_power</c>,
- * is available that will limit the max TX power, but only on the STA.  This parameter is optional;
- * If not present, the system will look for and work with <c>max_tx_power</c> as described previously.
- *
- * @section mysection15_12 Reviewing and Updating the TX Power Configuration
- * As mentioned previously, regulatory limited are stored in the API binaries and cannot be modified.
- * Use the API Get Regulatory TX Power, described in detail below, to access regulatory requirements,
- * including the maximum TX power allowed by regulatory authority.
- * Use the API Get List Regulatory Channels, described in detail below,
- * to display the list of channels allowed in a particular regulatory region.
- *
- * The boot configuration environmental variables <c>calstate, max_tx_power</c> and <c>min_tx_power</c> can
- * all be accessed from the u-boot prompt, or by using the <c>get_bootval</c> command once the system boots up.
- * Their values can be changed at the u-boot prompt, or by using the <c>set_bootval</c> command after the system boots up.
- * Be aware that when setting a value from the u-boot prompt, the new value needs to be saved with the <c>saveenv</c>
- * u-boot command.  Updates to boot configuration environmental variables are automatically saved with
- * the <c>set_bootval</c> command.
- *
- * Three commands are available to work with the TX power database, the tables of TX power limits for each channel.
- * The boot parameter <c>calstate</c> must be set to 1 to make changes to the TX power database.
- *
- * The command <c>configure_tx_power_limit</c> sets up the TX power database for a particular regulatory region.
- * The command takes either one or two parameters.  If two parameters are present, the first is interpreted as the
- * regulatory region and the second as the path to a file with the table of channels and TX power limits.  Example file
- * contents are shown in sections 8.15.7 and 8.15.9.  If only one parameter is present, it will be interpreted as the
- * regulatory region.  See section @ref mysection15_4 for details on selecting a regulatory region.  Boot parameter
- * <c>calstate</c> must be set to 1.
- *
- * The command <c>display_tx_power_limit</c> displays the TX power limits for a particular channel, or the entire table
- * for a regulatory region.  This command expects two parameters.  The first is the regulatory region; the second is the
- * WiFi channel.  If the 2nd parameter is "all", the entire table for the selected regulatory region is displayed.  See
- * section @ref mysection15_4 "HERE" for details on selecting a regulatory region.
- *
- * The command <c>update_tx_power_limit</c> updates the TX power limits for a particular channel.  This command takes
- * either three or four parameters.  The first is the regulatory region; the second is the WiFi channel; the third is the
- * limit on TX power.  A fourth parameter will be interpreted as the limit on TX power when the bandwidth is configured to
- * 20 MHz.  Boot parameter <c>calstate</c> must be set to 1.
- */
-
-/**@defgroup DFSAPIs DFS, Radar and OCAC APIs
- * Selected channels in the 5 GHz frequency range are also used by weather and military radar.
- * To prevent unwanted interference, WiFi devices using those channels are required to follow special protocols, as describe in 802.11h.
- * APIs are available that list channels that are subject to the DFS protocols and channels that are not subject to those protocols.
- * A separate API reports whether a particular channel is subject to DFS protocols.
- * As the exact DFS-related regulations are determined by the regulatory authority,
- * the regulatory region is a required parameter for all these APIs.
- *
- * @section mysection16_1 OCAC
- * OCAC is a feature where the DFS master device will periodically scan off-channel in order to detect radar on a channel different to
- * the current operating channel. This feature is limited to operation with up to 2 BSSes only.
- */
-
-/**@defgroup ScanAPIs Scan APIs
- * This section describes APIs that report on properties of APs that were found when the STA scanned the WiFi channels.<br>
- * When a WiFi device configured as a STA starts up, it typically scans the WiFi channels for APs in its neighborhood.
- *
- * \note The list of channels will be limited to those legal in the local regulatory region by calling the Set Regulatory Region API.
- *
- * Two APIs are available to report on the results of the last AP scan. The first API gets the results and caches them in memory.
- * A second API then reports the properties of a particular AP. The AP is selected by index, starting at 0.
- * An application that wants to examine all APs can call Get Properties AP (see qcsapi_wifi_get_properties_AP), starting first with
- * the index set to 0, and incrementing that index in each subsequent call until the API returns an error (-ERANGE).
- * 
- * If either API is called on a WiFI device configured as an AP, the API will return an error (see enum qcsapi_only_on_STA).<br>
- *
- * \note The Get Properties API uses the results it finds in the in-memory cache.
- * To insure the results from the latest AP scan are used, an application should always call the get results AP scan API first
- * (see qcsapi_wifi_get_results_AP_scan).
- * The example application shows how this should be programmed.
- *
- * @section mysection17_1 Data Structure to Report the Properties of an AP
- * The properties of an AP are returned in the data structure shown below (see struct qcsapi_ap_properties for full details):<br>
- * @code
- *	typedef struct qcsapi_ap_properties
- *	{
- *		qcsapi_SSID             ap_name_SSID;
- *		qcsapi_mac_addr         ap_mac_addr;
- *		qcsapi_unsigned_int     ap_flags;
- *		int                     ap_channel;
- *		int                     ap_RSSI;
- *		int                     ap_protocol;
- *		int                     ap_encryption_modes;
- *		int                     ap_authentication_mode;
- *		int			ap_best_rate;
- *		int			ap_wps;
- *		int			ap_80211_proto;
- *	} qcsapi_ap_properties;
- * @endcode
- * As can be seen from the data struct definition, properties returned by the Get AP Properties API include its SSID,
- * its MAC address, what channel it is broadcasting beacons on and the relative signal strength (RSSI) from that AP.
- * RSSI will range from 1 up to 70; the larger this value, the stronger the signal from the AP is on the local STA.
- *
- * Flags (ap_flags) is a bit mask and currently only reports on whether the AP has enabled security.
- * If the low-order bit (0x01) is set, the referenced AP has enabled security; if that bit is cleared,
- * the referenced AP has disabled security.  Remaining bits have no meaning currently.
- *
- * If security is reported as enabled, the security protocol(s) in use, the encryption mode(s) and the authentication mode are all reported.<br>
- * Possible values for the protocol(s) (ap_protocol ) are derived from these two values:
- * @code
- *	qcsapi_protocol_WPA_mask = 1
- *	qcsapi_protocol_11i_mask = 2
- * @endcode
- * Since an AP can enable both WPA and 11i (WPA2) at the same time, the two values are actually bit masks.<br>
- * Possible values for the authentication mode (ap_encryption_modes) are shown below:<br>
- * @code
- *	qcsapi_ap_PSK_authentication = 1
- *	qcsapi_ap_EAP_authentication = 2
- * @endcode
- * Possible values for the encryption mode(s) (ap_authentication_mode) are derived from these two values:<br>
- * @code
- *	qcsapi_ap_TKIP_encryption_mask = 0x01
- *	qcsapi_ap_CCMP_encryption_mask = 0x02
- * @endcode
- * Since an AP can enable both CCMP and TKIP as encryption modes at the same time, the two values are actually bit masks.<br>
- * The value of WPS capability (ap_wps) is 1 when AP supports WPS, or 0 when not.<br>
- * The value of IEEE802.11 protocol (ap_80211_proto) may be any combination of following values:<br>
- * @code
- *	802.11b	0x01
- *	802.11g	0x02
- *	802.11a	0x04
- *	802.11n	0x08
- * @endcode
- *
- * @section mysection17_4 Demonstration Application for AP Scan APIs
- * A demonstration command line application, <c>show_access_points</c>, is included with the SDK.
- *
- * This application details how to use the Get Results AP Scan API before getting the properties for individual APs.
- *
- * Look at the code fragment below:
- *	@code
-
-	errorval = qcsapi_wifi_get_results_AP_scan( ifname, &count_APs );
-
-	if (errorval >= 0) {
-		qcsapi_unsigned_int     iter;
-		qcsapi_ap_properties    ap_properties;
-
-		for (iter = 0; iter < count_APs && errorval >= 0; iter++) {
-			errorval = qcsapi_wifi_get_properties_AP( ifname, iter, &ap_properties );
-			if (errorval >= 0) {
-				show_ap_properties( iter + 1, &ap_properties );
-			}
-		}
-	} else {
-		/* come here if the initial call to get the results of the AP scan fails */
-	}
-	@endcode
- * 
- * Notice the program first calls qcsapi_wifi_get_results_AP_scan before looping over the individual APs,
- * calling qcsapi_wifi_get_properties_AP to get the properties for individual APs.
- * Such a programming model is recommended whenever an application reviews or lists the properties of individual APs.
- */
-
-
-/**@defgroup SecurityMisAPIs Security Mismatch Backoff APIs
- * @brief Two APIs are available on the WiFi station (WiFi mode is "Station") to manage retries when a mismatch in security is discovered with its partner Access Point.
- * Because the STA can eventually back off and stop attempting to associate for a period of time, these APIs are referred to as Backoff APIs.<br>
- * These API configure the number of time to try before backing off and the amount of time to wait before trying again after backing off.
- */
-
-
-/**@defgroup EngineeringAPIs Engineering and Test APIs
- * @brief These APIs are not expected to be called in normal programming.
- * They are present to assist with engineering testing and performance evaluation.
- */
-
-/**@defgroup vsp_group Video Stream Protection APIs
- * @brief VSP ensures that video streams transmitted through Quantenna Access Points are protected from interference by other intra-BSS traffic and channel interference.
- * VSP pro-actively monitors and adjusts the streams running across the network to ensure video streams do not drop or suffer artefacts. These APIs provide configuration for the VSP module.
- */
- */
-
-/**@defgroup invoke_script API to call scripts for EMI testing and RF testing
- *
- * This chapter describes APIs to call scripts on the board to run EMI testing and RF testing in
- * calstate=1 mode.
- */
-
-/**@defgroup CalcmdAPI API for PHY testing
- * \brief These APIs are used for PHY testing.
- */
-
-/**@defgroup BootConfigAPIs Bootcfg APIs
- * \brief These APIs deal with the bootcfg interface.
- *
- * These APIs deal with the low level, early boottime configuration of the board.
- *
- * \note The update bootcfg API (qcsapi_bootcfg_update_parameter) can only be called in bringup mode, NOT in production mode.
- */
-
-/**@defgroup FirmwareAPIs Firmware Management APIs
- * \brief These APIs are used for firmware management functions.
- */
-
-/**@defgroup PowerAPIs Power Management APIs
- * \brief These APIs are used for power management functions.
- */
-
-/**@defgroup SCSAPIs Smart Channel Select (SCS) APIs
- * \brief These APIs are used to configure and get status for the Quantenna Smart Channel Select (SCS) feature.
- */
-
-/**@defgroup VLANAPIs VLAN APIs
- * \brief These APIs are used to configure, control and obtain status for VLANs within the Quantenna device.
- *
- * @section VLANsection_31_1 VLAN concepts in wireless networking
- *
- * This section outlines some key concepts in wireless networking relating specifically to VLANs.
- *
- * In order to understand the different uses for VLANs, some terminology will be introduced. The following table outlines the three different types of VLAN which apply to wireless systems.
- *
- * <TABLE>
- * <TR><TD><b>Term</b></TD><TD><b>Description</b></TD></TR>
- * <TR><TD>VLAN termination</TD><TD>A type of VLAN which terminates on the Quantenna device Linux host. That is, the Linux host is a member of the given VLAN. In networking terminology, this can be considered the Linux host is part of the VLAN access port.</TD></TR>
- * <TR><TD>VLAN passthrough</TD><TD>A type of VLAN which is transparently bridged across 4-address wireless hops (ie, not terminated or mapped). In networking terminology, this can be considered a VLAN trunk port.</TD></TR>
- * <TR><TD>VLAN mapping</TD><TD>A type of VLAN which maps to a given BSS, for which the 802.1q header is stripped prior to forwarding the packet to the wireless client. Packets received from the wireless client are tagged with an appropriate 802.1q tag prior to forwarding to the Ethernet interface. In networking terminology, this can be considered a VLAN access port.</TD></TR>
- * </TABLE>
- *
- * The three different modes of VLANs for the Quantenna firmware are shown operating in the following diagram.
- *
- * \image latex VLAN-types.png " " width=\textwidth
- *
- * @section VLANsection_31_4 Example VLAN configuration - VLAN mapping
- *
- * This section presents a concrete example of how to map VLANs to configured BSSes (SSIDs). In this case, the Quantenna device being configured is running a pure AP function, mapping clients per BSS into the appropriate VLAN on the Ethernet side of the Quantenna device.
- *
- * First ensure the Quantenna device is configured with at least two additional BSSes (and corresponding SSIDs). See the section @ref MBSSIDAPIs for details of configuring multiple BSSes on a single Quantenna device. This example gives a very simple configuration including both BSS creation and VLAN mapping to the SSID.
- *
- * Second, select two VLAN IDs to map onto the different BSSes. In this example, VLAN 10 and 20 are used.
- *
- * The script shown in the following code snippet shows how to map VLAN 10 onto SSID Qtn-Open-BSS (with no authentication or encryption), and VLAN 20 onto SSID Qtn-WPA2-BSS (with WPA2 authentication/CCMP encryption enabled).
- *
- * @code
- * #Enable VLAN functionality
- * call_qcsapi vlan_config wifi0 enable 0
- * #Create wifi1, bind to VLAN 10
- * call_qcsapi wifi_create_bss wifi1
- * call_qcsapi set_SSID wifi1 "Qtn-Open-BSS"
- * call_qcsapi set_beacon wifi1 Basic
- * call_qcsapi vlan_config wifi1 bind 10
- * #Create wifi2, bind to VLAN 20
- * call_qcsapi wifi_create_bss wifi2
- * call_qcsapi set_SSID wifi2 "Qtn-WPA2-BSS"
- * call_qcsapi set_beacon wifi2 11i
- * call_qcsapi set_WPA_encryption_modes wifi2 AESEncryption
- * call_qcsapi set_passphrase wifi2 "This is the passphrase!" 0
- * call_qcsapi vlan_config wifi2 bind 20
- * @endcode
- */
-
-/**@defgroup StatisticsAPIs Statistics APIs
- * \brief These APIs are used to obtain statistics from the device.
- */
-
-/**@defgroup ServicesAPIs Linux Services APIs
- * \brief These APIs are used for Linux daemon control.
- */
-
-/**@defgroup QTM_group Quantenna Traffic Management (QTM) APIs
- * \brief These APIs are used for Quantenna Traffic Management (QTM) configuration.
- */
-
-/**@defgroup TDLS_group TDLS APIs
- * \brief These APIs are used for configuration and control of TDLS.
- */
-
-/**@defgroup MU_group Multi-user MIMO APIs
- * \brief These APIs are used for debugging and display of MU details.
- */
-
-/**@defgroup WOWLAN_group Wake on WLAN (WoWLAN) APIs
- * \brief These APIs are used for Wake on WLAN configuration and control.
- */
-
-/**@defgroup ANDROID_group Android APIs
- * \brief These APIs are used for integrating QTN firmware with Android host.
- */
diff --git a/quantenna/common/doxygen/qcsapi_doc/image/VLAN-types.png b/quantenna/common/doxygen/qcsapi_doc/image/VLAN-types.png
deleted file mode 100644
index 20c21c1..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/image/VLAN-types.png
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/qcsapi_doc/image/qcsapi_image1.jpg b/quantenna/common/doxygen/qcsapi_doc/image/qcsapi_image1.jpg
deleted file mode 100644
index d66515a..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/image/qcsapi_image1.jpg
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/qcsapi_doc/image/rpc_img1.jpg b/quantenna/common/doxygen/qcsapi_doc/image/rpc_img1.jpg
deleted file mode 100644
index d261a9d..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/image/rpc_img1.jpg
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/qcsapi_doc/image/rpc_img2.jpg b/quantenna/common/doxygen/qcsapi_doc/image/rpc_img2.jpg
deleted file mode 100644
index a98d13b..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/image/rpc_img2.jpg
+++ /dev/null
Binary files differ
diff --git a/quantenna/common/doxygen/qcsapi_doc/qtn_latex.sh b/quantenna/common/doxygen/qcsapi_doc/qtn_latex.sh
deleted file mode 100755
index 874609f..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/qtn_latex.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-TARGET_DIR=../../../doxygen/qcsapi/latex
-targetfile=${TARGET_DIR}/refman.tex
-tmpfile=${TARGET_DIR}/refman.tex.tmp
-
-if [ -f $targetfile ] ; then
-	echo "refman.tex exists....."
-	# change latex type from "book" to "report" , Change the default title generated by doxygen, remove chapters that we don't need
-	sed -e 's/book/report/' -e 's/Module Documentation/QCSAPI detailed documentation/' \
-		-e '/Module Index/',+1d \
-		-e '/Data Structure Index/',+1d \
-		$targetfile > $tmpfile
-
-	cp -f $tmpfile $targetfile
-fi
diff --git a/quantenna/common/doxygen/qcsapi_doc/vsp_doc.c b/quantenna/common/doxygen/qcsapi_doc/vsp_doc.c
deleted file mode 100644
index f74a81a..0000000
--- a/quantenna/common/doxygen/qcsapi_doc/vsp_doc.c
+++ /dev/null
@@ -1,318 +0,0 @@
-/*SH0
-*******************************************************************************
-**                                                                           **
-**         Copyright (c) 2009 - 2011 Quantenna Communications Inc            **
-**                                                                           **
-**  File        : vsp_doc.c                                                  **
-**  Description : Automatically create VSP QCSAPI documentation              **
-**                                                                           **
-*******************************************************************************
-**                                                                           **
-**  Redistribution and use in source and binary forms, with or without       **
-**  modification, are permitted provided that the following conditions       **
-**  are met:                                                                 **
-**  1. Redistributions of source code must retain the above copyright        **
-**     notice, this list of conditions and the following disclaimer.         **
-**  2. Redistributions in binary form must reproduce the above copyright     **
-**     notice, this list of conditions and the following disclaimer in the   **
-**     documentation and/or other materials provided with the distribution.  **
-**  3. The name of the author may not be used to endorse or promote products **
-**     derived from this software without specific prior written permission. **
-**                                                                           **
-**  Alternatively, this software may be distributed under the terms of the   **
-**  GNU General Public License ("GPL") version 2, or (at your option) any    **
-**  later version as published by the Free Software Foundation.              **
-**                                                                           **
-**  In the case this software is distributed under the GPL license,          **
-**  you should have received a copy of the GNU General Public License        **
-**  along with this software; if not, write to the Free Software             **
-**  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA  **
-**                                                                           **
-**  THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR       **
-**  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES**
-**  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  **
-**  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,         **
-**  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT **
-**  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,**
-**  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY    **
-**  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT      **
-**  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF **
-**  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.        **
-**                                                                           **
-*******************************************************************************
-EH0*/
-
-#define inline
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <string.h>
-
-#include "qcsapi.h"
-
-static const struct qvsp_rule_param qvsp_rule_params[] = QVSP_RULE_PARAMS;
-static const struct qvsp_cfg_param qvsp_cfg_params[] = QVSP_CFG_PARAMS;
-static const char *qvsp_rule_order_desc[] = QVSP_RULE_ORDER_DESCS;
-
-#define E(x)	case x: return #x
-
-static const char *qvspdoc_enumstr_cfg(enum qvsp_cfg_param_e e)
-{
-	switch (e) {
-	E(QVSP_CFG_ENABLED);
-	E(QVSP_CFG_ENABLED_ALWAYS);
-	E(QVSP_CFG_FAT_MIN);
-	E(QVSP_CFG_FAT_MIN_SOFT);
-	E(QVSP_CFG_FAT_MIN_SOFT_CONSEC);
-	E(QVSP_CFG_FAT_MIN_SAFE);
-	E(QVSP_CFG_FAT_MIN_CHECK_INTV);
-	E(QVSP_CFG_FAT_MAX_SOFT);
-	E(QVSP_CFG_FAT_MAX_SOFT_CONSEC);
-	E(QVSP_CFG_FAT_MAX_SAFE);
-	E(QVSP_CFG_FAT_MAX_CHECK_INTV);
-	E(QVSP_CFG_NODE_DATA_MIN);
-	E(QVSP_CFG_DISABLE_DEMOTE);
-	E(QVSP_CFG_DISABLE_DEMOTE_FIX_FAT);
-	E(QVSP_CFG_DISABLE_WAIT);
-	E(QVSP_CFG_DISABLE_PER_EVENT_MAX);
-	E(QVSP_CFG_ENABLE_WAIT);
-	E(QVSP_CFG_ENABLE_PER_EVENT_MAX);
-	E(QVSP_CFG_STRM_RMT_DIS_TCP);
-	E(QVSP_CFG_STRM_RMT_DIS_UDP);
-	E(QVSP_CFG_STRM_TPUT_MIN);
-	E(QVSP_CFG_STRM_DISABLED_MAX);
-	E(QVSP_CFG_STRM_ADPT_THROT);
-	E(QVSP_CFG_STRM_ADPT_THROT_STEP);
-	E(QVSP_CFG_STRM_ADPT_THROT_MARGIN);
-	E(QVSP_CFG_STRM_TPUT_SMPL_MIN);
-	E(QVSP_CFG_STRM_COST_RC_ADJUST);
-	E(QVSP_CFG_STRM_MAX);
-	E(QVSP_CFG_STRM_MAX_AC0);
-	E(QVSP_CFG_STRM_MAX_AC1);
-	E(QVSP_CFG_STRM_MAX_AC2);
-	E(QVSP_CFG_STRM_MAX_AC3);
-	E(QVSP_CFG_STRM_MIN);
-	E(QVSP_CFG_STRM_MIN_AC0);
-	E(QVSP_CFG_STRM_MIN_AC1);
-	E(QVSP_CFG_STRM_MIN_AC2);
-	E(QVSP_CFG_STRM_MIN_AC3);
-	E(QVSP_CFG_STRM_TPUT_MAX_TCP);
-	E(QVSP_CFG_STRM_TPUT_MAX_TCP_AC0);
-	E(QVSP_CFG_STRM_TPUT_MAX_TCP_AC1);
-	E(QVSP_CFG_STRM_TPUT_MAX_TCP_AC2);
-	E(QVSP_CFG_STRM_TPUT_MAX_TCP_AC3);
-	E(QVSP_CFG_STRM_TPUT_MAX_UDP);
-	E(QVSP_CFG_STRM_TPUT_MAX_UDP_AC0);
-	E(QVSP_CFG_STRM_TPUT_MAX_UDP_AC1);
-	E(QVSP_CFG_STRM_TPUT_MAX_UDP_AC2);
-	E(QVSP_CFG_STRM_TPUT_MAX_UDP_AC3);
-	E(QVSP_CFG_STRM_ENABLE_WAIT);
-	E(QVSP_CFG_STRM_AGE_MAX);
-	E(QVSP_CFG_AGE_CHK_INTV);
-	E(QVSP_CFG_3RDPT_CTL);
-	E(QVSP_CFG_3RDPT_LOCAL_THROT);
-	E(QVSP_CFG_3RDPT_QTN);
-	E(QVSP_CFG_BA_THROT_INTV);
-	E(QVSP_CFG_BA_THROT_DUR_MIN);
-	E(QVSP_CFG_BA_THROT_DUR_STEP);
-	E(QVSP_CFG_BA_THROT_WINSIZE_MIN);
-	E(QVSP_CFG_BA_THROT_WINSIZE_MAX);
-	E(QVSP_CFG_WME_THROT_AC);
-	E(QVSP_CFG_WME_THROT_AIFSN);
-	E(QVSP_CFG_WME_THROT_ECWMIN);
-	E(QVSP_CFG_WME_THROT_ECWMAX);
-	E(QVSP_CFG_WME_THROT_TXOPLIMIT);
-	E(QVSP_CFG_WME_THROT_THRSH_DISABLED);
-	E(QVSP_CFG_WME_THROT_THRSH_VICTIM);
-	E(QVSP_CFG_EVENT_LOG_LVL);
-	E(QVSP_CFG_DEBUG_LOG_LVL);
-	E(QVSP_CFG_MAX);
-	}
-	return "unknown!";
-}
-
-static const char *qvspdoc_enumstr_rule_param(enum qvsp_rule_param_e e)
-{
-	switch (e) {
-	E(QVSP_RULE_PARAM_DIR);
-	E(QVSP_RULE_PARAM_VAPPRI);
-	E(QVSP_RULE_PARAM_AC);
-	E(QVSP_RULE_PARAM_PROTOCOL);
-	E(QVSP_RULE_PARAM_TPUT_MIN);
-	E(QVSP_RULE_PARAM_TPUT_MAX);
-	E(QVSP_RULE_PARAM_COST_MIN);
-	E(QVSP_RULE_PARAM_COST_MAX);
-	E(QVSP_RULE_PARAM_ORDER);
-	E(QVSP_RULE_PARAM_THROT_POLICY);
-	E(QVSP_RULE_PARAM_DEMOTE);
-	E(QVSP_RULE_PARAM_MAX);
-	}
-	return "unknown!";
-}
-
-static const char *qvspdoc_enumstr_rule_order(enum qvsp_rule_order_e e)
-{
-	switch (e) {
-	E(QVSP_RULE_ORDER_GREATEST_COST_NODE);
-	E(QVSP_RULE_ORDER_LEAST_COST_NODE);
-	E(QVSP_RULE_ORDER_GREATEST_NODE_INV_PHY_RATE);
-	E(QVSP_RULE_ORDER_LEAST_NODE_INV_PHY_RATE);
-	E(QVSP_RULE_ORDER_GREATEST_COST_STREAM);
-	E(QVSP_RULE_ORDER_LEAST_COST_STREAM);
-	E(QVSP_RULE_ORDER_NEWEST);
-	E(QVSP_RULE_ORDER_OLDEST);
-	E(QVSP_RULE_ORDER_LOWEST_TPUT);
-	E(QVSP_RULE_ORDER_HIGHEST_TPUT);
-	E(QVSP_RULE_ORDER_MAX);
-	}
-	return "unknown!";
-}
-
-static const char *qvspdoc_enumstr_rule_dir(enum qvsp_rule_dir_e e)
-{
-	switch (e) {
-	E(QVSP_RULE_DIR_ANY);
-	E(QVSP_RULE_DIR_TX);
-	E(QVSP_RULE_DIR_RX);
-	}
-	return "unknown!";
-}
-
-static const char *qvsp_rule_dir_descs[] = QVSP_RULE_DIR_DESCS;
-
-static void create_cfg_table(void)
-{
-	int i;
-	const struct qvsp_cfg_param *param;
-
-	if (0) {
-		printf(" * <TABLE>\n");
-		printf(" * <TR> <TD> \\b Enum </TD> <TD> \\b Name </TD> <TD> \\b Units </TD> "
-				"<TD> \\b Default </TD> <TD> \\b Min </TD> <TD> \\b Max </TD> <TD> \\b Description </TD> </TR>\n");
-
-		for (i = 0; i < QVSP_CFG_MAX; i++) {
-			param = &qvsp_cfg_params[i];
-			printf(" * <TR><TD>%s (%d)</TD><TD>%s</TD><TD>%s</TD><TD>%u</TD><TD>%u</TD><TD>%u</TD><TD>%s</TD></TR>\n",
-					qvspdoc_enumstr_cfg(i),
-					i,
-					param->name,
-					param->units,
-					param->default_val,
-					param->min_val,
-					param->max_val,
-					param->desc);
-		}
-
-		printf(" * </TABLE>\n");
-	} else if(0) {
-		static int colwidths[] = {34, 23, 10, 8, 8, 8, 32};
-
-		printf(" * @section vsp_cfg_table VSP Configuration options\n");
-		printf(" *\n");
-		printf(" * @code\n");
-
-
-		printf(" *  %-*s%-*s%-*s%-*s%-*s%-*s%-*s\n",
-				colwidths[0], "Enum",
-				colwidths[1], "Name",
-				colwidths[2], "Units",
-				colwidths[3], "Default",
-				colwidths[4], "Minimum",
-				colwidths[5], "Maximum",
-				colwidths[6], "Description");
-
-		for (i = 0; i < QVSP_CFG_MAX; i++) {
-			param = &qvsp_cfg_params[i];
-			printf(" * %2d %-*s%-*s%-*s%-*u%-*u%-*u%-*s\n",
-					i, colwidths[0] - 2, qvspdoc_enumstr_cfg(i),
-					colwidths[1], param->name,
-					colwidths[2], param->units,
-					colwidths[3], param->default_val,
-					colwidths[4], param->min_val,
-					colwidths[5], param->max_val,
-					colwidths[6], param->desc);
-		}
-
-		printf(" * @endcode\n *\n");
-	} else {
-		printf(" * @section vsp_cfg_table VSP Configuration options\n");
-
-		for (i = 0; i < QVSP_CFG_MAX; i++) {
-			param = &qvsp_cfg_params[i];
-			printf(" * \\li %d: %s - %s<br>Default: %u %s [%u - %u].  %s\n",
-					i,
-					qvspdoc_enumstr_cfg(i),
-					param->name,
-					param->default_val,
-					param->units,
-					param->min_val,
-					param->max_val,
-					param->desc);
-		}
-	}
-}
-
-static void create_rule_table(void)
-{
-	int i;
-	int j;
-	const struct qvsp_rule_param *rule_param;
-
-	printf(" * @section vsp_rule_table VSP Rule options\n");
-	for (i = 0; i < QVSP_RULE_PARAM_MAX; i++) {
-		rule_param = &qvsp_rule_params[i];
-		printf(" * - %d: %s - %s<br>[%u - %u %s].  %s\n",
-				i,
-				qvspdoc_enumstr_rule_param(i),
-				rule_param->name,
-				rule_param->min_val,
-				rule_param->max_val,
-				rule_param->units,
-				rule_param->desc);
-		switch (i) {
-			case QVSP_RULE_PARAM_DIR:
-				printf(" * <br>Possible values are:\n");
-				for (j = 0; j < ARRAY_SIZE(qvsp_rule_dir_descs); j++) {
-					printf("    - %s - %s\n",
-							qvspdoc_enumstr_rule_dir(j),
-							qvsp_rule_dir_descs[j]);
-				}
-				break;
-			case QVSP_RULE_PARAM_VAPPRI:
-				printf(" * <br>Possible values are:\n");
-				printf("     - 0x01 = VAP priority 0\n");
-				printf("     - 0x02 = VAP priority 1\n");
-				printf("     - 0x04 = VAP priority 2\n");
-				printf("     - 0x08 = VAP priority 3\n");
-				break;
-			case QVSP_RULE_PARAM_AC:
-				printf(" * <br>Possible values are:\n");
-				printf("     - 0x01 = Best Effort (0)\n");
-				printf("     - 0x02 = Background (1)\n");
-				printf("     - 0x04 = Voice (2)\n");
-				printf("     - 0x08 = Video (3)\n");
-				break;
-			case QVSP_RULE_PARAM_ORDER:
-				printf(" * <br>Allowed match orderings are (see enum qvsp_rule_order_e):\n");
-				for (j = 0; j < QVSP_RULE_ORDER_MAX; j++) {
-					printf("    - %d: %s<br>%s\n",
-							j,
-							qvspdoc_enumstr_rule_order(j),
-							qvsp_rule_order_desc[j]);
-				}
-				break;
-			default:
-				break;
-		}
-	}
-}
-
-int main(int argc, char **argv)
-{
-	printf("/** @addtogroup vsp_group\n\n");
-	create_cfg_table();
-	create_rule_table();
-	printf(" */\n");
-	return 0;
-}
diff --git a/quantenna/common/doxygen/qtn_doxyfile.pl b/quantenna/common/doxygen/qtn_doxyfile.pl
deleted file mode 100644
index db0fec1..0000000
--- a/quantenna/common/doxygen/qtn_doxyfile.pl
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/perl -w
-use strict;
-use warnings;
-use File::Basename;
-use Cwd 'abs_path';
-
-my $script_path = dirname(__FILE__);
-my $checkout_root = abs_path("$script_path/../../");
-
-my $p4rev = `p4 changelists ...\#have | head -1 | awk '{print \$2}'`;
-my $p4client = `p4 info | grep 'Client name' | awk '{print \$NF}'`;
-
-$p4rev =~ s/^\s*(.*?)\s*$/$1/g;
-$p4client =~ s/^\s*(.*?)\s*$/$1/g;
-
-my $project_name = shift @ARGV;
-my $output_path = shift @ARGV;
-
-$output_path =~ s/[^a-z0-9_-]+/_/g;
-$output_path = "$checkout_root/doxygen/$output_path/";
-system("mkdir -p $output_path");
-
-my $project_number = $p4client . "@" . $p4rev;
-
-my $inputs = join(" ", @ARGV);
-
-my $doxyfile = `cat $script_path/Doxyfile_template`;
-$doxyfile =~ s/__PROJECT_NAME__/\"$project_name\"/;
-$doxyfile =~ s/__PROJECT_NUMBER__/$project_number/;
-$doxyfile =~ s/__OUTPUT_DIRECTORY__/$output_path/;
-$doxyfile =~ s/__INPUT__/$inputs/;
-
-warn "$0: PROJECT_NAME     = $project_name\n";
-warn "$0: PROJECT_NUMBER   = $project_number\n";
-warn "$0: OUTPUT_DIRECTORY = $output_path\n";
-warn "$0: INPUT            = $inputs\n";
-
-print $doxyfile;
-
diff --git a/quantenna/common/doxygen/qtn_doxyfile_pdf.pl b/quantenna/common/doxygen/qtn_doxyfile_pdf.pl
deleted file mode 100644
index 34af2d2..0000000
--- a/quantenna/common/doxygen/qtn_doxyfile_pdf.pl
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/usr/bin/perl -w
-use strict;
-use warnings;
-use File::Basename;
-use Cwd 'abs_path';
-use Getopt::Long;
-
-my $script_path = dirname(__FILE__);
-my $checkout_root = abs_path("$script_path/../../");
-
-#my $p4rev = `p4 changelists ...\#have | head -1 | awk '{print \$2}'`;
-#my $p4client = `p4 info | grep 'Client name' | awk '{print \$NF}'`;
-
-#$p4rev =~ s/^\s*(.*?)\s*$/$1/g;
-#$p4client =~ s/^\s*(.*?)\s*$/$1/g;
-
-my @exclusions;
-my @predefined;
-my $internal = undef;
-
-GetOptions(
-	"exclusions=s"	=> \@exclusions,
-	"predefined=s"	=> \@predefined,
-	"internal"	=> \$internal,
-);
-
-my $doxyfile_name = shift @ARGV;
-my $project_name = shift @ARGV;
-my $output_path = shift @ARGV;
-my $revision = shift @ARGV;
-
-if ($internal) {
-	$internal = "YES";
-} else {
-	$internal = "NO";
-}
-
-$output_path =~ s/[^a-z0-9_-]+/_/g;
-$output_path = "$checkout_root/doxygen/$output_path/";
-system("mkdir -p $output_path");
-
-my $inputs = join(" ", @ARGV);
-
-my $doxyfile = `cat $script_path/$doxyfile_name`;
-$doxyfile =~ s/__PROJECT_NAME__/\"$project_name\"/;
-$doxyfile =~ s/__PROJECT_NUMBER__/\"$revision\"/;
-$doxyfile =~ s/__OUTPUT_DIRECTORY__/$output_path/;
-$doxyfile =~ s/__EXCLUDE_SYMBOLS__/"@exclusions"/e;
-$doxyfile =~ s/__PREDEFINED__/"@predefined"/e;
-$doxyfile =~ s/__INTERNAL_DOCS__/$internal/;
-$doxyfile =~ s/__INPUT__/$inputs/;
-
-warn "$0: PROJECT_NAME     = $project_name\n";
-warn "$0: OUTPUT_DIRECTORY = $output_path\n";
-warn "$0: EXCLUDE_SYMBOLS  = @exclusions\n";
-warn "$0: PREDEFINED       = @predefined\n";
-warn "$0: INPUT            = $inputs\n";
-
-print $doxyfile;
-
diff --git a/quantenna/common/doxygen/watermark.pdf b/quantenna/common/doxygen/watermark.pdf
deleted file mode 100644
index fbb7dd3..0000000
--- a/quantenna/common/doxygen/watermark.pdf
+++ /dev/null
Binary files differ