This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

added documentation and multi-platform support (AARCH_64)

Ivan Ilak (Apr 1, 2023, 5:45 PM +0200) 48abd3c6 6d5f53e2

+764 -2731
+269
.doxyfile
··· 1 + DOXYFILE_ENCODING = UTF-8 2 + PROJECT_NAME = "piOS" 3 + PROJECT_NUMBER = 0.1 4 + PROJECT_LOGO = 5 + OUTPUT_DIRECTORY = docs 6 + CREATE_SUBDIRS = NO 7 + ALLOW_UNICODE_NAMES = NO 8 + OUTPUT_LANGUAGE = English 9 + BRIEF_MEMBER_DESC = YES 10 + REPEAT_BRIEF = YES 11 + ABBREVIATE_BRIEF = "The $name class" \ 12 + "The $name widget" \ 13 + "The $name file" \ 14 + is \ 15 + provides \ 16 + specifies \ 17 + contains \ 18 + represents \ 19 + a \ 20 + an \ 21 + the 22 + ALWAYS_DETAILED_SEC = NO 23 + INLINE_INHERITED_MEMB = NO 24 + FULL_PATH_NAMES = YES 25 + STRIP_FROM_PATH = 26 + STRIP_FROM_INC_PATH = 27 + SHORT_NAMES = NO 28 + JAVADOC_AUTOBRIEF = NO 29 + JAVADOC_BANNER = NO 30 + QT_AUTOBRIEF = NO 31 + MULTILINE_CPP_IS_BRIEF = NO 32 + INHERIT_DOCS = YES 33 + SEPARATE_MEMBER_PAGES = NO 34 + TAB_SIZE = 4 35 + ALIASES = 36 + OPTIMIZE_OUTPUT_FOR_C = YES 37 + OPTIMIZE_OUTPUT_JAVA = NO 38 + OPTIMIZE_FOR_FORTRAN = NO 39 + OPTIMIZE_OUTPUT_VHDL = NO 40 + OPTIMIZE_OUTPUT_SLICE = NO 41 + EXTENSION_MAPPING = 42 + MARKDOWN_SUPPORT = YES 43 + TOC_INCLUDE_HEADINGS = 5 44 + AUTOLINK_SUPPORT = YES 45 + BUILTIN_STL_SUPPORT = NO 46 + CPP_CLI_SUPPORT = NO 47 + SIP_SUPPORT = NO 48 + IDL_PROPERTY_SUPPORT = YES 49 + DISTRIBUTE_GROUP_DOC = NO 50 + GROUP_NESTED_COMPOUNDS = NO 51 + SUBGROUPING = YES 52 + INLINE_GROUPED_CLASSES = NO 53 + INLINE_SIMPLE_STRUCTS = NO 54 + TYPEDEF_HIDES_STRUCT = NO 55 + LOOKUP_CACHE_SIZE = 0 56 + EXTRACT_ALL = NO 57 + EXTRACT_PRIVATE = NO 58 + EXTRACT_PRIV_VIRTUAL = NO 59 + EXTRACT_PACKAGE = NO 60 + EXTRACT_STATIC = NO 61 + EXTRACT_LOCAL_CLASSES = YES 62 + EXTRACT_LOCAL_METHODS = NO 63 + EXTRACT_ANON_NSPACES = NO 64 + HIDE_UNDOC_MEMBERS = NO 65 + HIDE_UNDOC_CLASSES = NO 66 + HIDE_FRIEND_COMPOUNDS = NO 67 + HIDE_IN_BODY_DOCS = NO 68 + INTERNAL_DOCS = NO 69 + CASE_SENSE_NAMES = YES 70 + HIDE_SCOPE_NAMES = NO 71 + HIDE_COMPOUND_REFERENCE= NO 72 + SHOW_INCLUDE_FILES = YES 73 + SHOW_GROUPED_MEMB_INC = NO 74 + FORCE_LOCAL_INCLUDES = NO 75 + INLINE_INFO = YES 76 + SORT_MEMBER_DOCS = YES 77 + SORT_BRIEF_DOCS = NO 78 + SORT_MEMBERS_CTORS_1ST = NO 79 + SORT_GROUP_NAMES = NO 80 + SORT_BY_SCOPE_NAME = NO 81 + STRICT_PROTO_MATCHING = NO 82 + GENERATE_TODOLIST = YES 83 + GENERATE_TESTLIST = YES 84 + GENERATE_BUGLIST = YES 85 + GENERATE_DEPRECATEDLIST= YES 86 + ENABLED_SECTIONS = 87 + MAX_INITIALIZER_LINES = 30 88 + SHOW_USED_FILES = YES 89 + SHOW_FILES = YES 90 + SHOW_NAMESPACES = YES 91 + FILE_VERSION_FILTER = 92 + LAYOUT_FILE = 93 + CITE_BIB_FILES = 94 + QUIET = NO 95 + WARNINGS = YES 96 + WARN_IF_UNDOCUMENTED = YES 97 + WARN_IF_DOC_ERROR = YES 98 + WARN_NO_PARAMDOC = NO 99 + WARN_AS_ERROR = NO 100 + WARN_FORMAT = "$file:$line: $text" 101 + WARN_LOGFILE = 102 + INPUT_ENCODING = UTF-8 103 + FILE_PATTERNS = *.c *.h *.md 104 + RECURSIVE = YES 105 + EXCLUDE = 106 + EXCLUDE_SYMLINKS = NO 107 + EXCLUDE_PATTERNS = 108 + EXCLUDE_SYMBOLS = 109 + EXAMPLE_PATH = 110 + EXAMPLE_PATTERNS = * 111 + EXAMPLE_RECURSIVE = NO 112 + IMAGE_PATH = 113 + INPUT_FILTER = 114 + FILTER_PATTERNS = 115 + FILTER_SOURCE_FILES = NO 116 + FILTER_SOURCE_PATTERNS = 117 + SOURCE_BROWSER = NO 118 + INLINE_SOURCES = NO 119 + STRIP_CODE_COMMENTS = YES 120 + REFERENCED_BY_RELATION = NO 121 + REFERENCES_RELATION = NO 122 + REFERENCES_LINK_SOURCE = YES 123 + SOURCE_TOOLTIPS = YES 124 + USE_HTAGS = NO 125 + VERBATIM_HEADERS = YES 126 + ALPHABETICAL_INDEX = YES 127 + IGNORE_PREFIX = 128 + GENERATE_HTML = YES 129 + HTML_OUTPUT = html 130 + HTML_FILE_EXTENSION = .html 131 + HTML_HEADER = 132 + HTML_FOOTER = 133 + HTML_STYLESHEET = 134 + HTML_EXTRA_STYLESHEET = 135 + HTML_EXTRA_FILES = 136 + HTML_COLORSTYLE_HUE = 200 137 + HTML_COLORSTYLE_SAT = 80 138 + HTML_COLORSTYLE_GAMMA = 120 139 + HTML_TIMESTAMP = NO 140 + HTML_DYNAMIC_MENUS = YES 141 + HTML_DYNAMIC_SECTIONS = NO 142 + HTML_INDEX_NUM_ENTRIES = 100 143 + GENERATE_DOCSET = NO 144 + DOCSET_FEEDNAME = "Doxygen generated docs" 145 + DOCSET_BUNDLE_ID = org.doxygen.Project 146 + DOCSET_PUBLISHER_ID = org.doxygen.Publisher 147 + DOCSET_PUBLISHER_NAME = Publisher 148 + GENERATE_HTMLHELP = NO 149 + CHM_FILE = 150 + HHC_LOCATION = 151 + GENERATE_CHI = NO 152 + CHM_INDEX_ENCODING = 153 + BINARY_TOC = NO 154 + TOC_EXPAND = NO 155 + GENERATE_QHP = NO 156 + QCH_FILE = 157 + QHP_NAMESPACE = org.doxygen.Project 158 + QHP_VIRTUAL_FOLDER = doc 159 + QHP_CUST_FILTER_NAME = 160 + QHP_CUST_FILTER_ATTRS = 161 + QHP_SECT_FILTER_ATTRS = 162 + QHG_LOCATION = 163 + GENERATE_ECLIPSEHELP = NO 164 + ECLIPSE_DOC_ID = org.doxygen.Project 165 + DISABLE_INDEX = YES 166 + GENERATE_TREEVIEW = YES 167 + ENUM_VALUES_PER_LINE = 1 168 + TREEVIEW_WIDTH = 250 169 + EXT_LINKS_IN_WINDOW = NO 170 + FORMULA_FONTSIZE = 10 171 + FORMULA_MACROFILE = 172 + USE_MATHJAX = NO 173 + MATHJAX_FORMAT = HTML-CSS 174 + MATHJAX_RELPATH = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/ 175 + MATHJAX_EXTENSIONS = 176 + MATHJAX_CODEFILE = 177 + SEARCHENGINE = YES 178 + SERVER_BASED_SEARCH = NO 179 + EXTERNAL_SEARCH = NO 180 + SEARCHENGINE_URL = 181 + SEARCHDATA_FILE = searchdata.xml 182 + EXTERNAL_SEARCH_ID = 183 + EXTRA_SEARCH_MAPPINGS = 184 + GENERATE_LATEX = YES 185 + LATEX_OUTPUT = latex 186 + LATEX_CMD_NAME = 187 + MAKEINDEX_CMD_NAME = makeindex 188 + LATEX_MAKEINDEX_CMD = makeindex 189 + COMPACT_LATEX = NO 190 + PAPER_TYPE = a4 191 + EXTRA_PACKAGES = 192 + LATEX_HEADER = 193 + LATEX_FOOTER = 194 + LATEX_EXTRA_STYLESHEET = 195 + LATEX_EXTRA_FILES = 196 + PDF_HYPERLINKS = YES 197 + USE_PDFLATEX = YES 198 + LATEX_BATCHMODE = NO 199 + LATEX_HIDE_INDICES = NO 200 + LATEX_BIB_STYLE = plain 201 + LATEX_TIMESTAMP = NO 202 + LATEX_EMOJI_DIRECTORY = 203 + GENERATE_RTF = NO 204 + RTF_OUTPUT = rtf 205 + COMPACT_RTF = NO 206 + RTF_HYPERLINKS = NO 207 + RTF_STYLESHEET_FILE = 208 + RTF_EXTENSIONS_FILE = 209 + GENERATE_MAN = YES 210 + MAN_OUTPUT = man 211 + MAN_EXTENSION = .3 212 + MAN_SUBDIR = 213 + MAN_LINKS = NO 214 + GENERATE_XML = NO 215 + XML_OUTPUT = xml 216 + XML_PROGRAMLISTING = YES 217 + XML_NS_MEMB_FILE_SCOPE = NO 218 + GENERATE_DOCBOOK = NO 219 + DOCBOOK_OUTPUT = docbook 220 + GENERATE_AUTOGEN_DEF = NO 221 + GENERATE_PERLMOD = NO 222 + PERLMOD_LATEX = NO 223 + PERLMOD_PRETTY = YES 224 + PERLMOD_MAKEVAR_PREFIX = 225 + ENABLE_PREPROCESSING = YES 226 + MACRO_EXPANSION = NO 227 + EXPAND_ONLY_PREDEF = NO 228 + SEARCH_INCLUDES = YES 229 + INCLUDE_PATH = 230 + INCLUDE_FILE_PATTERNS = 231 + PREDEFINED = 232 + EXPAND_AS_DEFINED = 233 + SKIP_FUNCTION_MACROS = YES 234 + TAGFILES = 235 + GENERATE_TAGFILE = 236 + ALLEXTERNALS = NO 237 + EXTERNAL_GROUPS = YES 238 + EXTERNAL_PAGES = YES 239 + DIA_PATH = 240 + HIDE_UNDOC_RELATIONS = YES 241 + HAVE_DOT = YES 242 + DOT_NUM_THREADS = 0 243 + DOT_FONTPATH = 244 + CLASS_GRAPH = YES 245 + COLLABORATION_GRAPH = YES 246 + GROUP_GRAPHS = YES 247 + UML_LOOK = NO 248 + UML_LIMIT_NUM_FIELDS = 10 249 + TEMPLATE_RELATIONS = NO 250 + INCLUDE_GRAPH = YES 251 + INCLUDED_BY_GRAPH = YES 252 + CALL_GRAPH = NO 253 + CALLER_GRAPH = NO 254 + GRAPHICAL_HIERARCHY = YES 255 + DIRECTORY_GRAPH = YES 256 + DOT_IMAGE_FORMAT = png 257 + INTERACTIVE_SVG = NO 258 + DOT_PATH = 259 + DOTFILE_DIRS = 260 + MSCFILE_DIRS = 261 + DIAFILE_DIRS = 262 + PLANTUML_JAR_PATH = 263 + PLANTUML_CFG_FILE = 264 + PLANTUML_INCLUDE_PATH = 265 + DOT_GRAPH_MAX_NODES = 50 266 + MAX_DOT_GRAPH_DEPTH = 0 267 + DOT_MULTI_TARGETS = NO 268 + GENERATE_LEGEND = YES 269 + DOT_CLEANUP = YES
+2
.gitignore
··· 9 9 **/build 10 10 11 11 **/export 12 + 13 + **/docs
+2 -2
CMakeLists.txt
··· 3 3 set(CMAKE_SYSTEM_NAME Linux) 4 4 set(CMAKE_SYSTEM_PROCESSOR ARM) 5 5 6 - set(CMAKE_C_COMPILER "arm-none-eabi-gcc") 7 - set(CMAKE_ASM_COMPILER "arm-none-eabi-gcc") 6 + include(cmake/target.cmake) 7 + setup("MODEL_0" ${CMAKE_CURRENT_SOURCE_DIR}) 8 8 9 9 # We are using this inside of a docker container that is cross-compiling and we 10 10 # thus want to skip any test, since they will inevitably fail
+10 -2
README.md
··· 11 11 Since I don't belive there is one perfect source for the relevant topics, I spend a lot of time reading code from others. 12 12 * [armOS (*Thanos Koutroubas*)](https://github.com/thanoskoutr/armOS): This project is pretty much where I want to be at the end (I guess), and its nice to see what will be necessary for this... 13 13 I'd like to make clear that a good chunk of the code in this repository is almost 1-to-1 from the armOS project. I really like what was done there and I think its nice to see how all of the parts are supposed to work in the end. 14 - I changed some things were I found it appropritate, but at the end of the day I think Thanos did a great job and since I'm just trying to learn more about the subject, this project was a godsend! 14 + I changed some things were I found it appropritate, but at the end of the day I think Thanos did a great job and since I'm just trying to learn more about the subject, this project was a godsend! 15 + Also, a good chunk of the documentation is taken from him... Looking up all the GPIO-addresses etc. must have been a nightmare. 15 16 * [Bare metal Raspberry Pi 3 tutorials (*Zoltan Baldaszti*)](https://github.com/bztsrc/raspi3-tutorial/): Really nice tutorial that introduces the basic ways of how HW and SW should interact with each other. 16 17 17 18 ## How to build the project? ··· 51 52 While the ultimate goal of course is to run the kernel on a RaspberryPi, for development it is useful to also run it in `qemu`. For the `32-bit` version you can use 52 53 ```bash 53 54 qemu-system-arm -M raspi0 -serial null stdio -kernel ${PATH_TO_ELF_FILE}/kernel7.elf 54 - ``` 55 + ``` 56 + 57 + ## How to generate documentation? 58 + To generate the documentation you can run 59 + ```bash 60 + doxygen .doxyfile 61 + ``` 62 + Please make sure to install doxygen and graphviz.
+42
arch/armv8-a/boot.S
··· 1 + // To keep this in the first portion of the binary 2 + .section ".text.boot" 3 + 4 + .global _start 5 + 6 + /* 7 + * Entry point for the kernel 8 + * x0 -> 32 bit pointer to DTB in memory (primary core only) / 0 (secondary cores) 9 + * x1 -> 0 10 + * x2 -> 0 11 + * x3 -> 0 12 + * x4 -> 32 bit kernel entry point, _start location 13 + * Preserve these registers as argument for kernel_main 14 + */ 15 + 16 + _start: 17 + /* Check if processor ID is zero (executing on main core), else hang */ 18 + mrs x1, mpidr_el1 19 + and x1, x1, #3 20 + cbz x1, 2f 21 + /* We are not on the main core, so hang in an infinite wait loop */ 22 + 1: wfe 23 + b 1b 24 + 2: /* Code executing only by main core (cpu id == 0) */ 25 + 26 + /* 27 + * With the latest firmware, only the primary core runs (core 0), and 28 + * the secondary cores are awaiting in a spin loop. 29 + */ 30 + mov sp, #0x80000 // Setup the stack (64 bit). 31 + 32 + ldr x5, =__bss_start // Clear out BSS. 33 + ldr w6, =__bss_size 34 + 3: cbz w6, 4f 35 + str xzr, [x5], #8 36 + sub w6, w6, #1 37 + cbnz w6, 3b 38 + 39 + 4: bl kernel_main // Call kernel_main (C Code). 40 + // Should not return from here. 41 + 42 + b 1b // For failsafe, halt this core too.
+47
arch/armv8-a/linker.ld
··· 1 + ENTRY(_start) 2 + 3 + SECTIONS 4 + { 5 + /* Starts at LOADER_ADDR. */ 6 + . = 0x80000; 7 + __start = .; 8 + __text_start = .; 9 + .text : 10 + { 11 + KEEP(*(.text.boot)) 12 + *(.text) 13 + } 14 + /* align to page size */ 15 + . = ALIGN(4096); 16 + __text_end = .; 17 + 18 + __rodata_start = .; 19 + .rodata : 20 + { 21 + *(.rodata) 22 + } 23 + /* align to page size */ 24 + . = ALIGN(4096); 25 + __rodata_end = .; 26 + 27 + __data_start = .; 28 + .data : 29 + { 30 + *(.data) 31 + } 32 + /* align to page size */ 33 + . = ALIGN(4096); 34 + __data_end = .; 35 + 36 + __bss_start = .; 37 + .bss : 38 + { 39 + bss = .; 40 + *(.bss) 41 + } 42 + /* align to page size */ 43 + . = ALIGN(4096); 44 + __bss_end = .; 45 + __bss_size = __bss_end - __bss_start; 46 + __end = .; 47 + }
+41
cmake/target.cmake
··· 1 + macro(setup model path) 2 + set(BUILD_DIR ${path}/build/bin) 3 + 4 + if(${model} STREQUAL "MODEL_0") 5 + set(CPU arm1176jzf-s) 6 + set(ARCH_DIR ${path}/arch/armv6) 7 + elseif(${model} STREQUAL "MODEL_2") 8 + set(CPU cortex-a7) 9 + set(ARCH_DIR ${path}/arch/armv7-a) 10 + elseif(${model} STREQUAL "MODEL_3") 11 + set(ARCH_DIR ${path}/arch/armv8-a) 12 + set(CPU cortex-a53) 13 + elseif(${model} STREQUAL "MODEL_4") 14 + set(ARCH_DIR ${path}/arch/armv8-a) 15 + set(CPU cortex-a72) 16 + endif() 17 + 18 + if(${model} STREQUAL "MODEL_0" 19 + OR ${model} STREQUAL "MODEL_2") 20 + setup_arch("32") 21 + else() 22 + setup_arch("64") 23 + endif() 24 + 25 + set(MODEL ${model}) 26 + 27 + endmacro() 28 + 29 + macro(setup_arch arch) 30 + if(${arch} STREQUAL "32") 31 + set(ARCH "AARCH_32") 32 + set(CMAKE_C_COMPILER "arm-none-eabi-gcc") 33 + set(CMAKE_ASM_COMPILER "arm-none-eabi-gcc") 34 + set(KERNEL kernel7) 35 + else() 36 + set(ARCH "AARCH_64") 37 + set(CMAKE_C_COMPILER "aarch64-none-elf-gcc") 38 + set(CMAKE_ASM_COMPILER "aarch64-none-elf-gcc") 39 + set(KERNEL kernel8) 40 + endif() 41 + endmacro()
+14 -7
os/CMakeLists.txt
··· 1 - # Set variables 2 - set(KERNEL kernel7) 3 - set(CPU arm1176jzf-s) 4 - 5 - set(BUILD_DIR ${PROJECT_SOURCE_DIR}/build/bin) 6 - set(ARCH_DIR ${PROJECT_SOURCE_DIR}/arch/armv6) 7 - 8 1 add_subdirectory(src/common) 9 2 10 3 # If build with Makefiles, make output verbose. ··· 23 16 24 17 # Create minimal ELF binary from sources. 25 18 add_executable(${KERNEL}.elf ${SOURCES}) 19 + 20 + if(${ARCH} STREQUAL "AARCH_32") 21 + if(${MODEL} STREQUAL "MODEL_0") 22 + target_compile_definitions(${KERNEL}.elf PUBLIC MODEL_0 AARCH_32) 23 + elseif(${MODEL} STREQUAL "MODEL_2") 24 + target_compile_definitions(${KERNEL}.elf PUBLIC MODEL_2 AARCH_32) 25 + endif() 26 + elseif(${ARCH} STREQUAL "AARCH_64") 27 + if(${MODEL} STREQUAL "MODEL_3") 28 + target_compile_definitions(${KERNEL}.elf PUBLIC MODEL_3 AARCH_64) 29 + elseif(${MODEL} STREQUAL "MODEL_4") 30 + target_compile_definitions(${KERNEL}.elf PUBLIC MODEL_4 AARCH_64) 31 + endif() 32 + endif() 26 33 27 34 # The compiler must make no assumptions about the build. 28 35 set_target_properties(${KERNEL}.elf PROPERTIES LINK_FLAGS "-nostdlib -nostartfiles")
+32 -6
os/include/common/stdlib.h
··· 1 + /** 2 + * @file 3 + * @brief Implement basic functionality of the stdint-C-library. 4 + */ 5 + 1 6 #ifndef STDLIB_H 2 7 #define STDLIB_H 3 8 4 - #include <stdint.h> 9 + /** 10 + * @brief int -> str(int) 11 + * 12 + * Converts an int (Only base 10 supported for now) 13 + * to a null-terminated string using the specified base. 14 + * @param value Value to be converted to a string. 15 + * @return A pointer to the resulting null-terminated string. 16 + */ 17 + char* itoa(int value); 5 18 6 - // Convert base 10 integer to null-terminated string. 7 - char* iota(int32_t value); 8 - 9 - // Convert string into integer. 10 - int32_t atoi(const char* str); 19 + /* 20 + * Converts an int to a null-terminated string using the specified base. 21 + * @param value Value to be converted to a string. 22 + * @param base Numerical base used to represent the value as a string. 23 + * Where 10 means decimal base, 16 hexadecimal, 8 octal, and 2 binary. 24 + * (Only base 10 supported for now) 25 + * @return A pointer to the resulting null-terminated string. 26 + */ 27 + // char *itoa(int value, int base); 11 28 29 + /** 30 + * @brief str -> int 31 + * 32 + * Converts a string to an int 33 + * @param str This is the string representation of an integral number. 34 + * @return The converted integral number as an int value. 35 + * If no valid conversion could be performed, it returns zero. 36 + */ 37 + int atoi(const char* str); 12 38 13 39 #endif // STDLIB_H
+47 -4
os/include/common/string.h
··· 1 + /** 2 + * @file 3 + * @brief Some basic functions to manipulate strings. 4 + */ 5 + 1 6 #ifndef STRING_H 2 7 #define STRING_H 3 8 4 9 #include <stddef.h> // defines NULL and size_t 5 - #include <stdint.h> 6 10 11 + /** 12 + * @brief Fills the first @a n bytes of the memory area pointed to by @a s with the constant byte @a c. 13 + * @return A pointer to the memory area s. 14 + */ 7 15 void* memset(void* s, int c, size_t n); 16 + 17 + /** 18 + * @brief Copies @a n bytes from memory area @a src to memory area @a dest. The memory areas must not overlap. 19 + * @return A pointer to dest. 20 + */ 8 21 void* memcpy(void* dest, const void* src, size_t n); 9 22 10 - uint32_t strlen(char* str); 23 + /** 24 + * @brief Calculates the length of the string pointed to by @a s, excluding the terminating null byte ('\0'). 25 + * @param s A string pointer. 26 + * @return The number of bytes in the string pointed to by @a s. 27 + */ 28 + size_t strlen(const char* s); 11 29 12 - int32_t strcmp(const char* s1, const char* s2); 30 + /** 31 + * @brief Compares the two strings @a s1 and @a s2. 32 + * @param s1 A string pointer. 33 + * @param s2 A string pointer. 34 + * @return An integer less than, equal to, or greater than 0 if @a s1 is found, 35 + * respectively, to be less than, to match, or be greater than @a s2. 36 + */ 37 + int strcmp(const char* s1, const char* s2); 13 38 39 + /** 40 + * @brief Copies the string pointed to by @a src, including the terminating null byte ('\0'), to the buffer pointed to by @a dest. 41 + * @param dest A string pointer. 42 + * @param src A string pointer. 43 + * @return A pointer to the destination string @a dest. 44 + */ 14 45 char* strcpy(char* dest, const char* src); 46 + 47 + /** 48 + * @brief Appends the @a src string to the @a dest string, overwriting the terminating null byte ('\0') at the end of @a dest, and then adds a terminating null byte. 49 + * @param dest A string pointer. 50 + * @param src A string pointer. 51 + * @return A pointer to the resulting string @a dest. 52 + */ 15 53 char* strcat(char* dest, const char* src); 16 54 17 - void strrev(char* str); 55 + /** 56 + * @brief Reverses a given string in place. 57 + * @param s A string pointer. 58 + * @see strlen() 59 + */ 60 + void strrev(char* s); 18 61 19 62 #endif // STRING_H
+43 -2
os/include/kernel/mmio.h
··· 1 + /** 2 + * @file 3 + * @brief Definition of MMIO functions. 4 + * 5 + * Reading and writing from/to Memory Mapped IO. 6 + */ 7 + 8 + #include <stdint.h> 9 + 1 10 #ifndef MMIO_H 2 11 #define MMIO_H 3 12 4 - #include <stdint.h> 5 - 13 + #ifdef AARCH_32 14 + /** 15 + * @brief Memory-Mapped I/O output 16 + * @param reg 32-bit register address 17 + * @param data 32-bit data 18 + * @details Writes the @a data value to the register at @a reg address. 19 + */ 6 20 void mmio_write(uint32_t reg, uint32_t data); 21 + /** 22 + * \brief Memory-Mapped I/O input 23 + * @param reg 32-bit register address 24 + * @return 32-bit data 25 + * @details Reads register at @a reg address and returns its @a data. 26 + */ 7 27 uint32_t mmio_read(uint32_t reg); 8 28 29 + #elif AARCH_64 30 + /** 31 + * @brief Memory-Mapped I/O output 32 + * @param reg 64-bit register address. 33 + * @param data 32-bit data. 34 + * @details Writes the @a data value to the register at @a reg address. 35 + */ 36 + void mmio_write(uint64_t reg, uint32_t data); 37 + /** 38 + * \brief Memory-Mapped I/O input 39 + * @param reg 64-bit register address. 40 + * @return 32-bit data. 41 + * @details Reads register at @a reg address and returns its @a data. 42 + */ 43 + uint32_t mmio_read(uint64_t reg); 44 + #endif 45 + 46 + /** 47 + * \brief Delays @a count of clock cycles. 48 + * @param count Number of cycles. 49 + */ 9 50 void delay(int32_t count); 10 51 11 52 #endif
+63 -1
os/include/kernel/uart.h
··· 1 + /** 2 + * @file 3 + * @brief Mini UART 4 + */ 5 + 1 6 #ifndef UART_H 2 7 #define UART_H 3 8 9 + /** 10 + * @brief Maximum length for the serial input. 11 + * @warning It is a temporary solution, because of no support for dynamic allocation of memory. 12 + * @see console(), uart_gets(), process.c 13 + */ 4 14 #define MAX_INPUT_LENGTH 80 5 15 16 + /** 17 + * @brief Initializes the UART interface based on the running device. 18 + * @details Basic configuration: 19 + * - Sets Alternative Function 5 for GPIO pins 14, 15, in order to enable mini UART. 20 + * - Disables pull up/down resistors for pins 14, 15. 21 + * - Enables mini UART. 22 + * - Disables auto flow control and disables receiver and transmitter. 23 + * - Enables receive and transmit interrupts. 24 + * - Clears the receive and transmit FIFO, and enables FIFO. 25 + * - Enables 8 bit mode. 26 + * - Sets RTS line to be always high. 27 + * - Sets baud rate at 115200. 28 + * - Enables transmitter and receiver. 29 + * 30 + * @see peripherals/gpio.h, peripherals/aux.h 31 + */ 6 32 void uart_init(); 33 + 34 + /** 35 + * @brief Sends a byte to the UART (serial output). 36 + * @param c The byte sent to the UART. 37 + * @details First waits for the UART to become ready to transmit, 38 + * and then writes the byte @a c to the @ref AUX_MU_IO_REG register. 39 + * @see peripherals/aux.h 40 + */ 7 41 void uart_putc(unsigned char c); 42 + 43 + /** 44 + * @brief Gets a byte to the UART (serial input). 45 + * @return The byte received from the UART. 46 + * @details First waits for the UART to have received something, 47 + * and then reads the contents of the @ref AUX_MU_IO_REG register 48 + * @see peripherals/aux.h 49 + */ 8 50 unsigned char uart_getc(); 51 + 52 + /** 53 + * @brief Sends a string to the UART (serial output). 54 + * @param str A string pointer for the string to send to the UART. 55 + * @details Iterates over the string and prints each char to the serial output. 56 + * @note If a new New Line (`\n`) char is found, it appends a Carriage Return (`\r`) char, 57 + * so there is no need to include the `\r` char in the @a str string. 58 + * @see uart_putc() 59 + */ 9 60 void uart_puts(const char* str); 10 - char* uart_gets(); 61 + 62 + /** 63 + * @brief Gets a string from the UART (serial input). 64 + * @return A pointer to a static char array, that the string is saved. 65 + * @details Reads in a loop a byte from the serial input using the uart_getc() 66 + * function until a New Line (`\n`) or a Carriage Return (`\r`) char is received. 67 + * Echoes back each char to the serial output. 68 + * @note Gets up to @ref MAX_INPUT_LENGTH chars. 69 + * @note Always appends a null terminator (`\0`) at the end of the string. 70 + * @see uart_getc(), MAX_INPUT_LENGTH 71 + */ 72 + char *uart_gets(); 11 73 12 74 #endif // UART_H
+11
os/include/peripherals/aux.h
··· 1 + /** @file 2 + * @brief AUX base adresses. 3 + * 4 + * > The Device has three Auxiliary peripherals: One mini UART and two SPI masters. 5 + * > These three peripheral are grouped together as they share the same area in the peripheral register map and they share a common interrupt. 6 + * > Also all three are controlled by the auxiliary enable register. 7 + */ 8 + 1 9 #ifndef AUX_H 2 10 #define AUX_H 3 11 4 12 #include "gpio.h" 5 13 14 + /** 15 + * @brief Enum containg all the relevant addresses. The offset is again the same for all RPi's, but the base address is not. 16 + */ 6 17 enum 7 18 { 8 19 AUX_BASE = (GPIO_BASE + 0x15000),
+25 -1
os/include/peripherals/base.h
··· 1 + /** 2 + * @file base.h 3 + * @brief Memory-Mapped-IO base address. 4 + * 5 + * The offset from the MMIO-base-address is the same for all RPi's, but the base-address itself depends on the model. 6 + * By setting a compiler directive we can choose for which model we compile the corresponding kernel. 7 + */ 8 + 1 9 #ifndef BASE_H 2 10 #define BASE_H 3 11 12 + /** 13 + * From the datasheet of the BCM2835 (RaspberryPi 0 and 1) 14 + * 15 + * > Peripherals (at physical address 0x20000000 on) are mapped into the kernel virtual address space starting at address 0xF2000000. 16 + * > Thus a peripheral advertised here at bus address 0x7Ennnnnn is available in the ARM kenel at virtual address 0xF2nnnnnn. 17 + * 18 + */ 4 19 enum { 5 - MMIO_BASE = 0x20000000 20 + #ifdef MODEL_0 21 + /** For raspi 0,1 */ 22 + MMIO_BASE = 0x20000000 23 + #elif MODEL_2 || MODEL_3 24 + /** For raspi 2,3 */ 25 + MMIO_BASE = 0x3F000000 26 + #elif MODEL_4 27 + /** For raspi 4 */ 28 + MMIO_BASE = 0xFE000000 29 + #endif 6 30 }; 7 31 8 32 #endif // BASE_H
+26 -4
os/include/peripherals/gpio.h
··· 1 + /** 2 + * @file 3 + * @brief GIPO addresses for the different RPi's 4 + */ 5 + 1 6 #ifndef GPIO_H 2 7 #define GPIO_H 3 8 4 9 #include "base.h" 5 10 11 + /** 12 + * GPIO Pins available functionalities: 5 Alternative Functions, Input, Output. 13 + */ 6 14 typedef enum { 7 15 GF_INPUT = 0, /**< Input */ 8 16 GF_OUTPUT = 1, /**< Output */ ··· 14 22 GF_ALT_5 = 2, /**< Alternative Function 5 */ 15 23 } gpio_func; 16 24 17 - 25 + /** 26 + * @brief GPIO registers addresses. 27 + */ 18 28 enum 19 29 { 20 30 GPIO_BASE = (MMIO_BASE + 0x200000), ··· 58 68 GPAREN1 = (GPIO_BASE + 0x80), /**< GPIO Pin Async. Rising Edge Detect 1 */ 59 69 GPAFEN0 = (GPIO_BASE + 0x88), /**< GPIO Pin Async. Falling Edge Detect 0 */ 60 70 GPAFEN1 = (GPIO_BASE + 0x8C), /**< GPIO Pin Async. Falling Edge Detect 1 */ 61 - 62 - /* Broadcom 2835, 2836, 2837 specific GPIO registers */ 71 + 72 + #if defined(MODEL_0) || defined(MODEL_2) || defined(MODEL_3) 63 73 /** 64 74 * GPIO Pin Pull-up/down Enable 65 75 * Controls actuation of pull up/down to ALL GPIO pins ··· 71 81 */ 72 82 GPPUDCLK0 = (GPIO_BASE + 0x98), /**< GPIO Pin Pull-up/down Enable Clocks 0 */ 73 83 GPPUDCLK1 = (GPIO_BASE + 0x9C) /**< GPIO Pin Pull-up/down Enable Clocks 1 */ 84 + 85 + #elif defined(MODEL_4) 86 + /* 87 + * GPIO Pull-up / Pull-down Registers 0,1,2,3 88 + * Controls the actuation of the internal pull-up/down resistors. 89 + * Reading these registers gives the current pull-state. 90 + */ 91 + GPIO_PUP_PDN_CNTRL_REG0 = (GPIO_BASE + 0xE4), /**< GPIO Pull-up / Pull-down Registers 0 */ 92 + GPIO_PUP_PDN_CNTRL_REG1 = (GPIO_BASE + 0xE8), /**< GPIO Pull-up / Pull-down Registers 1 */ 93 + GPIO_PUP_PDN_CNTRL_REG2 = (GPIO_BASE + 0xEC), /**< GPIO Pull-up / Pull-down Registers 2 */ 94 + GPIO_PUP_PDN_CNTRL_REG3 = (GPIO_BASE + 0xF0) /**< GPIO Pull-up / Pull-down Registers 3 */ 95 + #endif 74 96 }; 75 97 76 - #endif // GPIO_H 98 + #endif //GPIO_H
+4 -4
os/src/common/stdlib.c
··· 1 1 #include "common/stdlib.h" 2 2 #include "common/string.h" 3 3 4 - char* iota(int32_t value) 4 + char* iota(int value) 5 5 { 6 - int32_t i, sign; 6 + int i, sign; 7 7 8 8 /* Declare as static in order to return it */ 9 9 static char s[21]; // Biggest int, 10 digits long ··· 33 33 return s; 34 34 } 35 35 36 - int32_t atoi(const char* str) 36 + int atoi(const char* str) 37 37 { 38 - int32_t num = 0; 38 + int num = 0; 39 39 40 40 while ((*str != '\0') && (*str >= '0' && *str <= '9')) { 41 41 num = num * 10 + (*str - '0');
+3 -3
os/src/common/string.c
··· 25 25 return dest; 26 26 } 27 27 28 - uint32_t strlen(char* str) 28 + size_t strlen(const char* str) 29 29 { 30 30 const char* char_ptr; 31 31 ··· 34 34 return (char_ptr-str); 35 35 } 36 36 37 - int32_t strcmp(const char* s1, const char* s2) 37 + int strcmp(const char* s1, const char* s2) 38 38 { 39 39 while((*s1 != '\0') && (*s1 == *s2)) 40 40 { ··· 79 79 80 80 void strrev(char* str) 81 81 { 82 - int32_t i, j; 82 + int i, j; 83 83 char tmp; 84 84 85 85 for(i = 0, j=strlen(str); i < j; i++, j--)
+10
os/src/kernel/kernel.c
··· 2 2 3 3 #include "kernel/uart.h" 4 4 5 + /*! 6 + * @brief Entry point for the kernel 7 + * @param r0 0 8 + * @param r1 Machine ID 9 + * @param atags Start of ATAGS 10 + */ 11 + #if defined(AARCH_32) 5 12 void kernel_main(uint32_t r0, uint32_t r1, uint32_t atags) 13 + #else 14 + void kernel_main(uint64_t dtb_ptr32, uint64_t x1, uint64_t x2, uint64_t x3) 15 + #endif 6 16 { 7 17 uart_init(); 8 18
+14
os/src/kernel/mmio.c
··· 1 1 #include "kernel/mmio.h" 2 2 3 + #ifdef AARCH_32 3 4 void mmio_write(uint32_t reg, uint32_t data) 4 5 { 5 6 *(volatile uint32_t*)reg = data; 6 7 } 8 + #elif AARCH_64 9 + void mmio_write(uint64_t reg, uint32_t data) 10 + { 11 + *(volatile uint32_t*)reg = data; 12 + } 13 + #endif 7 14 15 + #ifdef AARCH_32 8 16 uint32_t mmio_read(uint32_t reg) 9 17 { 10 18 return *(volatile uint32_t*)reg; 11 19 } 20 + #elif AARCH_64 21 + uint32_t mmio_read(uint64_t reg) 22 + { 23 + return *(volatile uint32_t*)reg; 24 + } 25 + #endif 12 26 13 27 void delay(int32_t count) 14 28 {
+59 -4
os/src/kernel/uart.c
··· 13 13 { 14 14 uint32_t selector; 15 15 16 + /* 17 + * Setup the GPIO pin 14 && 15 18 + */ 19 + 20 + /* Set Alternative Function 5 for GPIO pins 14, 15 21 + * Enables mini UART for boards that use it as a primary UART 22 + * Boards: Raspi Zero W, Raspi 3, Raspi 4 23 + */ 16 24 selector = mmio_read(GPFSEL1); 17 - selector &= ~(7 << 12); 18 - selector |= 2 << 12; 19 - selector &= ~(7 << 15); 20 - selector |= 2 << 15; 25 + selector &= ~(7 << 12); /* Clear GPIO PIN 14 */ 26 + selector |= 2 << 12; /* Set Alt 5 for GPIO PIN 14 */ 27 + selector &= ~(7 << 15); /* Clear GPIO PIN 15 */ 28 + selector |= 2 << 15; /* Set Alt 5 for GPIO PIN 15 */ 21 29 mmio_write(GPFSEL1, selector); 22 30 31 + /* 32 + * Disable pull up/down for pin 14 && 15 33 + */ 34 + #if defined(MODEL_0) || defined(MODEL_2) || defined(MODEL_3) 35 + /* Disable pull up/down for all GPIO pins & delay for 150 cycles */ 23 36 mmio_write(GPPUD, 0x00000000); 24 37 delay(150); 25 38 39 + /* Disable pull up/down for pin 14 (TXD), 15 (RXD) & delay for 150 cycles */ 26 40 mmio_write(GPPUDCLK0, (1 << 14) | (1 << 15)); 27 41 delay(150); 28 42 43 + /* Write 0 to GPPUDCLK0 to make it take effect */ 29 44 mmio_write(GPPUDCLK0, 0x00000000); 30 45 46 + #elif defined(MODEL_4) 47 + /* Disable pull up/down for pin 14 (TXD), 15 (RXD) */ 48 + selector = mmio_read(GPIO_PUP_PDN_CNTRL_REG0); 49 + /* 31:30 bits - Resistor Select for GPIO15 */ 50 + /* 29:28 bits - Resistor Select for GPIO14 */ 51 + /* Clear GPIO15, GPIO14 Resistor Select pins -> Disables pull up/down */ 52 + selector &= ~((1 << 31) | (1 << 30) | (1 << 29) | (1 << 28)); 53 + mmio_write(GPIO_PUP_PDN_CNTRL_REG0, selector); 54 + #endif 55 + 56 + /* Enable mini UART*/ 31 57 mmio_write(AUX_ENABLES, 1); 58 + /* Disable auto flow control and disable receiver and transmitter */ 32 59 mmio_write(AUX_MU_CNTL_REG, 0); 60 + 61 + /* Disable receive and transmit interrupts */ 62 + // mmio_write(AUX_MU_IER_REG, 0); 63 + 64 + /* 65 + * Bit 0: Enable receive interrupt 66 + * Bit 1: Enable transmit interrupt 67 + * Bit 2&3: Required in order to receive interrupts 68 + */ 33 69 mmio_write(AUX_MU_IER_REG, (1 << 0) | (1 << 2) | (1 << 3)); 70 + 71 + /* Clear the receive and transmit FIFO, and enables FIFO */ 34 72 mmio_write(AUX_MU_IIR_REG, 0xC6); 73 + 74 + /* Enable 8 bit mode */ 35 75 mmio_write(AUX_MU_LCR_REG, 3); 76 + /* Set RTS line to be always high */ 36 77 mmio_write(AUX_MU_MCR_REG, 0); 78 + 79 + /* Set baud rate to 115200 */ 80 + #if defined(MODEL_0) || defined(MODEL_2) || defined(MODEL_3) 81 + /* System_Clock_Freq = 250 MHz */ 82 + /* (( System_Clock_Freq / baudrate_reg) / 8 ) - 1 */ 83 + /* ((250,000,000 / 115200) / 8) - 1 = 270 */ 37 84 mmio_write(AUX_MU_BAUD_REG, 270); 85 + #elif defined(MODEL_4) 86 + /* System_Clock_Freq = 500 MHz */ 87 + /* (( System_Clock_Freq / baudrate_reg) / 8 ) - 1 */ 88 + /* ((500,000,000 / 115200) / 8) - 1 = 541 */ 89 + mmio_write(AUX_MU_BAUD_REG, 541); 90 + #endif 91 + 92 + /* Finally, enable transmitter and receiver */ 38 93 mmio_write(AUX_MU_CNTL_REG, 3); 39 94 40 95 }
-2691
test.cfg
··· 1 - # Doxyfile 1.9.6 2 - 3 - # This file describes the settings to be used by the documentation system 4 - # doxygen (www.doxygen.org) for a project. 5 - # 6 - # All text after a double hash (##) is considered a comment and is placed in 7 - # front of the TAG it is preceding. 8 - # 9 - # All text after a single hash (#) is considered a comment and will be ignored. 10 - # The format is: 11 - # TAG = value [value, ...] 12 - # For lists, items can also be appended using: 13 - # TAG += value [value, ...] 14 - # Values that contain spaces should be placed between quotes (\" \"). 15 - # 16 - # Note: 17 - # 18 - # Use doxygen to compare the used configuration file with the template 19 - # configuration file: 20 - # doxygen -x [configFile] 21 - # Use doxygen to compare the used configuration file with the template 22 - # configuration file without replacing the environment variables or CMake type 23 - # replacement variables: 24 - # doxygen -x_noenv [configFile] 25 - 26 - #--------------------------------------------------------------------------- 27 - # Project related configuration options 28 - #--------------------------------------------------------------------------- 29 - 30 - # This tag specifies the encoding used for all characters in the configuration 31 - # file that follow. The default is UTF-8 which is also the encoding used for all 32 - # text before the first occurrence of this tag. Doxygen uses libiconv (or the 33 - # iconv built into libc) for the transcoding. See 34 - # https://www.gnu.org/software/libiconv/ for the list of possible encodings. 35 - # The default value is: UTF-8. 36 - 37 - DOXYFILE_ENCODING = UTF-8 38 - 39 - # The PROJECT_NAME tag is a single word (or a sequence of words surrounded by 40 - # double-quotes, unless you are using Doxywizard) that should identify the 41 - # project for which the documentation is generated. This name is used in the 42 - # title of most generated pages and in a few other places. 43 - # The default value is: My Project. 44 - 45 - PROJECT_NAME = "piOS" 46 - 47 - # The PROJECT_NUMBER tag can be used to enter a project or revision number. This 48 - # could be handy for archiving the generated documentation or if some version 49 - # control system is used. 50 - 51 - PROJECT_NUMBER =0.1 52 - 53 - # Using the PROJECT_BRIEF tag one can provide an optional one line description 54 - # for a project that appears at the top of each page and should give viewer a 55 - # quick idea about the purpose of the project. Keep the description short. 56 - 57 - PROJECT_BRIEF = 58 - 59 - # With the PROJECT_LOGO tag one can specify a logo or an icon that is included 60 - # in the documentation. The maximum height of the logo should not exceed 55 61 - # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy 62 - # the logo to the output directory. 63 - 64 - PROJECT_LOGO = 65 - 66 - # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path 67 - # into which the generated documentation will be written. If a relative path is 68 - # entered, it will be relative to the location where doxygen was started. If 69 - # left blank the current directory will be used. 70 - 71 - OUTPUT_DIRECTORY = 72 - 73 - # If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096 74 - # sub-directories (in 2 levels) under the output directory of each output format 75 - # and will distribute the generated files over these directories. Enabling this 76 - # option can be useful when feeding doxygen a huge amount of source files, where 77 - # putting all generated files in the same directory would otherwise causes 78 - # performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to 79 - # control the number of sub-directories. 80 - # The default value is: NO. 81 - 82 - CREATE_SUBDIRS = NO 83 - 84 - # Controls the number of sub-directories that will be created when 85 - # CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every 86 - # level increment doubles the number of directories, resulting in 4096 87 - # directories at level 8 which is the default and also the maximum value. The 88 - # sub-directories are organized in 2 levels, the first level always has a fixed 89 - # number of 16 directories. 90 - # Minimum value: 0, maximum value: 8, default value: 8. 91 - # This tag requires that the tag CREATE_SUBDIRS is set to YES. 92 - 93 - CREATE_SUBDIRS_LEVEL = 8 94 - 95 - # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII 96 - # characters to appear in the names of generated files. If set to NO, non-ASCII 97 - # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode 98 - # U+3044. 99 - # The default value is: NO. 100 - 101 - ALLOW_UNICODE_NAMES = NO 102 - 103 - # The OUTPUT_LANGUAGE tag is used to specify the language in which all 104 - # documentation generated by doxygen is written. Doxygen will use this 105 - # information to generate all constant output in the proper language. 106 - # Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian, 107 - # Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English 108 - # (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek, 109 - # Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with 110 - # English messages), Korean, Korean-en (Korean with English messages), Latvian, 111 - # Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, 112 - # Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, 113 - # Swedish, Turkish, Ukrainian and Vietnamese. 114 - # The default value is: English. 115 - 116 - OUTPUT_LANGUAGE = English 117 - 118 - # If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member 119 - # descriptions after the members that are listed in the file and class 120 - # documentation (similar to Javadoc). Set to NO to disable this. 121 - # The default value is: YES. 122 - 123 - BRIEF_MEMBER_DESC = YES 124 - 125 - # If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief 126 - # description of a member or function before the detailed description 127 - # 128 - # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the 129 - # brief descriptions will be completely suppressed. 130 - # The default value is: YES. 131 - 132 - REPEAT_BRIEF = YES 133 - 134 - # This tag implements a quasi-intelligent brief description abbreviator that is 135 - # used to form the text in various listings. Each string in this list, if found 136 - # as the leading text of the brief description, will be stripped from the text 137 - # and the result, after processing the whole list, is used as the annotated 138 - # text. Otherwise, the brief description is used as-is. If left blank, the 139 - # following values are used ($name is automatically replaced with the name of 140 - # the entity):The $name class, The $name widget, The $name file, is, provides, 141 - # specifies, contains, represents, a, an and the. 142 - 143 - ABBREVIATE_BRIEF = "The $name class" \ 144 - "The $name widget" \ 145 - "The $name file" \ 146 - is \ 147 - provides \ 148 - specifies \ 149 - contains \ 150 - represents \ 151 - a \ 152 - an \ 153 - the 154 - 155 - # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then 156 - # doxygen will generate a detailed section even if there is only a brief 157 - # description. 158 - # The default value is: NO. 159 - 160 - ALWAYS_DETAILED_SEC = NO 161 - 162 - # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all 163 - # inherited members of a class in the documentation of that class as if those 164 - # members were ordinary class members. Constructors, destructors and assignment 165 - # operators of the base classes will not be shown. 166 - # The default value is: NO. 167 - 168 - INLINE_INHERITED_MEMB = NO 169 - 170 - # If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path 171 - # before files name in the file list and in the header files. If set to NO the 172 - # shortest path that makes the file name unique will be used 173 - # The default value is: YES. 174 - 175 - FULL_PATH_NAMES = YES 176 - 177 - # The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. 178 - # Stripping is only done if one of the specified strings matches the left-hand 179 - # part of the path. The tag can be used to show relative paths in the file list. 180 - # If left blank the directory from which doxygen is run is used as the path to 181 - # strip. 182 - # 183 - # Note that you can specify absolute paths here, but also relative paths, which 184 - # will be relative from the directory where doxygen is started. 185 - # This tag requires that the tag FULL_PATH_NAMES is set to YES. 186 - 187 - STRIP_FROM_PATH = 188 - 189 - # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the 190 - # path mentioned in the documentation of a class, which tells the reader which 191 - # header file to include in order to use a class. If left blank only the name of 192 - # the header file containing the class definition is used. Otherwise one should 193 - # specify the list of include paths that are normally passed to the compiler 194 - # using the -I flag. 195 - 196 - STRIP_FROM_INC_PATH = 197 - 198 - # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but 199 - # less readable) file names. This can be useful is your file systems doesn't 200 - # support long names like on DOS, Mac, or CD-ROM. 201 - # The default value is: NO. 202 - 203 - SHORT_NAMES = NO 204 - 205 - # If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the 206 - # first line (until the first dot) of a Javadoc-style comment as the brief 207 - # description. If set to NO, the Javadoc-style will behave just like regular Qt- 208 - # style comments (thus requiring an explicit @brief command for a brief 209 - # description.) 210 - # The default value is: NO. 211 - 212 - JAVADOC_AUTOBRIEF = NO 213 - 214 - # If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line 215 - # such as 216 - # /*************** 217 - # as being the beginning of a Javadoc-style comment "banner". If set to NO, the 218 - # Javadoc-style will behave just like regular comments and it will not be 219 - # interpreted by doxygen. 220 - # The default value is: NO. 221 - 222 - JAVADOC_BANNER = NO 223 - 224 - # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first 225 - # line (until the first dot) of a Qt-style comment as the brief description. If 226 - # set to NO, the Qt-style will behave just like regular Qt-style comments (thus 227 - # requiring an explicit \brief command for a brief description.) 228 - # The default value is: NO. 229 - 230 - QT_AUTOBRIEF = NO 231 - 232 - # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a 233 - # multi-line C++ special comment block (i.e. a block of //! or /// comments) as 234 - # a brief description. This used to be the default behavior. The new default is 235 - # to treat a multi-line C++ comment block as a detailed description. Set this 236 - # tag to YES if you prefer the old behavior instead. 237 - # 238 - # Note that setting this tag to YES also means that rational rose comments are 239 - # not recognized any more. 240 - # The default value is: NO. 241 - 242 - MULTILINE_CPP_IS_BRIEF = NO 243 - 244 - # By default Python docstrings are displayed as preformatted text and doxygen's 245 - # special commands cannot be used. By setting PYTHON_DOCSTRING to NO the 246 - # doxygen's special commands can be used and the contents of the docstring 247 - # documentation blocks is shown as doxygen documentation. 248 - # The default value is: YES. 249 - 250 - PYTHON_DOCSTRING = YES 251 - 252 - # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the 253 - # documentation from any documented member that it re-implements. 254 - # The default value is: YES. 255 - 256 - INHERIT_DOCS = YES 257 - 258 - # If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new 259 - # page for each member. If set to NO, the documentation of a member will be part 260 - # of the file/class/namespace that contains it. 261 - # The default value is: NO. 262 - 263 - SEPARATE_MEMBER_PAGES = NO 264 - 265 - # The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen 266 - # uses this value to replace tabs by spaces in code fragments. 267 - # Minimum value: 1, maximum value: 16, default value: 4. 268 - 269 - TAB_SIZE = 4 270 - 271 - # This tag can be used to specify a number of aliases that act as commands in 272 - # the documentation. An alias has the form: 273 - # name=value 274 - # For example adding 275 - # "sideeffect=@par Side Effects:^^" 276 - # will allow you to put the command \sideeffect (or @sideeffect) in the 277 - # documentation, which will result in a user-defined paragraph with heading 278 - # "Side Effects:". Note that you cannot put \n's in the value part of an alias 279 - # to insert newlines (in the resulting output). You can put ^^ in the value part 280 - # of an alias to insert a newline as if a physical newline was in the original 281 - # file. When you need a literal { or } or , in the value part of an alias you 282 - # have to escape them by means of a backslash (\), this can lead to conflicts 283 - # with the commands \{ and \} for these it is advised to use the version @{ and 284 - # @} or use a double escape (\\{ and \\}) 285 - 286 - ALIASES = 287 - 288 - # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources 289 - # only. Doxygen will then generate output that is more tailored for C. For 290 - # instance, some of the names that are used will be different. The list of all 291 - # members will be omitted, etc. 292 - # The default value is: NO. 293 - 294 - OPTIMIZE_OUTPUT_FOR_C = NO 295 - 296 - # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or 297 - # Python sources only. Doxygen will then generate output that is more tailored 298 - # for that language. For instance, namespaces will be presented as packages, 299 - # qualified scopes will look different, etc. 300 - # The default value is: NO. 301 - 302 - OPTIMIZE_OUTPUT_JAVA = NO 303 - 304 - # Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran 305 - # sources. Doxygen will then generate output that is tailored for Fortran. 306 - # The default value is: NO. 307 - 308 - OPTIMIZE_FOR_FORTRAN = NO 309 - 310 - # Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL 311 - # sources. Doxygen will then generate output that is tailored for VHDL. 312 - # The default value is: NO. 313 - 314 - OPTIMIZE_OUTPUT_VHDL = NO 315 - 316 - # Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice 317 - # sources only. Doxygen will then generate output that is more tailored for that 318 - # language. For instance, namespaces will be presented as modules, types will be 319 - # separated into more groups, etc. 320 - # The default value is: NO. 321 - 322 - OPTIMIZE_OUTPUT_SLICE = NO 323 - 324 - # Doxygen selects the parser to use depending on the extension of the files it 325 - # parses. With this tag you can assign which parser to use for a given 326 - # extension. Doxygen has a built-in mapping, but you can override or extend it 327 - # using this tag. The format is ext=language, where ext is a file extension, and 328 - # language is one of the parsers supported by doxygen: IDL, Java, JavaScript, 329 - # Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, 330 - # VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: 331 - # FortranFree, unknown formatted Fortran: Fortran. In the later case the parser 332 - # tries to guess whether the code is fixed or free formatted code, this is the 333 - # default for Fortran type files). For instance to make doxygen treat .inc files 334 - # as Fortran files (default is PHP), and .f files as C (default is Fortran), 335 - # use: inc=Fortran f=C. 336 - # 337 - # Note: For files without extension you can use no_extension as a placeholder. 338 - # 339 - # Note that for custom extensions you also need to set FILE_PATTERNS otherwise 340 - # the files are not read by doxygen. When specifying no_extension you should add 341 - # * to the FILE_PATTERNS. 342 - # 343 - # Note see also the list of default file extension mappings. 344 - 345 - EXTENSION_MAPPING = 346 - 347 - # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments 348 - # according to the Markdown format, which allows for more readable 349 - # documentation. See https://daringfireball.net/projects/markdown/ for details. 350 - # The output of markdown processing is further processed by doxygen, so you can 351 - # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in 352 - # case of backward compatibilities issues. 353 - # The default value is: YES. 354 - 355 - MARKDOWN_SUPPORT = YES 356 - 357 - # When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up 358 - # to that level are automatically included in the table of contents, even if 359 - # they do not have an id attribute. 360 - # Note: This feature currently applies only to Markdown headings. 361 - # Minimum value: 0, maximum value: 99, default value: 5. 362 - # This tag requires that the tag MARKDOWN_SUPPORT is set to YES. 363 - 364 - TOC_INCLUDE_HEADINGS = 5 365 - 366 - # When enabled doxygen tries to link words that correspond to documented 367 - # classes, or namespaces to their corresponding documentation. Such a link can 368 - # be prevented in individual cases by putting a % sign in front of the word or 369 - # globally by setting AUTOLINK_SUPPORT to NO. 370 - # The default value is: YES. 371 - 372 - AUTOLINK_SUPPORT = YES 373 - 374 - # If you use STL classes (i.e. std::string, std::vector, etc.) but do not want 375 - # to include (a tag file for) the STL sources as input, then you should set this 376 - # tag to YES in order to let doxygen match functions declarations and 377 - # definitions whose arguments contain STL classes (e.g. func(std::string); 378 - # versus func(std::string) {}). This also make the inheritance and collaboration 379 - # diagrams that involve STL classes more complete and accurate. 380 - # The default value is: NO. 381 - 382 - BUILTIN_STL_SUPPORT = NO 383 - 384 - # If you use Microsoft's C++/CLI language, you should set this option to YES to 385 - # enable parsing support. 386 - # The default value is: NO. 387 - 388 - CPP_CLI_SUPPORT = NO 389 - 390 - # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: 391 - # https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen 392 - # will parse them like normal C++ but will assume all classes use public instead 393 - # of private inheritance when no explicit protection keyword is present. 394 - # The default value is: NO. 395 - 396 - SIP_SUPPORT = NO 397 - 398 - # For Microsoft's IDL there are propget and propput attributes to indicate 399 - # getter and setter methods for a property. Setting this option to YES will make 400 - # doxygen to replace the get and set methods by a property in the documentation. 401 - # This will only work if the methods are indeed getting or setting a simple 402 - # type. If this is not the case, or you want to show the methods anyway, you 403 - # should set this option to NO. 404 - # The default value is: YES. 405 - 406 - IDL_PROPERTY_SUPPORT = YES 407 - 408 - # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC 409 - # tag is set to YES then doxygen will reuse the documentation of the first 410 - # member in the group (if any) for the other members of the group. By default 411 - # all members of a group must be documented explicitly. 412 - # The default value is: NO. 413 - 414 - DISTRIBUTE_GROUP_DOC = NO 415 - 416 - # If one adds a struct or class to a group and this option is enabled, then also 417 - # any nested class or struct is added to the same group. By default this option 418 - # is disabled and one has to add nested compounds explicitly via \ingroup. 419 - # The default value is: NO. 420 - 421 - GROUP_NESTED_COMPOUNDS = NO 422 - 423 - # Set the SUBGROUPING tag to YES to allow class member groups of the same type 424 - # (for instance a group of public functions) to be put as a subgroup of that 425 - # type (e.g. under the Public Functions section). Set it to NO to prevent 426 - # subgrouping. Alternatively, this can be done per class using the 427 - # \nosubgrouping command. 428 - # The default value is: YES. 429 - 430 - SUBGROUPING = YES 431 - 432 - # When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions 433 - # are shown inside the group in which they are included (e.g. using \ingroup) 434 - # instead of on a separate page (for HTML and Man pages) or section (for LaTeX 435 - # and RTF). 436 - # 437 - # Note that this feature does not work in combination with 438 - # SEPARATE_MEMBER_PAGES. 439 - # The default value is: NO. 440 - 441 - INLINE_GROUPED_CLASSES = NO 442 - 443 - # When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions 444 - # with only public data fields or simple typedef fields will be shown inline in 445 - # the documentation of the scope in which they are defined (i.e. file, 446 - # namespace, or group documentation), provided this scope is documented. If set 447 - # to NO, structs, classes, and unions are shown on a separate page (for HTML and 448 - # Man pages) or section (for LaTeX and RTF). 449 - # The default value is: NO. 450 - 451 - INLINE_SIMPLE_STRUCTS = NO 452 - 453 - # When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or 454 - # enum is documented as struct, union, or enum with the name of the typedef. So 455 - # typedef struct TypeS {} TypeT, will appear in the documentation as a struct 456 - # with name TypeT. When disabled the typedef will appear as a member of a file, 457 - # namespace, or class. And the struct will be named TypeS. This can typically be 458 - # useful for C code in case the coding convention dictates that all compound 459 - # types are typedef'ed and only the typedef is referenced, never the tag name. 460 - # The default value is: NO. 461 - 462 - TYPEDEF_HIDES_STRUCT = NO 463 - 464 - # The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This 465 - # cache is used to resolve symbols given their name and scope. Since this can be 466 - # an expensive process and often the same symbol appears multiple times in the 467 - # code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small 468 - # doxygen will become slower. If the cache is too large, memory is wasted. The 469 - # cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range 470 - # is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 471 - # symbols. At the end of a run doxygen will report the cache usage and suggest 472 - # the optimal cache size from a speed point of view. 473 - # Minimum value: 0, maximum value: 9, default value: 0. 474 - 475 - LOOKUP_CACHE_SIZE = 0 476 - 477 - # The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use 478 - # during processing. When set to 0 doxygen will based this on the number of 479 - # cores available in the system. You can set it explicitly to a value larger 480 - # than 0 to get more control over the balance between CPU load and processing 481 - # speed. At this moment only the input processing can be done using multiple 482 - # threads. Since this is still an experimental feature the default is set to 1, 483 - # which effectively disables parallel processing. Please report any issues you 484 - # encounter. Generating dot graphs in parallel is controlled by the 485 - # DOT_NUM_THREADS setting. 486 - # Minimum value: 0, maximum value: 32, default value: 1. 487 - 488 - NUM_PROC_THREADS = 1 489 - 490 - #--------------------------------------------------------------------------- 491 - # Build related configuration options 492 - #--------------------------------------------------------------------------- 493 - 494 - # If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in 495 - # documentation are documented, even if no documentation was available. Private 496 - # class members and static file members will be hidden unless the 497 - # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. 498 - # Note: This will also disable the warnings about undocumented members that are 499 - # normally produced when WARNINGS is set to YES. 500 - # The default value is: NO. 501 - 502 - EXTRACT_ALL = NO 503 - 504 - # If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will 505 - # be included in the documentation. 506 - # The default value is: NO. 507 - 508 - EXTRACT_PRIVATE = NO 509 - 510 - # If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual 511 - # methods of a class will be included in the documentation. 512 - # The default value is: NO. 513 - 514 - EXTRACT_PRIV_VIRTUAL = NO 515 - 516 - # If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal 517 - # scope will be included in the documentation. 518 - # The default value is: NO. 519 - 520 - EXTRACT_PACKAGE = NO 521 - 522 - # If the EXTRACT_STATIC tag is set to YES, all static members of a file will be 523 - # included in the documentation. 524 - # The default value is: NO. 525 - 526 - EXTRACT_STATIC = NO 527 - 528 - # If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined 529 - # locally in source files will be included in the documentation. If set to NO, 530 - # only classes defined in header files are included. Does not have any effect 531 - # for Java sources. 532 - # The default value is: YES. 533 - 534 - EXTRACT_LOCAL_CLASSES = YES 535 - 536 - # This flag is only useful for Objective-C code. If set to YES, local methods, 537 - # which are defined in the implementation section but not in the interface are 538 - # included in the documentation. If set to NO, only methods in the interface are 539 - # included. 540 - # The default value is: NO. 541 - 542 - EXTRACT_LOCAL_METHODS = NO 543 - 544 - # If this flag is set to YES, the members of anonymous namespaces will be 545 - # extracted and appear in the documentation as a namespace called 546 - # 'anonymous_namespace{file}', where file will be replaced with the base name of 547 - # the file that contains the anonymous namespace. By default anonymous namespace 548 - # are hidden. 549 - # The default value is: NO. 550 - 551 - EXTRACT_ANON_NSPACES = NO 552 - 553 - # If this flag is set to YES, the name of an unnamed parameter in a declaration 554 - # will be determined by the corresponding definition. By default unnamed 555 - # parameters remain unnamed in the output. 556 - # The default value is: YES. 557 - 558 - RESOLVE_UNNAMED_PARAMS = YES 559 - 560 - # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all 561 - # undocumented members inside documented classes or files. If set to NO these 562 - # members will be included in the various overviews, but no documentation 563 - # section is generated. This option has no effect if EXTRACT_ALL is enabled. 564 - # The default value is: NO. 565 - 566 - HIDE_UNDOC_MEMBERS = NO 567 - 568 - # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all 569 - # undocumented classes that are normally visible in the class hierarchy. If set 570 - # to NO, these classes will be included in the various overviews. This option 571 - # will also hide undocumented C++ concepts if enabled. This option has no effect 572 - # if EXTRACT_ALL is enabled. 573 - # The default value is: NO. 574 - 575 - HIDE_UNDOC_CLASSES = NO 576 - 577 - # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend 578 - # declarations. If set to NO, these declarations will be included in the 579 - # documentation. 580 - # The default value is: NO. 581 - 582 - HIDE_FRIEND_COMPOUNDS = NO 583 - 584 - # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any 585 - # documentation blocks found inside the body of a function. If set to NO, these 586 - # blocks will be appended to the function's detailed documentation block. 587 - # The default value is: NO. 588 - 589 - HIDE_IN_BODY_DOCS = NO 590 - 591 - # The INTERNAL_DOCS tag determines if documentation that is typed after a 592 - # \internal command is included. If the tag is set to NO then the documentation 593 - # will be excluded. Set it to YES to include the internal documentation. 594 - # The default value is: NO. 595 - 596 - INTERNAL_DOCS = NO 597 - 598 - # With the correct setting of option CASE_SENSE_NAMES doxygen will better be 599 - # able to match the capabilities of the underlying filesystem. In case the 600 - # filesystem is case sensitive (i.e. it supports files in the same directory 601 - # whose names only differ in casing), the option must be set to YES to properly 602 - # deal with such files in case they appear in the input. For filesystems that 603 - # are not case sensitive the option should be set to NO to properly deal with 604 - # output files written for symbols that only differ in casing, such as for two 605 - # classes, one named CLASS and the other named Class, and to also support 606 - # references to files without having to specify the exact matching casing. On 607 - # Windows (including Cygwin) and MacOS, users should typically set this option 608 - # to NO, whereas on Linux or other Unix flavors it should typically be set to 609 - # YES. 610 - # Possible values are: SYSTEM, NO and YES. 611 - # The default value is: SYSTEM. 612 - 613 - CASE_SENSE_NAMES = SYSTEM 614 - 615 - # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with 616 - # their full class and namespace scopes in the documentation. If set to YES, the 617 - # scope will be hidden. 618 - # The default value is: NO. 619 - 620 - HIDE_SCOPE_NAMES = NO 621 - 622 - # If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will 623 - # append additional text to a page's title, such as Class Reference. If set to 624 - # YES the compound reference will be hidden. 625 - # The default value is: NO. 626 - 627 - HIDE_COMPOUND_REFERENCE= NO 628 - 629 - # If the SHOW_HEADERFILE tag is set to YES then the documentation for a class 630 - # will show which file needs to be included to use the class. 631 - # The default value is: YES. 632 - 633 - SHOW_HEADERFILE = YES 634 - 635 - # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of 636 - # the files that are included by a file in the documentation of that file. 637 - # The default value is: YES. 638 - 639 - SHOW_INCLUDE_FILES = YES 640 - 641 - # If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each 642 - # grouped member an include statement to the documentation, telling the reader 643 - # which file to include in order to use the member. 644 - # The default value is: NO. 645 - 646 - SHOW_GROUPED_MEMB_INC = NO 647 - 648 - # If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include 649 - # files with double quotes in the documentation rather than with sharp brackets. 650 - # The default value is: NO. 651 - 652 - FORCE_LOCAL_INCLUDES = NO 653 - 654 - # If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the 655 - # documentation for inline members. 656 - # The default value is: YES. 657 - 658 - INLINE_INFO = YES 659 - 660 - # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the 661 - # (detailed) documentation of file and class members alphabetically by member 662 - # name. If set to NO, the members will appear in declaration order. 663 - # The default value is: YES. 664 - 665 - SORT_MEMBER_DOCS = YES 666 - 667 - # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief 668 - # descriptions of file, namespace and class members alphabetically by member 669 - # name. If set to NO, the members will appear in declaration order. Note that 670 - # this will also influence the order of the classes in the class list. 671 - # The default value is: NO. 672 - 673 - SORT_BRIEF_DOCS = NO 674 - 675 - # If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the 676 - # (brief and detailed) documentation of class members so that constructors and 677 - # destructors are listed first. If set to NO the constructors will appear in the 678 - # respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. 679 - # Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief 680 - # member documentation. 681 - # Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting 682 - # detailed member documentation. 683 - # The default value is: NO. 684 - 685 - SORT_MEMBERS_CTORS_1ST = NO 686 - 687 - # If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy 688 - # of group names into alphabetical order. If set to NO the group names will 689 - # appear in their defined order. 690 - # The default value is: NO. 691 - 692 - SORT_GROUP_NAMES = NO 693 - 694 - # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by 695 - # fully-qualified names, including namespaces. If set to NO, the class list will 696 - # be sorted only by class name, not including the namespace part. 697 - # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. 698 - # Note: This option applies only to the class list, not to the alphabetical 699 - # list. 700 - # The default value is: NO. 701 - 702 - SORT_BY_SCOPE_NAME = NO 703 - 704 - # If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper 705 - # type resolution of all parameters of a function it will reject a match between 706 - # the prototype and the implementation of a member function even if there is 707 - # only one candidate or it is obvious which candidate to choose by doing a 708 - # simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still 709 - # accept a match between prototype and implementation in such cases. 710 - # The default value is: NO. 711 - 712 - STRICT_PROTO_MATCHING = NO 713 - 714 - # The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo 715 - # list. This list is created by putting \todo commands in the documentation. 716 - # The default value is: YES. 717 - 718 - GENERATE_TODOLIST = YES 719 - 720 - # The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test 721 - # list. This list is created by putting \test commands in the documentation. 722 - # The default value is: YES. 723 - 724 - GENERATE_TESTLIST = YES 725 - 726 - # The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug 727 - # list. This list is created by putting \bug commands in the documentation. 728 - # The default value is: YES. 729 - 730 - GENERATE_BUGLIST = YES 731 - 732 - # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) 733 - # the deprecated list. This list is created by putting \deprecated commands in 734 - # the documentation. 735 - # The default value is: YES. 736 - 737 - GENERATE_DEPRECATEDLIST= YES 738 - 739 - # The ENABLED_SECTIONS tag can be used to enable conditional documentation 740 - # sections, marked by \if <section_label> ... \endif and \cond <section_label> 741 - # ... \endcond blocks. 742 - 743 - ENABLED_SECTIONS = 744 - 745 - # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the 746 - # initial value of a variable or macro / define can have for it to appear in the 747 - # documentation. If the initializer consists of more lines than specified here 748 - # it will be hidden. Use a value of 0 to hide initializers completely. The 749 - # appearance of the value of individual variables and macros / defines can be 750 - # controlled using \showinitializer or \hideinitializer command in the 751 - # documentation regardless of this setting. 752 - # Minimum value: 0, maximum value: 10000, default value: 30. 753 - 754 - MAX_INITIALIZER_LINES = 30 755 - 756 - # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at 757 - # the bottom of the documentation of classes and structs. If set to YES, the 758 - # list will mention the files that were used to generate the documentation. 759 - # The default value is: YES. 760 - 761 - SHOW_USED_FILES = YES 762 - 763 - # Set the SHOW_FILES tag to NO to disable the generation of the Files page. This 764 - # will remove the Files entry from the Quick Index and from the Folder Tree View 765 - # (if specified). 766 - # The default value is: YES. 767 - 768 - SHOW_FILES = YES 769 - 770 - # Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces 771 - # page. This will remove the Namespaces entry from the Quick Index and from the 772 - # Folder Tree View (if specified). 773 - # The default value is: YES. 774 - 775 - SHOW_NAMESPACES = YES 776 - 777 - # The FILE_VERSION_FILTER tag can be used to specify a program or script that 778 - # doxygen should invoke to get the current version for each file (typically from 779 - # the version control system). Doxygen will invoke the program by executing (via 780 - # popen()) the command command input-file, where command is the value of the 781 - # FILE_VERSION_FILTER tag, and input-file is the name of an input file provided 782 - # by doxygen. Whatever the program writes to standard output is used as the file 783 - # version. For an example see the documentation. 784 - 785 - FILE_VERSION_FILTER = 786 - 787 - # The LAYOUT_FILE tag can be used to specify a layout file which will be parsed 788 - # by doxygen. The layout file controls the global structure of the generated 789 - # output files in an output format independent way. To create the layout file 790 - # that represents doxygen's defaults, run doxygen with the -l option. You can 791 - # optionally specify a file name after the option, if omitted DoxygenLayout.xml 792 - # will be used as the name of the layout file. See also section "Changing the 793 - # layout of pages" for information. 794 - # 795 - # Note that if you run doxygen from a directory containing a file called 796 - # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE 797 - # tag is left empty. 798 - 799 - LAYOUT_FILE = 800 - 801 - # The CITE_BIB_FILES tag can be used to specify one or more bib files containing 802 - # the reference definitions. This must be a list of .bib files. The .bib 803 - # extension is automatically appended if omitted. This requires the bibtex tool 804 - # to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. 805 - # For LaTeX the style of the bibliography can be controlled using 806 - # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the 807 - # search path. See also \cite for info how to create references. 808 - 809 - CITE_BIB_FILES = 810 - 811 - #--------------------------------------------------------------------------- 812 - # Configuration options related to warning and progress messages 813 - #--------------------------------------------------------------------------- 814 - 815 - # The QUIET tag can be used to turn on/off the messages that are generated to 816 - # standard output by doxygen. If QUIET is set to YES this implies that the 817 - # messages are off. 818 - # The default value is: NO. 819 - 820 - QUIET = NO 821 - 822 - # The WARNINGS tag can be used to turn on/off the warning messages that are 823 - # generated to standard error (stderr) by doxygen. If WARNINGS is set to YES 824 - # this implies that the warnings are on. 825 - # 826 - # Tip: Turn warnings on while writing the documentation. 827 - # The default value is: YES. 828 - 829 - WARNINGS = YES 830 - 831 - # If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate 832 - # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag 833 - # will automatically be disabled. 834 - # The default value is: YES. 835 - 836 - WARN_IF_UNDOCUMENTED = YES 837 - 838 - # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for 839 - # potential errors in the documentation, such as documenting some parameters in 840 - # a documented function twice, or documenting parameters that don't exist or 841 - # using markup commands wrongly. 842 - # The default value is: YES. 843 - 844 - WARN_IF_DOC_ERROR = YES 845 - 846 - # If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete 847 - # function parameter documentation. If set to NO, doxygen will accept that some 848 - # parameters have no documentation without warning. 849 - # The default value is: YES. 850 - 851 - WARN_IF_INCOMPLETE_DOC = YES 852 - 853 - # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that 854 - # are documented, but have no documentation for their parameters or return 855 - # value. If set to NO, doxygen will only warn about wrong parameter 856 - # documentation, but not about the absence of documentation. If EXTRACT_ALL is 857 - # set to YES then this flag will automatically be disabled. See also 858 - # WARN_IF_INCOMPLETE_DOC 859 - # The default value is: NO. 860 - 861 - WARN_NO_PARAMDOC = NO 862 - 863 - # If WARN_IF_UNDOC_ENUM_VAL option is set to YES, doxygen will warn about 864 - # undocumented enumeration values. If set to NO, doxygen will accept 865 - # undocumented enumeration values. If EXTRACT_ALL is set to YES then this flag 866 - # will automatically be disabled. 867 - # The default value is: NO. 868 - 869 - WARN_IF_UNDOC_ENUM_VAL = NO 870 - 871 - # If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when 872 - # a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS 873 - # then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but 874 - # at the end of the doxygen process doxygen will return with a non-zero status. 875 - # Possible values are: NO, YES and FAIL_ON_WARNINGS. 876 - # The default value is: NO. 877 - 878 - WARN_AS_ERROR = NO 879 - 880 - # The WARN_FORMAT tag determines the format of the warning messages that doxygen 881 - # can produce. The string should contain the $file, $line, and $text tags, which 882 - # will be replaced by the file and line number from which the warning originated 883 - # and the warning text. Optionally the format may contain $version, which will 884 - # be replaced by the version of the file (if it could be obtained via 885 - # FILE_VERSION_FILTER) 886 - # See also: WARN_LINE_FORMAT 887 - # The default value is: $file:$line: $text. 888 - 889 - WARN_FORMAT = "$file:$line: $text" 890 - 891 - # In the $text part of the WARN_FORMAT command it is possible that a reference 892 - # to a more specific place is given. To make it easier to jump to this place 893 - # (outside of doxygen) the user can define a custom "cut" / "paste" string. 894 - # Example: 895 - # WARN_LINE_FORMAT = "'vi $file +$line'" 896 - # See also: WARN_FORMAT 897 - # The default value is: at line $line of file $file. 898 - 899 - WARN_LINE_FORMAT = "at line $line of file $file" 900 - 901 - # The WARN_LOGFILE tag can be used to specify a file to which warning and error 902 - # messages should be written. If left blank the output is written to standard 903 - # error (stderr). In case the file specified cannot be opened for writing the 904 - # warning and error messages are written to standard error. When as file - is 905 - # specified the warning and error messages are written to standard output 906 - # (stdout). 907 - 908 - WARN_LOGFILE = 909 - 910 - #--------------------------------------------------------------------------- 911 - # Configuration options related to the input files 912 - #--------------------------------------------------------------------------- 913 - 914 - # The INPUT tag is used to specify the files and/or directories that contain 915 - # documented source files. You may enter file names like myfile.cpp or 916 - # directories like /usr/src/myproject. Separate the files or directories with 917 - # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING 918 - # Note: If this tag is empty the current directory is searched. 919 - 920 - INPUT = . 921 - 922 - # This tag can be used to specify the character encoding of the source files 923 - # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses 924 - # libiconv (or the iconv built into libc) for the transcoding. See the libiconv 925 - # documentation (see: 926 - # https://www.gnu.org/software/libiconv/) for the list of possible encodings. 927 - # See also: INPUT_FILE_ENCODING 928 - # The default value is: UTF-8. 929 - 930 - INPUT_ENCODING = UTF-8 931 - 932 - # This tag can be used to specify the character encoding of the source files 933 - # that doxygen parses The INPUT_FILE_ENCODING tag can be used to specify 934 - # character encoding on a per file pattern basis. Doxygen will compare the file 935 - # name with each pattern and apply the encoding instead of the default 936 - # INPUT_ENCODING) if there is a match. The character encodings are a list of the 937 - # form: pattern=encoding (like *.php=ISO-8859-1). See cfg_input_encoding 938 - # "INPUT_ENCODING" for further information on supported encodings. 939 - 940 - INPUT_FILE_ENCODING = 941 - 942 - # If the value of the INPUT tag contains directories, you can use the 943 - # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and 944 - # *.h) to filter out the source-files in the directories. 945 - # 946 - # Note that for custom extensions or not directly supported extensions you also 947 - # need to set EXTENSION_MAPPING for the extension otherwise the files are not 948 - # read by doxygen. 949 - # 950 - # Note the list of default checked file patterns might differ from the list of 951 - # default file extension mappings. 952 - # 953 - # If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, 954 - # *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, 955 - # *.hh, *.hxx, *.hpp, *.h++, *.l, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, 956 - # *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C 957 - # comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, 958 - # *.vhdl, *.ucf, *.qsf and *.ice. 959 - 960 - FILE_PATTERNS = *.c *.h *.md 961 - 962 - # The RECURSIVE tag can be used to specify whether or not subdirectories should 963 - # be searched for input files as well. 964 - # The default value is: NO. 965 - 966 - RECURSIVE = YES 967 - 968 - # The EXCLUDE tag can be used to specify files and/or directories that should be 969 - # excluded from the INPUT source files. This way you can easily exclude a 970 - # subdirectory from a directory tree whose root is specified with the INPUT tag. 971 - # 972 - # Note that relative paths are relative to the directory from which doxygen is 973 - # run. 974 - 975 - EXCLUDE = 976 - 977 - # The EXCLUDE_SYMLINKS tag can be used to select whether or not files or 978 - # directories that are symbolic links (a Unix file system feature) are excluded 979 - # from the input. 980 - # The default value is: NO. 981 - 982 - EXCLUDE_SYMLINKS = NO 983 - 984 - # If the value of the INPUT tag contains directories, you can use the 985 - # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude 986 - # certain files from those directories. 987 - # 988 - # Note that the wildcards are matched against the file with absolute path, so to 989 - # exclude all test directories for example use the pattern */test/* 990 - 991 - EXCLUDE_PATTERNS = 992 - 993 - # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names 994 - # (namespaces, classes, functions, etc.) that should be excluded from the 995 - # output. The symbol name can be a fully qualified name, a word, or if the 996 - # wildcard * is used, a substring. Examples: ANamespace, AClass, 997 - # ANamespace::AClass, ANamespace::*Test 998 - # 999 - # Note that the wildcards are matched against the file with absolute path, so to 1000 - # exclude all test directories use the pattern */test/* 1001 - 1002 - EXCLUDE_SYMBOLS = 1003 - 1004 - # The EXAMPLE_PATH tag can be used to specify one or more files or directories 1005 - # that contain example code fragments that are included (see the \include 1006 - # command). 1007 - 1008 - EXAMPLE_PATH = 1009 - 1010 - # If the value of the EXAMPLE_PATH tag contains directories, you can use the 1011 - # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and 1012 - # *.h) to filter out the source-files in the directories. If left blank all 1013 - # files are included. 1014 - 1015 - EXAMPLE_PATTERNS = * 1016 - 1017 - # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be 1018 - # searched for input files to be used with the \include or \dontinclude commands 1019 - # irrespective of the value of the RECURSIVE tag. 1020 - # The default value is: NO. 1021 - 1022 - EXAMPLE_RECURSIVE = NO 1023 - 1024 - # The IMAGE_PATH tag can be used to specify one or more files or directories 1025 - # that contain images that are to be included in the documentation (see the 1026 - # \image command). 1027 - 1028 - IMAGE_PATH = 1029 - 1030 - # The INPUT_FILTER tag can be used to specify a program that doxygen should 1031 - # invoke to filter for each input file. Doxygen will invoke the filter program 1032 - # by executing (via popen()) the command: 1033 - # 1034 - # <filter> <input-file> 1035 - # 1036 - # where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the 1037 - # name of an input file. Doxygen will then use the output that the filter 1038 - # program writes to standard output. If FILTER_PATTERNS is specified, this tag 1039 - # will be ignored. 1040 - # 1041 - # Note that the filter must not add or remove lines; it is applied before the 1042 - # code is scanned, but not when the output code is generated. If lines are added 1043 - # or removed, the anchors will not be placed correctly. 1044 - # 1045 - # Note that doxygen will use the data processed and written to standard output 1046 - # for further processing, therefore nothing else, like debug statements or used 1047 - # commands (so in case of a Windows batch file always use @echo OFF), should be 1048 - # written to standard output. 1049 - # 1050 - # Note that for custom extensions or not directly supported extensions you also 1051 - # need to set EXTENSION_MAPPING for the extension otherwise the files are not 1052 - # properly processed by doxygen. 1053 - 1054 - INPUT_FILTER = 1055 - 1056 - # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern 1057 - # basis. Doxygen will compare the file name with each pattern and apply the 1058 - # filter if there is a match. The filters are a list of the form: pattern=filter 1059 - # (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how 1060 - # filters are used. If the FILTER_PATTERNS tag is empty or if none of the 1061 - # patterns match the file name, INPUT_FILTER is applied. 1062 - # 1063 - # Note that for custom extensions or not directly supported extensions you also 1064 - # need to set EXTENSION_MAPPING for the extension otherwise the files are not 1065 - # properly processed by doxygen. 1066 - 1067 - FILTER_PATTERNS = 1068 - 1069 - # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using 1070 - # INPUT_FILTER) will also be used to filter the input files that are used for 1071 - # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). 1072 - # The default value is: NO. 1073 - 1074 - FILTER_SOURCE_FILES = NO 1075 - 1076 - # The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file 1077 - # pattern. A pattern will override the setting for FILTER_PATTERN (if any) and 1078 - # it is also possible to disable source filtering for a specific pattern using 1079 - # *.ext= (so without naming a filter). 1080 - # This tag requires that the tag FILTER_SOURCE_FILES is set to YES. 1081 - 1082 - FILTER_SOURCE_PATTERNS = 1083 - 1084 - # If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that 1085 - # is part of the input, its contents will be placed on the main page 1086 - # (index.html). This can be useful if you have a project on for instance GitHub 1087 - # and want to reuse the introduction page also for the doxygen output. 1088 - 1089 - USE_MDFILE_AS_MAINPAGE = 1090 - 1091 - # The Fortran standard specifies that for fixed formatted Fortran code all 1092 - # characters from position 72 are to be considered as comment. A common 1093 - # extension is to allow longer lines before the automatic comment starts. The 1094 - # setting FORTRAN_COMMENT_AFTER will also make it possible that longer lines can 1095 - # be processed before the automatic comment starts. 1096 - # Minimum value: 7, maximum value: 10000, default value: 72. 1097 - 1098 - FORTRAN_COMMENT_AFTER = 72 1099 - 1100 - #--------------------------------------------------------------------------- 1101 - # Configuration options related to source browsing 1102 - #--------------------------------------------------------------------------- 1103 - 1104 - # If the SOURCE_BROWSER tag is set to YES then a list of source files will be 1105 - # generated. Documented entities will be cross-referenced with these sources. 1106 - # 1107 - # Note: To get rid of all source code in the generated output, make sure that 1108 - # also VERBATIM_HEADERS is set to NO. 1109 - # The default value is: NO. 1110 - 1111 - SOURCE_BROWSER = NO 1112 - 1113 - # Setting the INLINE_SOURCES tag to YES will include the body of functions, 1114 - # classes and enums directly into the documentation. 1115 - # The default value is: NO. 1116 - 1117 - INLINE_SOURCES = NO 1118 - 1119 - # Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any 1120 - # special comment blocks from generated source code fragments. Normal C, C++ and 1121 - # Fortran comments will always remain visible. 1122 - # The default value is: YES. 1123 - 1124 - STRIP_CODE_COMMENTS = YES 1125 - 1126 - # If the REFERENCED_BY_RELATION tag is set to YES then for each documented 1127 - # entity all documented functions referencing it will be listed. 1128 - # The default value is: NO. 1129 - 1130 - REFERENCED_BY_RELATION = NO 1131 - 1132 - # If the REFERENCES_RELATION tag is set to YES then for each documented function 1133 - # all documented entities called/used by that function will be listed. 1134 - # The default value is: NO. 1135 - 1136 - REFERENCES_RELATION = NO 1137 - 1138 - # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set 1139 - # to YES then the hyperlinks from functions in REFERENCES_RELATION and 1140 - # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will 1141 - # link to the documentation. 1142 - # The default value is: YES. 1143 - 1144 - REFERENCES_LINK_SOURCE = YES 1145 - 1146 - # If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the 1147 - # source code will show a tooltip with additional information such as prototype, 1148 - # brief description and links to the definition and documentation. Since this 1149 - # will make the HTML file larger and loading of large files a bit slower, you 1150 - # can opt to disable this feature. 1151 - # The default value is: YES. 1152 - # This tag requires that the tag SOURCE_BROWSER is set to YES. 1153 - 1154 - SOURCE_TOOLTIPS = YES 1155 - 1156 - # If the USE_HTAGS tag is set to YES then the references to source code will 1157 - # point to the HTML generated by the htags(1) tool instead of doxygen built-in 1158 - # source browser. The htags tool is part of GNU's global source tagging system 1159 - # (see https://www.gnu.org/software/global/global.html). You will need version 1160 - # 4.8.6 or higher. 1161 - # 1162 - # To use it do the following: 1163 - # - Install the latest version of global 1164 - # - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file 1165 - # - Make sure the INPUT points to the root of the source tree 1166 - # - Run doxygen as normal 1167 - # 1168 - # Doxygen will invoke htags (and that will in turn invoke gtags), so these 1169 - # tools must be available from the command line (i.e. in the search path). 1170 - # 1171 - # The result: instead of the source browser generated by doxygen, the links to 1172 - # source code will now point to the output of htags. 1173 - # The default value is: NO. 1174 - # This tag requires that the tag SOURCE_BROWSER is set to YES. 1175 - 1176 - USE_HTAGS = NO 1177 - 1178 - # If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a 1179 - # verbatim copy of the header file for each class for which an include is 1180 - # specified. Set to NO to disable this. 1181 - # See also: Section \class. 1182 - # The default value is: YES. 1183 - 1184 - VERBATIM_HEADERS = YES 1185 - 1186 - #--------------------------------------------------------------------------- 1187 - # Configuration options related to the alphabetical class index 1188 - #--------------------------------------------------------------------------- 1189 - 1190 - # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all 1191 - # compounds will be generated. Enable this if the project contains a lot of 1192 - # classes, structs, unions or interfaces. 1193 - # The default value is: YES. 1194 - 1195 - ALPHABETICAL_INDEX = YES 1196 - 1197 - # The IGNORE_PREFIX tag can be used to specify a prefix (or a list of prefixes) 1198 - # that should be ignored while generating the index headers. The IGNORE_PREFIX 1199 - # tag works for classes, function and member names. The entity will be placed in 1200 - # the alphabetical list under the first letter of the entity name that remains 1201 - # after removing the prefix. 1202 - # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. 1203 - 1204 - IGNORE_PREFIX = 1205 - 1206 - #--------------------------------------------------------------------------- 1207 - # Configuration options related to the HTML output 1208 - #--------------------------------------------------------------------------- 1209 - 1210 - # If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output 1211 - # The default value is: YES. 1212 - 1213 - GENERATE_HTML = YES 1214 - 1215 - # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a 1216 - # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of 1217 - # it. 1218 - # The default directory is: html. 1219 - # This tag requires that the tag GENERATE_HTML is set to YES. 1220 - 1221 - HTML_OUTPUT = html 1222 - 1223 - # The HTML_FILE_EXTENSION tag can be used to specify the file extension for each 1224 - # generated HTML page (for example: .htm, .php, .asp). 1225 - # The default value is: .html. 1226 - # This tag requires that the tag GENERATE_HTML is set to YES. 1227 - 1228 - HTML_FILE_EXTENSION = .html 1229 - 1230 - # The HTML_HEADER tag can be used to specify a user-defined HTML header file for 1231 - # each generated HTML page. If the tag is left blank doxygen will generate a 1232 - # standard header. 1233 - # 1234 - # To get valid HTML the header file that includes any scripts and style sheets 1235 - # that doxygen needs, which is dependent on the configuration options used (e.g. 1236 - # the setting GENERATE_TREEVIEW). It is highly recommended to start with a 1237 - # default header using 1238 - # doxygen -w html new_header.html new_footer.html new_stylesheet.css 1239 - # YourConfigFile 1240 - # and then modify the file new_header.html. See also section "Doxygen usage" 1241 - # for information on how to generate the default header that doxygen normally 1242 - # uses. 1243 - # Note: The header is subject to change so you typically have to regenerate the 1244 - # default header when upgrading to a newer version of doxygen. For a description 1245 - # of the possible markers and block names see the documentation. 1246 - # This tag requires that the tag GENERATE_HTML is set to YES. 1247 - 1248 - HTML_HEADER = 1249 - 1250 - # The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each 1251 - # generated HTML page. If the tag is left blank doxygen will generate a standard 1252 - # footer. See HTML_HEADER for more information on how to generate a default 1253 - # footer and what special commands can be used inside the footer. See also 1254 - # section "Doxygen usage" for information on how to generate the default footer 1255 - # that doxygen normally uses. 1256 - # This tag requires that the tag GENERATE_HTML is set to YES. 1257 - 1258 - HTML_FOOTER = 1259 - 1260 - # The HTML_STYLESHEET tag can be used to specify a user-defined cascading style 1261 - # sheet that is used by each HTML page. It can be used to fine-tune the look of 1262 - # the HTML output. If left blank doxygen will generate a default style sheet. 1263 - # See also section "Doxygen usage" for information on how to generate the style 1264 - # sheet that doxygen normally uses. 1265 - # Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as 1266 - # it is more robust and this tag (HTML_STYLESHEET) will in the future become 1267 - # obsolete. 1268 - # This tag requires that the tag GENERATE_HTML is set to YES. 1269 - 1270 - HTML_STYLESHEET = 1271 - 1272 - # The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined 1273 - # cascading style sheets that are included after the standard style sheets 1274 - # created by doxygen. Using this option one can overrule certain style aspects. 1275 - # This is preferred over using HTML_STYLESHEET since it does not replace the 1276 - # standard style sheet and is therefore more robust against future updates. 1277 - # Doxygen will copy the style sheet files to the output directory. 1278 - # Note: The order of the extra style sheet files is of importance (e.g. the last 1279 - # style sheet in the list overrules the setting of the previous ones in the 1280 - # list). 1281 - # Note: Since the styling of scrollbars can currently not be overruled in 1282 - # Webkit/Chromium, the styling will be left out of the default doxygen.css if 1283 - # one or more extra stylesheets have been specified. So if scrollbar 1284 - # customization is desired it has to be added explicitly. For an example see the 1285 - # documentation. 1286 - # This tag requires that the tag GENERATE_HTML is set to YES. 1287 - 1288 - HTML_EXTRA_STYLESHEET = 1289 - 1290 - # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or 1291 - # other source files which should be copied to the HTML output directory. Note 1292 - # that these files will be copied to the base HTML output directory. Use the 1293 - # $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these 1294 - # files. In the HTML_STYLESHEET file, use the file name only. Also note that the 1295 - # files will be copied as-is; there are no commands or markers available. 1296 - # This tag requires that the tag GENERATE_HTML is set to YES. 1297 - 1298 - HTML_EXTRA_FILES = 1299 - 1300 - # The HTML_COLORSTYLE tag can be used to specify if the generated HTML output 1301 - # should be rendered with a dark or light theme. 1302 - # Possible values are: LIGHT always generate light mode output, DARK always 1303 - # generate dark mode output, AUTO_LIGHT automatically set the mode according to 1304 - # the user preference, use light mode if no preference is set (the default), 1305 - # AUTO_DARK automatically set the mode according to the user preference, use 1306 - # dark mode if no preference is set and TOGGLE allow to user to switch between 1307 - # light and dark mode via a button. 1308 - # The default value is: AUTO_LIGHT. 1309 - # This tag requires that the tag GENERATE_HTML is set to YES. 1310 - 1311 - HTML_COLORSTYLE = AUTO_LIGHT 1312 - 1313 - # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen 1314 - # will adjust the colors in the style sheet and background images according to 1315 - # this color. Hue is specified as an angle on a color-wheel, see 1316 - # https://en.wikipedia.org/wiki/Hue for more information. For instance the value 1317 - # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 1318 - # purple, and 360 is red again. 1319 - # Minimum value: 0, maximum value: 359, default value: 220. 1320 - # This tag requires that the tag GENERATE_HTML is set to YES. 1321 - 1322 - HTML_COLORSTYLE_HUE = 220 1323 - 1324 - # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors 1325 - # in the HTML output. For a value of 0 the output will use gray-scales only. A 1326 - # value of 255 will produce the most vivid colors. 1327 - # Minimum value: 0, maximum value: 255, default value: 100. 1328 - # This tag requires that the tag GENERATE_HTML is set to YES. 1329 - 1330 - HTML_COLORSTYLE_SAT = 100 1331 - 1332 - # The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the 1333 - # luminance component of the colors in the HTML output. Values below 100 1334 - # gradually make the output lighter, whereas values above 100 make the output 1335 - # darker. The value divided by 100 is the actual gamma applied, so 80 represents 1336 - # a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not 1337 - # change the gamma. 1338 - # Minimum value: 40, maximum value: 240, default value: 80. 1339 - # This tag requires that the tag GENERATE_HTML is set to YES. 1340 - 1341 - HTML_COLORSTYLE_GAMMA = 80 1342 - 1343 - # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML 1344 - # page will contain the date and time when the page was generated. Setting this 1345 - # to YES can help to show when doxygen was last run and thus if the 1346 - # documentation is up to date. 1347 - # The default value is: NO. 1348 - # This tag requires that the tag GENERATE_HTML is set to YES. 1349 - 1350 - HTML_TIMESTAMP = NO 1351 - 1352 - # If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML 1353 - # documentation will contain a main index with vertical navigation menus that 1354 - # are dynamically created via JavaScript. If disabled, the navigation index will 1355 - # consists of multiple levels of tabs that are statically embedded in every HTML 1356 - # page. Disable this option to support browsers that do not have JavaScript, 1357 - # like the Qt help browser. 1358 - # The default value is: YES. 1359 - # This tag requires that the tag GENERATE_HTML is set to YES. 1360 - 1361 - HTML_DYNAMIC_MENUS = YES 1362 - 1363 - # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML 1364 - # documentation will contain sections that can be hidden and shown after the 1365 - # page has loaded. 1366 - # The default value is: NO. 1367 - # This tag requires that the tag GENERATE_HTML is set to YES. 1368 - 1369 - HTML_DYNAMIC_SECTIONS = NO 1370 - 1371 - # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries 1372 - # shown in the various tree structured indices initially; the user can expand 1373 - # and collapse entries dynamically later on. Doxygen will expand the tree to 1374 - # such a level that at most the specified number of entries are visible (unless 1375 - # a fully collapsed tree already exceeds this amount). So setting the number of 1376 - # entries 1 will produce a full collapsed tree by default. 0 is a special value 1377 - # representing an infinite number of entries and will result in a full expanded 1378 - # tree by default. 1379 - # Minimum value: 0, maximum value: 9999, default value: 100. 1380 - # This tag requires that the tag GENERATE_HTML is set to YES. 1381 - 1382 - HTML_INDEX_NUM_ENTRIES = 100 1383 - 1384 - # If the GENERATE_DOCSET tag is set to YES, additional index files will be 1385 - # generated that can be used as input for Apple's Xcode 3 integrated development 1386 - # environment (see: 1387 - # https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To 1388 - # create a documentation set, doxygen will generate a Makefile in the HTML 1389 - # output directory. Running make will produce the docset in that directory and 1390 - # running make install will install the docset in 1391 - # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at 1392 - # startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy 1393 - # genXcode/_index.html for more information. 1394 - # The default value is: NO. 1395 - # This tag requires that the tag GENERATE_HTML is set to YES. 1396 - 1397 - GENERATE_DOCSET = NO 1398 - 1399 - # This tag determines the name of the docset feed. A documentation feed provides 1400 - # an umbrella under which multiple documentation sets from a single provider 1401 - # (such as a company or product suite) can be grouped. 1402 - # The default value is: Doxygen generated docs. 1403 - # This tag requires that the tag GENERATE_DOCSET is set to YES. 1404 - 1405 - DOCSET_FEEDNAME = "Doxygen generated docs" 1406 - 1407 - # This tag determines the URL of the docset feed. A documentation feed provides 1408 - # an umbrella under which multiple documentation sets from a single provider 1409 - # (such as a company or product suite) can be grouped. 1410 - # This tag requires that the tag GENERATE_DOCSET is set to YES. 1411 - 1412 - DOCSET_FEEDURL = 1413 - 1414 - # This tag specifies a string that should uniquely identify the documentation 1415 - # set bundle. This should be a reverse domain-name style string, e.g. 1416 - # com.mycompany.MyDocSet. Doxygen will append .docset to the name. 1417 - # The default value is: org.doxygen.Project. 1418 - # This tag requires that the tag GENERATE_DOCSET is set to YES. 1419 - 1420 - DOCSET_BUNDLE_ID = org.doxygen.Project 1421 - 1422 - # The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify 1423 - # the documentation publisher. This should be a reverse domain-name style 1424 - # string, e.g. com.mycompany.MyDocSet.documentation. 1425 - # The default value is: org.doxygen.Publisher. 1426 - # This tag requires that the tag GENERATE_DOCSET is set to YES. 1427 - 1428 - DOCSET_PUBLISHER_ID = org.doxygen.Publisher 1429 - 1430 - # The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. 1431 - # The default value is: Publisher. 1432 - # This tag requires that the tag GENERATE_DOCSET is set to YES. 1433 - 1434 - DOCSET_PUBLISHER_NAME = Publisher 1435 - 1436 - # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three 1437 - # additional HTML index files: index.hhp, index.hhc, and index.hhk. The 1438 - # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop 1439 - # on Windows. In the beginning of 2021 Microsoft took the original page, with 1440 - # a.o. the download links, offline the HTML help workshop was already many years 1441 - # in maintenance mode). You can download the HTML help workshop from the web 1442 - # archives at Installation executable (see: 1443 - # http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo 1444 - # ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). 1445 - # 1446 - # The HTML Help Workshop contains a compiler that can convert all HTML output 1447 - # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML 1448 - # files are now used as the Windows 98 help format, and will replace the old 1449 - # Windows help format (.hlp) on all Windows platforms in the future. Compressed 1450 - # HTML files also contain an index, a table of contents, and you can search for 1451 - # words in the documentation. The HTML workshop also contains a viewer for 1452 - # compressed HTML files. 1453 - # The default value is: NO. 1454 - # This tag requires that the tag GENERATE_HTML is set to YES. 1455 - 1456 - GENERATE_HTMLHELP = NO 1457 - 1458 - # The CHM_FILE tag can be used to specify the file name of the resulting .chm 1459 - # file. You can add a path in front of the file if the result should not be 1460 - # written to the html output directory. 1461 - # This tag requires that the tag GENERATE_HTMLHELP is set to YES. 1462 - 1463 - CHM_FILE = 1464 - 1465 - # The HHC_LOCATION tag can be used to specify the location (absolute path 1466 - # including file name) of the HTML help compiler (hhc.exe). If non-empty, 1467 - # doxygen will try to run the HTML help compiler on the generated index.hhp. 1468 - # The file has to be specified with full path. 1469 - # This tag requires that the tag GENERATE_HTMLHELP is set to YES. 1470 - 1471 - HHC_LOCATION = 1472 - 1473 - # The GENERATE_CHI flag controls if a separate .chi index file is generated 1474 - # (YES) or that it should be included in the main .chm file (NO). 1475 - # The default value is: NO. 1476 - # This tag requires that the tag GENERATE_HTMLHELP is set to YES. 1477 - 1478 - GENERATE_CHI = NO 1479 - 1480 - # The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) 1481 - # and project file content. 1482 - # This tag requires that the tag GENERATE_HTMLHELP is set to YES. 1483 - 1484 - CHM_INDEX_ENCODING = 1485 - 1486 - # The BINARY_TOC flag controls whether a binary table of contents is generated 1487 - # (YES) or a normal table of contents (NO) in the .chm file. Furthermore it 1488 - # enables the Previous and Next buttons. 1489 - # The default value is: NO. 1490 - # This tag requires that the tag GENERATE_HTMLHELP is set to YES. 1491 - 1492 - BINARY_TOC = NO 1493 - 1494 - # The TOC_EXPAND flag can be set to YES to add extra items for group members to 1495 - # the table of contents of the HTML help documentation and to the tree view. 1496 - # The default value is: NO. 1497 - # This tag requires that the tag GENERATE_HTMLHELP is set to YES. 1498 - 1499 - TOC_EXPAND = NO 1500 - 1501 - # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and 1502 - # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that 1503 - # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help 1504 - # (.qch) of the generated HTML documentation. 1505 - # The default value is: NO. 1506 - # This tag requires that the tag GENERATE_HTML is set to YES. 1507 - 1508 - GENERATE_QHP = NO 1509 - 1510 - # If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify 1511 - # the file name of the resulting .qch file. The path specified is relative to 1512 - # the HTML output folder. 1513 - # This tag requires that the tag GENERATE_QHP is set to YES. 1514 - 1515 - QCH_FILE = 1516 - 1517 - # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help 1518 - # Project output. For more information please see Qt Help Project / Namespace 1519 - # (see: 1520 - # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). 1521 - # The default value is: org.doxygen.Project. 1522 - # This tag requires that the tag GENERATE_QHP is set to YES. 1523 - 1524 - QHP_NAMESPACE = org.doxygen.Project 1525 - 1526 - # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt 1527 - # Help Project output. For more information please see Qt Help Project / Virtual 1528 - # Folders (see: 1529 - # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). 1530 - # The default value is: doc. 1531 - # This tag requires that the tag GENERATE_QHP is set to YES. 1532 - 1533 - QHP_VIRTUAL_FOLDER = doc 1534 - 1535 - # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom 1536 - # filter to add. For more information please see Qt Help Project / Custom 1537 - # Filters (see: 1538 - # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). 1539 - # This tag requires that the tag GENERATE_QHP is set to YES. 1540 - 1541 - QHP_CUST_FILTER_NAME = 1542 - 1543 - # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the 1544 - # custom filter to add. For more information please see Qt Help Project / Custom 1545 - # Filters (see: 1546 - # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). 1547 - # This tag requires that the tag GENERATE_QHP is set to YES. 1548 - 1549 - QHP_CUST_FILTER_ATTRS = 1550 - 1551 - # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this 1552 - # project's filter section matches. Qt Help Project / Filter Attributes (see: 1553 - # https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). 1554 - # This tag requires that the tag GENERATE_QHP is set to YES. 1555 - 1556 - QHP_SECT_FILTER_ATTRS = 1557 - 1558 - # The QHG_LOCATION tag can be used to specify the location (absolute path 1559 - # including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to 1560 - # run qhelpgenerator on the generated .qhp file. 1561 - # This tag requires that the tag GENERATE_QHP is set to YES. 1562 - 1563 - QHG_LOCATION = 1564 - 1565 - # If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be 1566 - # generated, together with the HTML files, they form an Eclipse help plugin. To 1567 - # install this plugin and make it available under the help contents menu in 1568 - # Eclipse, the contents of the directory containing the HTML and XML files needs 1569 - # to be copied into the plugins directory of eclipse. The name of the directory 1570 - # within the plugins directory should be the same as the ECLIPSE_DOC_ID value. 1571 - # After copying Eclipse needs to be restarted before the help appears. 1572 - # The default value is: NO. 1573 - # This tag requires that the tag GENERATE_HTML is set to YES. 1574 - 1575 - GENERATE_ECLIPSEHELP = NO 1576 - 1577 - # A unique identifier for the Eclipse help plugin. When installing the plugin 1578 - # the directory name containing the HTML and XML files should also have this 1579 - # name. Each documentation set should have its own identifier. 1580 - # The default value is: org.doxygen.Project. 1581 - # This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. 1582 - 1583 - ECLIPSE_DOC_ID = org.doxygen.Project 1584 - 1585 - # If you want full control over the layout of the generated HTML pages it might 1586 - # be necessary to disable the index and replace it with your own. The 1587 - # DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top 1588 - # of each HTML page. A value of NO enables the index and the value YES disables 1589 - # it. Since the tabs in the index contain the same information as the navigation 1590 - # tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. 1591 - # The default value is: NO. 1592 - # This tag requires that the tag GENERATE_HTML is set to YES. 1593 - 1594 - DISABLE_INDEX = NO 1595 - 1596 - # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index 1597 - # structure should be generated to display hierarchical information. If the tag 1598 - # value is set to YES, a side panel will be generated containing a tree-like 1599 - # index structure (just like the one that is generated for HTML Help). For this 1600 - # to work a browser that supports JavaScript, DHTML, CSS and frames is required 1601 - # (i.e. any modern browser). Windows users are probably better off using the 1602 - # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can 1603 - # further fine tune the look of the index (see "Fine-tuning the output"). As an 1604 - # example, the default style sheet generated by doxygen has an example that 1605 - # shows how to put an image at the root of the tree instead of the PROJECT_NAME. 1606 - # Since the tree basically has the same information as the tab index, you could 1607 - # consider setting DISABLE_INDEX to YES when enabling this option. 1608 - # The default value is: NO. 1609 - # This tag requires that the tag GENERATE_HTML is set to YES. 1610 - 1611 - GENERATE_TREEVIEW = NO 1612 - 1613 - # When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the 1614 - # FULL_SIDEBAR option determines if the side bar is limited to only the treeview 1615 - # area (value NO) or if it should extend to the full height of the window (value 1616 - # YES). Setting this to YES gives a layout similar to 1617 - # https://docs.readthedocs.io with more room for contents, but less room for the 1618 - # project logo, title, and description. If either GENERATE_TREEVIEW or 1619 - # DISABLE_INDEX is set to NO, this option has no effect. 1620 - # The default value is: NO. 1621 - # This tag requires that the tag GENERATE_HTML is set to YES. 1622 - 1623 - FULL_SIDEBAR = NO 1624 - 1625 - # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that 1626 - # doxygen will group on one line in the generated HTML documentation. 1627 - # 1628 - # Note that a value of 0 will completely suppress the enum values from appearing 1629 - # in the overview section. 1630 - # Minimum value: 0, maximum value: 20, default value: 4. 1631 - # This tag requires that the tag GENERATE_HTML is set to YES. 1632 - 1633 - ENUM_VALUES_PER_LINE = 4 1634 - 1635 - # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used 1636 - # to set the initial width (in pixels) of the frame in which the tree is shown. 1637 - # Minimum value: 0, maximum value: 1500, default value: 250. 1638 - # This tag requires that the tag GENERATE_HTML is set to YES. 1639 - 1640 - TREEVIEW_WIDTH = 250 1641 - 1642 - # If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to 1643 - # external symbols imported via tag files in a separate window. 1644 - # The default value is: NO. 1645 - # This tag requires that the tag GENERATE_HTML is set to YES. 1646 - 1647 - EXT_LINKS_IN_WINDOW = NO 1648 - 1649 - # If the OBFUSCATE_EMAILS tag is set to YES, doxygen will obfuscate email 1650 - # addresses. 1651 - # The default value is: YES. 1652 - # This tag requires that the tag GENERATE_HTML is set to YES. 1653 - 1654 - OBFUSCATE_EMAILS = YES 1655 - 1656 - # If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg 1657 - # tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see 1658 - # https://inkscape.org) to generate formulas as SVG images instead of PNGs for 1659 - # the HTML output. These images will generally look nicer at scaled resolutions. 1660 - # Possible values are: png (the default) and svg (looks nicer but requires the 1661 - # pdf2svg or inkscape tool). 1662 - # The default value is: png. 1663 - # This tag requires that the tag GENERATE_HTML is set to YES. 1664 - 1665 - HTML_FORMULA_FORMAT = png 1666 - 1667 - # Use this tag to change the font size of LaTeX formulas included as images in 1668 - # the HTML documentation. When you change the font size after a successful 1669 - # doxygen run you need to manually remove any form_*.png images from the HTML 1670 - # output directory to force them to be regenerated. 1671 - # Minimum value: 8, maximum value: 50, default value: 10. 1672 - # This tag requires that the tag GENERATE_HTML is set to YES. 1673 - 1674 - FORMULA_FONTSIZE = 10 1675 - 1676 - # The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands 1677 - # to create new LaTeX commands to be used in formulas as building blocks. See 1678 - # the section "Including formulas" for details. 1679 - 1680 - FORMULA_MACROFILE = 1681 - 1682 - # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see 1683 - # https://www.mathjax.org) which uses client side JavaScript for the rendering 1684 - # instead of using pre-rendered bitmaps. Use this if you do not have LaTeX 1685 - # installed or if you want to formulas look prettier in the HTML output. When 1686 - # enabled you may also need to install MathJax separately and configure the path 1687 - # to it using the MATHJAX_RELPATH option. 1688 - # The default value is: NO. 1689 - # This tag requires that the tag GENERATE_HTML is set to YES. 1690 - 1691 - USE_MATHJAX = NO 1692 - 1693 - # With MATHJAX_VERSION it is possible to specify the MathJax version to be used. 1694 - # Note that the different versions of MathJax have different requirements with 1695 - # regards to the different settings, so it is possible that also other MathJax 1696 - # settings have to be changed when switching between the different MathJax 1697 - # versions. 1698 - # Possible values are: MathJax_2 and MathJax_3. 1699 - # The default value is: MathJax_2. 1700 - # This tag requires that the tag USE_MATHJAX is set to YES. 1701 - 1702 - MATHJAX_VERSION = MathJax_2 1703 - 1704 - # When MathJax is enabled you can set the default output format to be used for 1705 - # the MathJax output. For more details about the output format see MathJax 1706 - # version 2 (see: 1707 - # http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 1708 - # (see: 1709 - # http://docs.mathjax.org/en/latest/web/components/output.html). 1710 - # Possible values are: HTML-CSS (which is slower, but has the best 1711 - # compatibility. This is the name for Mathjax version 2, for MathJax version 3 1712 - # this will be translated into chtml), NativeMML (i.e. MathML. Only supported 1713 - # for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This 1714 - # is the name for Mathjax version 3, for MathJax version 2 this will be 1715 - # translated into HTML-CSS) and SVG. 1716 - # The default value is: HTML-CSS. 1717 - # This tag requires that the tag USE_MATHJAX is set to YES. 1718 - 1719 - MATHJAX_FORMAT = HTML-CSS 1720 - 1721 - # When MathJax is enabled you need to specify the location relative to the HTML 1722 - # output directory using the MATHJAX_RELPATH option. The destination directory 1723 - # should contain the MathJax.js script. For instance, if the mathjax directory 1724 - # is located at the same level as the HTML output directory, then 1725 - # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax 1726 - # Content Delivery Network so you can quickly see the result without installing 1727 - # MathJax. However, it is strongly recommended to install a local copy of 1728 - # MathJax from https://www.mathjax.org before deployment. The default value is: 1729 - # - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 1730 - # - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 1731 - # This tag requires that the tag USE_MATHJAX is set to YES. 1732 - 1733 - MATHJAX_RELPATH = 1734 - 1735 - # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax 1736 - # extension names that should be enabled during MathJax rendering. For example 1737 - # for MathJax version 2 (see 1738 - # https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions): 1739 - # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols 1740 - # For example for MathJax version 3 (see 1741 - # http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): 1742 - # MATHJAX_EXTENSIONS = ams 1743 - # This tag requires that the tag USE_MATHJAX is set to YES. 1744 - 1745 - MATHJAX_EXTENSIONS = 1746 - 1747 - # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces 1748 - # of code that will be used on startup of the MathJax code. See the MathJax site 1749 - # (see: 1750 - # http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an 1751 - # example see the documentation. 1752 - # This tag requires that the tag USE_MATHJAX is set to YES. 1753 - 1754 - MATHJAX_CODEFILE = 1755 - 1756 - # When the SEARCHENGINE tag is enabled doxygen will generate a search box for 1757 - # the HTML output. The underlying search engine uses javascript and DHTML and 1758 - # should work on any modern browser. Note that when using HTML help 1759 - # (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) 1760 - # there is already a search function so this one should typically be disabled. 1761 - # For large projects the javascript based search engine can be slow, then 1762 - # enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to 1763 - # search using the keyboard; to jump to the search box use <access key> + S 1764 - # (what the <access key> is depends on the OS and browser, but it is typically 1765 - # <CTRL>, <ALT>/<option>, or both). Inside the search box use the <cursor down 1766 - # key> to jump into the search results window, the results can be navigated 1767 - # using the <cursor keys>. Press <Enter> to select an item or <escape> to cancel 1768 - # the search. The filter options can be selected when the cursor is inside the 1769 - # search box by pressing <Shift>+<cursor down>. Also here use the <cursor keys> 1770 - # to select a filter and <Enter> or <escape> to activate or cancel the filter 1771 - # option. 1772 - # The default value is: YES. 1773 - # This tag requires that the tag GENERATE_HTML is set to YES. 1774 - 1775 - SEARCHENGINE = YES 1776 - 1777 - # When the SERVER_BASED_SEARCH tag is enabled the search engine will be 1778 - # implemented using a web server instead of a web client using JavaScript. There 1779 - # are two flavors of web server based searching depending on the EXTERNAL_SEARCH 1780 - # setting. When disabled, doxygen will generate a PHP script for searching and 1781 - # an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing 1782 - # and searching needs to be provided by external tools. See the section 1783 - # "External Indexing and Searching" for details. 1784 - # The default value is: NO. 1785 - # This tag requires that the tag SEARCHENGINE is set to YES. 1786 - 1787 - SERVER_BASED_SEARCH = NO 1788 - 1789 - # When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP 1790 - # script for searching. Instead the search results are written to an XML file 1791 - # which needs to be processed by an external indexer. Doxygen will invoke an 1792 - # external search engine pointed to by the SEARCHENGINE_URL option to obtain the 1793 - # search results. 1794 - # 1795 - # Doxygen ships with an example indexer (doxyindexer) and search engine 1796 - # (doxysearch.cgi) which are based on the open source search engine library 1797 - # Xapian (see: 1798 - # https://xapian.org/). 1799 - # 1800 - # See the section "External Indexing and Searching" for details. 1801 - # The default value is: NO. 1802 - # This tag requires that the tag SEARCHENGINE is set to YES. 1803 - 1804 - EXTERNAL_SEARCH = NO 1805 - 1806 - # The SEARCHENGINE_URL should point to a search engine hosted by a web server 1807 - # which will return the search results when EXTERNAL_SEARCH is enabled. 1808 - # 1809 - # Doxygen ships with an example indexer (doxyindexer) and search engine 1810 - # (doxysearch.cgi) which are based on the open source search engine library 1811 - # Xapian (see: 1812 - # https://xapian.org/). See the section "External Indexing and Searching" for 1813 - # details. 1814 - # This tag requires that the tag SEARCHENGINE is set to YES. 1815 - 1816 - SEARCHENGINE_URL = 1817 - 1818 - # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed 1819 - # search data is written to a file for indexing by an external tool. With the 1820 - # SEARCHDATA_FILE tag the name of this file can be specified. 1821 - # The default file is: searchdata.xml. 1822 - # This tag requires that the tag SEARCHENGINE is set to YES. 1823 - 1824 - SEARCHDATA_FILE = searchdata.xml 1825 - 1826 - # When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the 1827 - # EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is 1828 - # useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple 1829 - # projects and redirect the results back to the right project. 1830 - # This tag requires that the tag SEARCHENGINE is set to YES. 1831 - 1832 - EXTERNAL_SEARCH_ID = 1833 - 1834 - # The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen 1835 - # projects other than the one defined by this configuration file, but that are 1836 - # all added to the same external search index. Each project needs to have a 1837 - # unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id of 1838 - # to a relative location where the documentation can be found. The format is: 1839 - # EXTRA_SEARCH_MAPPINGS = tagname1=loc1 tagname2=loc2 ... 1840 - # This tag requires that the tag SEARCHENGINE is set to YES. 1841 - 1842 - EXTRA_SEARCH_MAPPINGS = 1843 - 1844 - #--------------------------------------------------------------------------- 1845 - # Configuration options related to the LaTeX output 1846 - #--------------------------------------------------------------------------- 1847 - 1848 - # If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output. 1849 - # The default value is: YES. 1850 - 1851 - GENERATE_LATEX = YES 1852 - 1853 - # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. If a 1854 - # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of 1855 - # it. 1856 - # The default directory is: latex. 1857 - # This tag requires that the tag GENERATE_LATEX is set to YES. 1858 - 1859 - LATEX_OUTPUT = latex 1860 - 1861 - # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be 1862 - # invoked. 1863 - # 1864 - # Note that when not enabling USE_PDFLATEX the default is latex when enabling 1865 - # USE_PDFLATEX the default is pdflatex and when in the later case latex is 1866 - # chosen this is overwritten by pdflatex. For specific output languages the 1867 - # default can have been set differently, this depends on the implementation of 1868 - # the output language. 1869 - # This tag requires that the tag GENERATE_LATEX is set to YES. 1870 - 1871 - LATEX_CMD_NAME = 1872 - 1873 - # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate 1874 - # index for LaTeX. 1875 - # Note: This tag is used in the Makefile / make.bat. 1876 - # See also: LATEX_MAKEINDEX_CMD for the part in the generated output file 1877 - # (.tex). 1878 - # The default file is: makeindex. 1879 - # This tag requires that the tag GENERATE_LATEX is set to YES. 1880 - 1881 - MAKEINDEX_CMD_NAME = makeindex 1882 - 1883 - # The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to 1884 - # generate index for LaTeX. In case there is no backslash (\) as first character 1885 - # it will be automatically added in the LaTeX code. 1886 - # Note: This tag is used in the generated output file (.tex). 1887 - # See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat. 1888 - # The default value is: makeindex. 1889 - # This tag requires that the tag GENERATE_LATEX is set to YES. 1890 - 1891 - LATEX_MAKEINDEX_CMD = makeindex 1892 - 1893 - # If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX 1894 - # documents. This may be useful for small projects and may help to save some 1895 - # trees in general. 1896 - # The default value is: NO. 1897 - # This tag requires that the tag GENERATE_LATEX is set to YES. 1898 - 1899 - COMPACT_LATEX = NO 1900 - 1901 - # The PAPER_TYPE tag can be used to set the paper type that is used by the 1902 - # printer. 1903 - # Possible values are: a4 (210 x 297 mm), letter (8.5 x 11 inches), legal (8.5 x 1904 - # 14 inches) and executive (7.25 x 10.5 inches). 1905 - # The default value is: a4. 1906 - # This tag requires that the tag GENERATE_LATEX is set to YES. 1907 - 1908 - PAPER_TYPE = a4 1909 - 1910 - # The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names 1911 - # that should be included in the LaTeX output. The package can be specified just 1912 - # by its name or with the correct syntax as to be used with the LaTeX 1913 - # \usepackage command. To get the times font for instance you can specify : 1914 - # EXTRA_PACKAGES=times or EXTRA_PACKAGES={times} 1915 - # To use the option intlimits with the amsmath package you can specify: 1916 - # EXTRA_PACKAGES=[intlimits]{amsmath} 1917 - # If left blank no extra packages will be included. 1918 - # This tag requires that the tag GENERATE_LATEX is set to YES. 1919 - 1920 - EXTRA_PACKAGES = 1921 - 1922 - # The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for 1923 - # the generated LaTeX document. The header should contain everything until the 1924 - # first chapter. If it is left blank doxygen will generate a standard header. It 1925 - # is highly recommended to start with a default header using 1926 - # doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty 1927 - # and then modify the file new_header.tex. See also section "Doxygen usage" for 1928 - # information on how to generate the default header that doxygen normally uses. 1929 - # 1930 - # Note: Only use a user-defined header if you know what you are doing! 1931 - # Note: The header is subject to change so you typically have to regenerate the 1932 - # default header when upgrading to a newer version of doxygen. The following 1933 - # commands have a special meaning inside the header (and footer): For a 1934 - # description of the possible markers and block names see the documentation. 1935 - # This tag requires that the tag GENERATE_LATEX is set to YES. 1936 - 1937 - LATEX_HEADER = 1938 - 1939 - # The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for 1940 - # the generated LaTeX document. The footer should contain everything after the 1941 - # last chapter. If it is left blank doxygen will generate a standard footer. See 1942 - # LATEX_HEADER for more information on how to generate a default footer and what 1943 - # special commands can be used inside the footer. See also section "Doxygen 1944 - # usage" for information on how to generate the default footer that doxygen 1945 - # normally uses. Note: Only use a user-defined footer if you know what you are 1946 - # doing! 1947 - # This tag requires that the tag GENERATE_LATEX is set to YES. 1948 - 1949 - LATEX_FOOTER = 1950 - 1951 - # The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined 1952 - # LaTeX style sheets that are included after the standard style sheets created 1953 - # by doxygen. Using this option one can overrule certain style aspects. Doxygen 1954 - # will copy the style sheet files to the output directory. 1955 - # Note: The order of the extra style sheet files is of importance (e.g. the last 1956 - # style sheet in the list overrules the setting of the previous ones in the 1957 - # list). 1958 - # This tag requires that the tag GENERATE_LATEX is set to YES. 1959 - 1960 - LATEX_EXTRA_STYLESHEET = 1961 - 1962 - # The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or 1963 - # other source files which should be copied to the LATEX_OUTPUT output 1964 - # directory. Note that the files will be copied as-is; there are no commands or 1965 - # markers available. 1966 - # This tag requires that the tag GENERATE_LATEX is set to YES. 1967 - 1968 - LATEX_EXTRA_FILES = 1969 - 1970 - # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated is 1971 - # prepared for conversion to PDF (using ps2pdf or pdflatex). The PDF file will 1972 - # contain links (just like the HTML output) instead of page references. This 1973 - # makes the output suitable for online browsing using a PDF viewer. 1974 - # The default value is: YES. 1975 - # This tag requires that the tag GENERATE_LATEX is set to YES. 1976 - 1977 - PDF_HYPERLINKS = YES 1978 - 1979 - # If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as 1980 - # specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX 1981 - # files. Set this option to YES, to get a higher quality PDF documentation. 1982 - # 1983 - # See also section LATEX_CMD_NAME for selecting the engine. 1984 - # The default value is: YES. 1985 - # This tag requires that the tag GENERATE_LATEX is set to YES. 1986 - 1987 - USE_PDFLATEX = YES 1988 - 1989 - # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode 1990 - # command to the generated LaTeX files. This will instruct LaTeX to keep running 1991 - # if errors occur, instead of asking the user for help. 1992 - # The default value is: NO. 1993 - # This tag requires that the tag GENERATE_LATEX is set to YES. 1994 - 1995 - LATEX_BATCHMODE = NO 1996 - 1997 - # If the LATEX_HIDE_INDICES tag is set to YES then doxygen will not include the 1998 - # index chapters (such as File Index, Compound Index, etc.) in the output. 1999 - # The default value is: NO. 2000 - # This tag requires that the tag GENERATE_LATEX is set to YES. 2001 - 2002 - LATEX_HIDE_INDICES = NO 2003 - 2004 - # The LATEX_BIB_STYLE tag can be used to specify the style to use for the 2005 - # bibliography, e.g. plainnat, or ieeetr. See 2006 - # https://en.wikipedia.org/wiki/BibTeX and \cite for more info. 2007 - # The default value is: plain. 2008 - # This tag requires that the tag GENERATE_LATEX is set to YES. 2009 - 2010 - LATEX_BIB_STYLE = plain 2011 - 2012 - # If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated 2013 - # page will contain the date and time when the page was generated. Setting this 2014 - # to NO can help when comparing the output of multiple runs. 2015 - # The default value is: NO. 2016 - # This tag requires that the tag GENERATE_LATEX is set to YES. 2017 - 2018 - LATEX_TIMESTAMP = NO 2019 - 2020 - # The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute) 2021 - # path from which the emoji images will be read. If a relative path is entered, 2022 - # it will be relative to the LATEX_OUTPUT directory. If left blank the 2023 - # LATEX_OUTPUT directory will be used. 2024 - # This tag requires that the tag GENERATE_LATEX is set to YES. 2025 - 2026 - LATEX_EMOJI_DIRECTORY = 2027 - 2028 - #--------------------------------------------------------------------------- 2029 - # Configuration options related to the RTF output 2030 - #--------------------------------------------------------------------------- 2031 - 2032 - # If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The 2033 - # RTF output is optimized for Word 97 and may not look too pretty with other RTF 2034 - # readers/editors. 2035 - # The default value is: NO. 2036 - 2037 - GENERATE_RTF = NO 2038 - 2039 - # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. If a 2040 - # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of 2041 - # it. 2042 - # The default directory is: rtf. 2043 - # This tag requires that the tag GENERATE_RTF is set to YES. 2044 - 2045 - RTF_OUTPUT = rtf 2046 - 2047 - # If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF 2048 - # documents. This may be useful for small projects and may help to save some 2049 - # trees in general. 2050 - # The default value is: NO. 2051 - # This tag requires that the tag GENERATE_RTF is set to YES. 2052 - 2053 - COMPACT_RTF = NO 2054 - 2055 - # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated will 2056 - # contain hyperlink fields. The RTF file will contain links (just like the HTML 2057 - # output) instead of page references. This makes the output suitable for online 2058 - # browsing using Word or some other Word compatible readers that support those 2059 - # fields. 2060 - # 2061 - # Note: WordPad (write) and others do not support links. 2062 - # The default value is: NO. 2063 - # This tag requires that the tag GENERATE_RTF is set to YES. 2064 - 2065 - RTF_HYPERLINKS = NO 2066 - 2067 - # Load stylesheet definitions from file. Syntax is similar to doxygen's 2068 - # configuration file, i.e. a series of assignments. You only have to provide 2069 - # replacements, missing definitions are set to their default value. 2070 - # 2071 - # See also section "Doxygen usage" for information on how to generate the 2072 - # default style sheet that doxygen normally uses. 2073 - # This tag requires that the tag GENERATE_RTF is set to YES. 2074 - 2075 - RTF_STYLESHEET_FILE = 2076 - 2077 - # Set optional variables used in the generation of an RTF document. Syntax is 2078 - # similar to doxygen's configuration file. A template extensions file can be 2079 - # generated using doxygen -e rtf extensionFile. 2080 - # This tag requires that the tag GENERATE_RTF is set to YES. 2081 - 2082 - RTF_EXTENSIONS_FILE = 2083 - 2084 - #--------------------------------------------------------------------------- 2085 - # Configuration options related to the man page output 2086 - #--------------------------------------------------------------------------- 2087 - 2088 - # If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for 2089 - # classes and files. 2090 - # The default value is: NO. 2091 - 2092 - GENERATE_MAN = NO 2093 - 2094 - # The MAN_OUTPUT tag is used to specify where the man pages will be put. If a 2095 - # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of 2096 - # it. A directory man3 will be created inside the directory specified by 2097 - # MAN_OUTPUT. 2098 - # The default directory is: man. 2099 - # This tag requires that the tag GENERATE_MAN is set to YES. 2100 - 2101 - MAN_OUTPUT = man 2102 - 2103 - # The MAN_EXTENSION tag determines the extension that is added to the generated 2104 - # man pages. In case the manual section does not start with a number, the number 2105 - # 3 is prepended. The dot (.) at the beginning of the MAN_EXTENSION tag is 2106 - # optional. 2107 - # The default value is: .3. 2108 - # This tag requires that the tag GENERATE_MAN is set to YES. 2109 - 2110 - MAN_EXTENSION = .3 2111 - 2112 - # The MAN_SUBDIR tag determines the name of the directory created within 2113 - # MAN_OUTPUT in which the man pages are placed. If defaults to man followed by 2114 - # MAN_EXTENSION with the initial . removed. 2115 - # This tag requires that the tag GENERATE_MAN is set to YES. 2116 - 2117 - MAN_SUBDIR = 2118 - 2119 - # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it 2120 - # will generate one additional man file for each entity documented in the real 2121 - # man page(s). These additional files only source the real man page, but without 2122 - # them the man command would be unable to find the correct page. 2123 - # The default value is: NO. 2124 - # This tag requires that the tag GENERATE_MAN is set to YES. 2125 - 2126 - MAN_LINKS = NO 2127 - 2128 - #--------------------------------------------------------------------------- 2129 - # Configuration options related to the XML output 2130 - #--------------------------------------------------------------------------- 2131 - 2132 - # If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that 2133 - # captures the structure of the code including all documentation. 2134 - # The default value is: NO. 2135 - 2136 - GENERATE_XML = NO 2137 - 2138 - # The XML_OUTPUT tag is used to specify where the XML pages will be put. If a 2139 - # relative path is entered the value of OUTPUT_DIRECTORY will be put in front of 2140 - # it. 2141 - # The default directory is: xml. 2142 - # This tag requires that the tag GENERATE_XML is set to YES. 2143 - 2144 - XML_OUTPUT = xml 2145 - 2146 - # If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program 2147 - # listings (including syntax highlighting and cross-referencing information) to 2148 - # the XML output. Note that enabling this will significantly increase the size 2149 - # of the XML output. 2150 - # The default value is: YES. 2151 - # This tag requires that the tag GENERATE_XML is set to YES. 2152 - 2153 - XML_PROGRAMLISTING = YES 2154 - 2155 - # If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include 2156 - # namespace members in file scope as well, matching the HTML output. 2157 - # The default value is: NO. 2158 - # This tag requires that the tag GENERATE_XML is set to YES. 2159 - 2160 - XML_NS_MEMB_FILE_SCOPE = NO 2161 - 2162 - #--------------------------------------------------------------------------- 2163 - # Configuration options related to the DOCBOOK output 2164 - #--------------------------------------------------------------------------- 2165 - 2166 - # If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files 2167 - # that can be used to generate PDF. 2168 - # The default value is: NO. 2169 - 2170 - GENERATE_DOCBOOK = NO 2171 - 2172 - # The DOCBOOK_OUTPUT tag is used to specify where the Docbook pages will be put. 2173 - # If a relative path is entered the value of OUTPUT_DIRECTORY will be put in 2174 - # front of it. 2175 - # The default directory is: docbook. 2176 - # This tag requires that the tag GENERATE_DOCBOOK is set to YES. 2177 - 2178 - DOCBOOK_OUTPUT = docbook 2179 - 2180 - #--------------------------------------------------------------------------- 2181 - # Configuration options for the AutoGen Definitions output 2182 - #--------------------------------------------------------------------------- 2183 - 2184 - # If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an 2185 - # AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures 2186 - # the structure of the code including all documentation. Note that this feature 2187 - # is still experimental and incomplete at the moment. 2188 - # The default value is: NO. 2189 - 2190 - GENERATE_AUTOGEN_DEF = NO 2191 - 2192 - #--------------------------------------------------------------------------- 2193 - # Configuration options related to the Perl module output 2194 - #--------------------------------------------------------------------------- 2195 - 2196 - # If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module 2197 - # file that captures the structure of the code including all documentation. 2198 - # 2199 - # Note that this feature is still experimental and incomplete at the moment. 2200 - # The default value is: NO. 2201 - 2202 - GENERATE_PERLMOD = NO 2203 - 2204 - # If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary 2205 - # Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI 2206 - # output from the Perl module output. 2207 - # The default value is: NO. 2208 - # This tag requires that the tag GENERATE_PERLMOD is set to YES. 2209 - 2210 - PERLMOD_LATEX = NO 2211 - 2212 - # If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely 2213 - # formatted so it can be parsed by a human reader. This is useful if you want to 2214 - # understand what is going on. On the other hand, if this tag is set to NO, the 2215 - # size of the Perl module output will be much smaller and Perl will parse it 2216 - # just the same. 2217 - # The default value is: YES. 2218 - # This tag requires that the tag GENERATE_PERLMOD is set to YES. 2219 - 2220 - PERLMOD_PRETTY = YES 2221 - 2222 - # The names of the make variables in the generated doxyrules.make file are 2223 - # prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. This is useful 2224 - # so different doxyrules.make files included by the same Makefile don't 2225 - # overwrite each other's variables. 2226 - # This tag requires that the tag GENERATE_PERLMOD is set to YES. 2227 - 2228 - PERLMOD_MAKEVAR_PREFIX = 2229 - 2230 - #--------------------------------------------------------------------------- 2231 - # Configuration options related to the preprocessor 2232 - #--------------------------------------------------------------------------- 2233 - 2234 - # If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all 2235 - # C-preprocessor directives found in the sources and include files. 2236 - # The default value is: YES. 2237 - 2238 - ENABLE_PREPROCESSING = YES 2239 - 2240 - # If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names 2241 - # in the source code. If set to NO, only conditional compilation will be 2242 - # performed. Macro expansion can be done in a controlled way by setting 2243 - # EXPAND_ONLY_PREDEF to YES. 2244 - # The default value is: NO. 2245 - # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. 2246 - 2247 - MACRO_EXPANSION = NO 2248 - 2249 - # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES then 2250 - # the macro expansion is limited to the macros specified with the PREDEFINED and 2251 - # EXPAND_AS_DEFINED tags. 2252 - # The default value is: NO. 2253 - # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. 2254 - 2255 - EXPAND_ONLY_PREDEF = NO 2256 - 2257 - # If the SEARCH_INCLUDES tag is set to YES, the include files in the 2258 - # INCLUDE_PATH will be searched if a #include is found. 2259 - # The default value is: YES. 2260 - # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. 2261 - 2262 - SEARCH_INCLUDES = YES 2263 - 2264 - # The INCLUDE_PATH tag can be used to specify one or more directories that 2265 - # contain include files that are not input files but should be processed by the 2266 - # preprocessor. Note that the INCLUDE_PATH is not recursive, so the setting of 2267 - # RECURSIVE has no effect here. 2268 - # This tag requires that the tag SEARCH_INCLUDES is set to YES. 2269 - 2270 - INCLUDE_PATH = 2271 - 2272 - # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard 2273 - # patterns (like *.h and *.hpp) to filter out the header-files in the 2274 - # directories. If left blank, the patterns specified with FILE_PATTERNS will be 2275 - # used. 2276 - # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. 2277 - 2278 - INCLUDE_FILE_PATTERNS = 2279 - 2280 - # The PREDEFINED tag can be used to specify one or more macro names that are 2281 - # defined before the preprocessor is started (similar to the -D option of e.g. 2282 - # gcc). The argument of the tag is a list of macros of the form: name or 2283 - # name=definition (no spaces). If the definition and the "=" are omitted, "=1" 2284 - # is assumed. To prevent a macro definition from being undefined via #undef or 2285 - # recursively expanded use the := operator instead of the = operator. 2286 - # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. 2287 - 2288 - PREDEFINED = 2289 - 2290 - # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this 2291 - # tag can be used to specify a list of macro names that should be expanded. The 2292 - # macro definition that is found in the sources will be used. Use the PREDEFINED 2293 - # tag if you want to use a different macro definition that overrules the 2294 - # definition found in the source code. 2295 - # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. 2296 - 2297 - EXPAND_AS_DEFINED = 2298 - 2299 - # If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will 2300 - # remove all references to function-like macros that are alone on a line, have 2301 - # an all uppercase name, and do not end with a semicolon. Such function macros 2302 - # are typically used for boiler-plate code, and will confuse the parser if not 2303 - # removed. 2304 - # The default value is: YES. 2305 - # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. 2306 - 2307 - SKIP_FUNCTION_MACROS = YES 2308 - 2309 - #--------------------------------------------------------------------------- 2310 - # Configuration options related to external references 2311 - #--------------------------------------------------------------------------- 2312 - 2313 - # The TAGFILES tag can be used to specify one or more tag files. For each tag 2314 - # file the location of the external documentation should be added. The format of 2315 - # a tag file without this location is as follows: 2316 - # TAGFILES = file1 file2 ... 2317 - # Adding location for the tag files is done as follows: 2318 - # TAGFILES = file1=loc1 "file2 = loc2" ... 2319 - # where loc1 and loc2 can be relative or absolute paths or URLs. See the 2320 - # section "Linking to external documentation" for more information about the use 2321 - # of tag files. 2322 - # Note: Each tag file must have a unique name (where the name does NOT include 2323 - # the path). If a tag file is not located in the directory in which doxygen is 2324 - # run, you must also specify the path to the tagfile here. 2325 - 2326 - TAGFILES = 2327 - 2328 - # When a file name is specified after GENERATE_TAGFILE, doxygen will create a 2329 - # tag file that is based on the input files it reads. See section "Linking to 2330 - # external documentation" for more information about the usage of tag files. 2331 - 2332 - GENERATE_TAGFILE = 2333 - 2334 - # If the ALLEXTERNALS tag is set to YES, all external class will be listed in 2335 - # the class index. If set to NO, only the inherited external classes will be 2336 - # listed. 2337 - # The default value is: NO. 2338 - 2339 - ALLEXTERNALS = NO 2340 - 2341 - # If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed 2342 - # in the modules index. If set to NO, only the current project's groups will be 2343 - # listed. 2344 - # The default value is: YES. 2345 - 2346 - EXTERNAL_GROUPS = YES 2347 - 2348 - # If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in 2349 - # the related pages index. If set to NO, only the current project's pages will 2350 - # be listed. 2351 - # The default value is: YES. 2352 - 2353 - EXTERNAL_PAGES = YES 2354 - 2355 - #--------------------------------------------------------------------------- 2356 - # Configuration options related to the dot tool 2357 - #--------------------------------------------------------------------------- 2358 - 2359 - # You can include diagrams made with dia in doxygen documentation. Doxygen will 2360 - # then run dia to produce the diagram and insert it in the documentation. The 2361 - # DIA_PATH tag allows you to specify the directory where the dia binary resides. 2362 - # If left empty dia is assumed to be found in the default search path. 2363 - 2364 - DIA_PATH = 2365 - 2366 - # If set to YES the inheritance and collaboration graphs will hide inheritance 2367 - # and usage relations if the target is undocumented or is not a class. 2368 - # The default value is: YES. 2369 - 2370 - HIDE_UNDOC_RELATIONS = YES 2371 - 2372 - # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is 2373 - # available from the path. This tool is part of Graphviz (see: 2374 - # http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent 2375 - # Bell Labs. The other options in this section have no effect if this option is 2376 - # set to NO 2377 - # The default value is: NO. 2378 - 2379 - HAVE_DOT = NO 2380 - 2381 - # The DOT_NUM_THREADS specifies the number of dot invocations doxygen is allowed 2382 - # to run in parallel. When set to 0 doxygen will base this on the number of 2383 - # processors available in the system. You can set it explicitly to a value 2384 - # larger than 0 to get control over the balance between CPU load and processing 2385 - # speed. 2386 - # Minimum value: 0, maximum value: 32, default value: 0. 2387 - # This tag requires that the tag HAVE_DOT is set to YES. 2388 - 2389 - DOT_NUM_THREADS = 0 2390 - 2391 - # DOT_COMMON_ATTR is common attributes for nodes, edges and labels of 2392 - # subgraphs. When you want a differently looking font in the dot files that 2393 - # doxygen generates you can specify fontname, fontcolor and fontsize attributes. 2394 - # For details please see <a href=https://graphviz.org/doc/info/attrs.html>Node, 2395 - # Edge and Graph Attributes specification</a> You need to make sure dot is able 2396 - # to find the font, which can be done by putting it in a standard location or by 2397 - # setting the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the 2398 - # directory containing the font. Default graphviz fontsize is 14. 2399 - # The default value is: fontname=Helvetica,fontsize=10. 2400 - # This tag requires that the tag HAVE_DOT is set to YES. 2401 - 2402 - DOT_COMMON_ATTR = "fontname=Helvetica,fontsize=10" 2403 - 2404 - # DOT_EDGE_ATTR is concatenated with DOT_COMMON_ATTR. For elegant style you can 2405 - # add 'arrowhead=open, arrowtail=open, arrowsize=0.5'. <a 2406 - # href=https://graphviz.org/doc/info/arrows.html>Complete documentation about 2407 - # arrows shapes.</a> 2408 - # The default value is: labelfontname=Helvetica,labelfontsize=10. 2409 - # This tag requires that the tag HAVE_DOT is set to YES. 2410 - 2411 - DOT_EDGE_ATTR = "labelfontname=Helvetica,labelfontsize=10" 2412 - 2413 - # DOT_NODE_ATTR is concatenated with DOT_COMMON_ATTR. For view without boxes 2414 - # around nodes set 'shape=plain' or 'shape=plaintext' <a 2415 - # href=https://www.graphviz.org/doc/info/shapes.html>Shapes specification</a> 2416 - # The default value is: shape=box,height=0.2,width=0.4. 2417 - # This tag requires that the tag HAVE_DOT is set to YES. 2418 - 2419 - DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4" 2420 - 2421 - # You can set the path where dot can find font specified with fontname in 2422 - # DOT_COMMON_ATTR and others dot attributes. 2423 - # This tag requires that the tag HAVE_DOT is set to YES. 2424 - 2425 - DOT_FONTPATH = 2426 - 2427 - # If the CLASS_GRAPH tag is set to YES (or GRAPH) then doxygen will generate a 2428 - # graph for each documented class showing the direct and indirect inheritance 2429 - # relations. In case HAVE_DOT is set as well dot will be used to draw the graph, 2430 - # otherwise the built-in generator will be used. If the CLASS_GRAPH tag is set 2431 - # to TEXT the direct and indirect inheritance relations will be shown as texts / 2432 - # links. 2433 - # Possible values are: NO, YES, TEXT and GRAPH. 2434 - # The default value is: YES. 2435 - 2436 - CLASS_GRAPH = YES 2437 - 2438 - # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a 2439 - # graph for each documented class showing the direct and indirect implementation 2440 - # dependencies (inheritance, containment, and class references variables) of the 2441 - # class with other documented classes. 2442 - # The default value is: YES. 2443 - # This tag requires that the tag HAVE_DOT is set to YES. 2444 - 2445 - COLLABORATION_GRAPH = YES 2446 - 2447 - # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for 2448 - # groups, showing the direct groups dependencies. See also the chapter Grouping 2449 - # in the manual. 2450 - # The default value is: YES. 2451 - # This tag requires that the tag HAVE_DOT is set to YES. 2452 - 2453 - GROUP_GRAPHS = YES 2454 - 2455 - # If the UML_LOOK tag is set to YES, doxygen will generate inheritance and 2456 - # collaboration diagrams in a style similar to the OMG's Unified Modeling 2457 - # Language. 2458 - # The default value is: NO. 2459 - # This tag requires that the tag HAVE_DOT is set to YES. 2460 - 2461 - UML_LOOK = NO 2462 - 2463 - # If the UML_LOOK tag is enabled, the fields and methods are shown inside the 2464 - # class node. If there are many fields or methods and many nodes the graph may 2465 - # become too big to be useful. The UML_LIMIT_NUM_FIELDS threshold limits the 2466 - # number of items for each type to make the size more manageable. Set this to 0 2467 - # for no limit. Note that the threshold may be exceeded by 50% before the limit 2468 - # is enforced. So when you set the threshold to 10, up to 15 fields may appear, 2469 - # but if the number exceeds 15, the total amount of fields shown is limited to 2470 - # 10. 2471 - # Minimum value: 0, maximum value: 100, default value: 10. 2472 - # This tag requires that the tag UML_LOOK is set to YES. 2473 - 2474 - UML_LIMIT_NUM_FIELDS = 10 2475 - 2476 - # If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and 2477 - # methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS 2478 - # tag is set to YES, doxygen will add type and arguments for attributes and 2479 - # methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen 2480 - # will not generate fields with class member information in the UML graphs. The 2481 - # class diagrams will look similar to the default class diagrams but using UML 2482 - # notation for the relationships. 2483 - # Possible values are: NO, YES and NONE. 2484 - # The default value is: NO. 2485 - # This tag requires that the tag UML_LOOK is set to YES. 2486 - 2487 - DOT_UML_DETAILS = NO 2488 - 2489 - # The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters 2490 - # to display on a single line. If the actual line length exceeds this threshold 2491 - # significantly it will wrapped across multiple lines. Some heuristics are apply 2492 - # to avoid ugly line breaks. 2493 - # Minimum value: 0, maximum value: 1000, default value: 17. 2494 - # This tag requires that the tag HAVE_DOT is set to YES. 2495 - 2496 - DOT_WRAP_THRESHOLD = 17 2497 - 2498 - # If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and 2499 - # collaboration graphs will show the relations between templates and their 2500 - # instances. 2501 - # The default value is: NO. 2502 - # This tag requires that the tag HAVE_DOT is set to YES. 2503 - 2504 - TEMPLATE_RELATIONS = NO 2505 - 2506 - # If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to 2507 - # YES then doxygen will generate a graph for each documented file showing the 2508 - # direct and indirect include dependencies of the file with other documented 2509 - # files. 2510 - # The default value is: YES. 2511 - # This tag requires that the tag HAVE_DOT is set to YES. 2512 - 2513 - INCLUDE_GRAPH = YES 2514 - 2515 - # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are 2516 - # set to YES then doxygen will generate a graph for each documented file showing 2517 - # the direct and indirect include dependencies of the file with other documented 2518 - # files. 2519 - # The default value is: YES. 2520 - # This tag requires that the tag HAVE_DOT is set to YES. 2521 - 2522 - INCLUDED_BY_GRAPH = YES 2523 - 2524 - # If the CALL_GRAPH tag is set to YES then doxygen will generate a call 2525 - # dependency graph for every global function or class method. 2526 - # 2527 - # Note that enabling this option will significantly increase the time of a run. 2528 - # So in most cases it will be better to enable call graphs for selected 2529 - # functions only using the \callgraph command. Disabling a call graph can be 2530 - # accomplished by means of the command \hidecallgraph. 2531 - # The default value is: NO. 2532 - # This tag requires that the tag HAVE_DOT is set to YES. 2533 - 2534 - CALL_GRAPH = NO 2535 - 2536 - # If the CALLER_GRAPH tag is set to YES then doxygen will generate a caller 2537 - # dependency graph for every global function or class method. 2538 - # 2539 - # Note that enabling this option will significantly increase the time of a run. 2540 - # So in most cases it will be better to enable caller graphs for selected 2541 - # functions only using the \callergraph command. Disabling a caller graph can be 2542 - # accomplished by means of the command \hidecallergraph. 2543 - # The default value is: NO. 2544 - # This tag requires that the tag HAVE_DOT is set to YES. 2545 - 2546 - CALLER_GRAPH = NO 2547 - 2548 - # If the GRAPHICAL_HIERARCHY tag is set to YES then doxygen will graphical 2549 - # hierarchy of all classes instead of a textual one. 2550 - # The default value is: YES. 2551 - # This tag requires that the tag HAVE_DOT is set to YES. 2552 - 2553 - GRAPHICAL_HIERARCHY = YES 2554 - 2555 - # If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the 2556 - # dependencies a directory has on other directories in a graphical way. The 2557 - # dependency relations are determined by the #include relations between the 2558 - # files in the directories. 2559 - # The default value is: YES. 2560 - # This tag requires that the tag HAVE_DOT is set to YES. 2561 - 2562 - DIRECTORY_GRAPH = YES 2563 - 2564 - # The DIR_GRAPH_MAX_DEPTH tag can be used to limit the maximum number of levels 2565 - # of child directories generated in directory dependency graphs by dot. 2566 - # Minimum value: 1, maximum value: 25, default value: 1. 2567 - # This tag requires that the tag DIRECTORY_GRAPH is set to YES. 2568 - 2569 - DIR_GRAPH_MAX_DEPTH = 1 2570 - 2571 - # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images 2572 - # generated by dot. For an explanation of the image formats see the section 2573 - # output formats in the documentation of the dot tool (Graphviz (see: 2574 - # http://www.graphviz.org/)). 2575 - # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order 2576 - # to make the SVG files visible in IE 9+ (other browsers do not have this 2577 - # requirement). 2578 - # Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo, 2579 - # png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and 2580 - # png:gdiplus:gdiplus. 2581 - # The default value is: png. 2582 - # This tag requires that the tag HAVE_DOT is set to YES. 2583 - 2584 - DOT_IMAGE_FORMAT = png 2585 - 2586 - # If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to 2587 - # enable generation of interactive SVG images that allow zooming and panning. 2588 - # 2589 - # Note that this requires a modern browser other than Internet Explorer. Tested 2590 - # and working are Firefox, Chrome, Safari, and Opera. 2591 - # Note: For IE 9+ you need to set HTML_FILE_EXTENSION to xhtml in order to make 2592 - # the SVG files visible. Older versions of IE do not have SVG support. 2593 - # The default value is: NO. 2594 - # This tag requires that the tag HAVE_DOT is set to YES. 2595 - 2596 - INTERACTIVE_SVG = NO 2597 - 2598 - # The DOT_PATH tag can be used to specify the path where the dot tool can be 2599 - # found. If left blank, it is assumed the dot tool can be found in the path. 2600 - # This tag requires that the tag HAVE_DOT is set to YES. 2601 - 2602 - DOT_PATH = 2603 - 2604 - # The DOTFILE_DIRS tag can be used to specify one or more directories that 2605 - # contain dot files that are included in the documentation (see the \dotfile 2606 - # command). 2607 - # This tag requires that the tag HAVE_DOT is set to YES. 2608 - 2609 - DOTFILE_DIRS = 2610 - 2611 - # The MSCFILE_DIRS tag can be used to specify one or more directories that 2612 - # contain msc files that are included in the documentation (see the \mscfile 2613 - # command). 2614 - 2615 - MSCFILE_DIRS = 2616 - 2617 - # The DIAFILE_DIRS tag can be used to specify one or more directories that 2618 - # contain dia files that are included in the documentation (see the \diafile 2619 - # command). 2620 - 2621 - DIAFILE_DIRS = 2622 - 2623 - # When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the 2624 - # path where java can find the plantuml.jar file or to the filename of jar file 2625 - # to be used. If left blank, it is assumed PlantUML is not used or called during 2626 - # a preprocessing step. Doxygen will generate a warning when it encounters a 2627 - # \startuml command in this case and will not generate output for the diagram. 2628 - 2629 - PLANTUML_JAR_PATH = 2630 - 2631 - # When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a 2632 - # configuration file for plantuml. 2633 - 2634 - PLANTUML_CFG_FILE = 2635 - 2636 - # When using plantuml, the specified paths are searched for files specified by 2637 - # the !include statement in a plantuml block. 2638 - 2639 - PLANTUML_INCLUDE_PATH = 2640 - 2641 - # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes 2642 - # that will be shown in the graph. If the number of nodes in a graph becomes 2643 - # larger than this value, doxygen will truncate the graph, which is visualized 2644 - # by representing a node as a red box. Note that doxygen if the number of direct 2645 - # children of the root node in a graph is already larger than 2646 - # DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note that 2647 - # the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. 2648 - # Minimum value: 0, maximum value: 10000, default value: 50. 2649 - # This tag requires that the tag HAVE_DOT is set to YES. 2650 - 2651 - DOT_GRAPH_MAX_NODES = 50 2652 - 2653 - # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs 2654 - # generated by dot. A depth value of 3 means that only nodes reachable from the 2655 - # root by following a path via at most 3 edges will be shown. Nodes that lay 2656 - # further from the root node will be omitted. Note that setting this option to 1 2657 - # or 2 may greatly reduce the computation time needed for large code bases. Also 2658 - # note that the size of a graph can be further restricted by 2659 - # DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. 2660 - # Minimum value: 0, maximum value: 1000, default value: 0. 2661 - # This tag requires that the tag HAVE_DOT is set to YES. 2662 - 2663 - MAX_DOT_GRAPH_DEPTH = 0 2664 - 2665 - # Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output 2666 - # files in one run (i.e. multiple -o and -T options on the command line). This 2667 - # makes dot run faster, but since only newer versions of dot (>1.8.10) support 2668 - # this, this feature is disabled by default. 2669 - # The default value is: NO. 2670 - # This tag requires that the tag HAVE_DOT is set to YES. 2671 - 2672 - DOT_MULTI_TARGETS = NO 2673 - 2674 - # If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page 2675 - # explaining the meaning of the various boxes and arrows in the dot generated 2676 - # graphs. 2677 - # Note: This tag requires that UML_LOOK isn't set, i.e. the doxygen internal 2678 - # graphical representation for inheritance and collaboration diagrams is used. 2679 - # The default value is: YES. 2680 - # This tag requires that the tag HAVE_DOT is set to YES. 2681 - 2682 - GENERATE_LEGEND = YES 2683 - 2684 - # If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate 2685 - # files that are used to generate the various graphs. 2686 - # 2687 - # Note: This setting is not only used for dot files but also for msc temporary 2688 - # files. 2689 - # The default value is: YES. 2690 - 2691 - DOT_CLEANUP = YES