diff --git a/Doxyfile.in b/Doxyfile.in index 4f5e32c..b58e35c 100644 --- a/Doxyfile.in +++ b/Doxyfile.in @@ -1,4 +1,4 @@ -# Doxyfile 1.8.17 +# Doxyfile 1.9.8 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. @@ -12,6 +12,16 @@ # For lists, items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (\" \"). +# +# Note: +# +# Use doxygen to compare the used configuration file with the template +# configuration file: +# doxygen -x [configFile] +# Use doxygen to compare the used configuration file with the template +# configuration file without replacing the environment variables or CMake type +# replacement variables: +# doxygen -x_noenv [configFile] #--------------------------------------------------------------------------- # Project related configuration options @@ -60,16 +70,28 @@ PROJECT_LOGO = OUTPUT_DIRECTORY = @abs_top_builddir@/docs -# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- -# directories (in 2 levels) under the output directory of each output format and -# will distribute the generated files over these directories. Enabling this +# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096 +# sub-directories (in 2 levels) under the output directory of each output format +# and will distribute the generated files over these directories. Enabling this # option can be useful when feeding doxygen a huge amount of source files, where # putting all generated files in the same directory would otherwise causes -# performance problems for the file system. +# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to +# control the number of sub-directories. # The default value is: NO. CREATE_SUBDIRS = NO +# Controls the number of sub-directories that will be created when +# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every +# level increment doubles the number of directories, resulting in 4096 +# directories at level 8 which is the default and also the maximum value. The +# sub-directories are organized in 2 levels, the first level always has a fixed +# number of 16 directories. +# Minimum value: 0, maximum value: 8, default value: 8. +# This tag requires that the tag CREATE_SUBDIRS is set to YES. + +CREATE_SUBDIRS_LEVEL = 8 + # If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII # characters to appear in the names of generated files. If set to NO, non-ASCII # characters will be escaped, for example _xE3_x81_x84 will be used for Unicode @@ -81,26 +103,18 @@ ALLOW_UNICODE_NAMES = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. -# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, -# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), -# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, -# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, -# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, -# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, -# Ukrainian and Vietnamese. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian, +# Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English +# (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek, +# Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with +# English messages), Korean, Korean-en (Korean with English messages), Latvian, +# Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, +# Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, +# Swedish, Turkish, Ukrainian and Vietnamese. # The default value is: English. OUTPUT_LANGUAGE = English -# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all generated output in the proper direction. -# Possible values are: None, LTR, RTL and Context. -# The default value is: None. - -OUTPUT_TEXT_DIRECTION = None - # If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member # descriptions after the members that are listed in the file and class # documentation (similar to Javadoc). Set to NO to disable this. @@ -227,6 +241,14 @@ QT_AUTOBRIEF = NO MULTILINE_CPP_IS_BRIEF = NO +# By default Python docstrings are displayed as preformatted text and doxygen's +# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the +# doxygen's special commands can be used and the contents of the docstring +# documentation blocks is shown as doxygen documentation. +# The default value is: YES. + +PYTHON_DOCSTRING = YES + # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the # documentation from any documented member that it re-implements. # The default value is: YES. @@ -250,25 +272,19 @@ TAB_SIZE = 4 # the documentation. An alias has the form: # name=value # For example adding -# "sideeffect=@par Side Effects:\n" +# "sideeffect=@par Side Effects:^^" # will allow you to put the command \sideeffect (or @sideeffect) in the # documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". You can put \n's in the value part of an alias to insert -# newlines (in the resulting output). You can put ^^ in the value part of an -# alias to insert a newline as if a physical newline was in the original file. -# When you need a literal { or } or , in the value part of an alias you have to -# escape them by means of a backslash (\), this can lead to conflicts with the -# commands \{ and \} for these it is advised to use the version @{ and @} or use -# a double escape (\\{ and \\}) +# "Side Effects:". Note that you cannot put \n's in the value part of an alias +# to insert newlines (in the resulting output). You can put ^^ in the value part +# of an alias to insert a newline as if a physical newline was in the original +# file. When you need a literal { or } or , in the value part of an alias you +# have to escape them by means of a backslash (\), this can lead to conflicts +# with the commands \{ and \} for these it is advised to use the version @{ and +# @} or use a double escape (\\{ and \\}) ALIASES = -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding "class=itcl::class" -# will allow you to use the command class in the itcl::class meaning. - -TCL_SUBST = - # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources # only. Doxygen will then generate output that is more tailored for C. For # instance, some of the names that are used will be different. The list of all @@ -310,18 +326,21 @@ OPTIMIZE_OUTPUT_SLICE = NO # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, and # language is one of the parsers supported by doxygen: IDL, Java, JavaScript, -# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice, -# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: +# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, +# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: # FortranFree, unknown formatted Fortran: Fortran. In the later case the parser # tries to guess whether the code is fixed or free formatted code, this is the -# default for Fortran type files), VHDL, tcl. For instance to make doxygen treat -# .inc files as Fortran files (default is PHP), and .f files as C (default is -# Fortran), use: inc=Fortran f=C. +# default for Fortran type files). For instance to make doxygen treat .inc files +# as Fortran files (default is PHP), and .f files as C (default is Fortran), +# use: inc=Fortran f=C. # # Note: For files without extension you can use no_extension as a placeholder. # # Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. +# the files are not read by doxygen. When specifying no_extension you should add +# * to the FILE_PATTERNS. +# +# Note see also the list of default file extension mappings. EXTENSION_MAPPING = @@ -344,6 +363,17 @@ MARKDOWN_SUPPORT = YES TOC_INCLUDE_HEADINGS = 5 +# The MARKDOWN_ID_STYLE tag can be used to specify the algorithm used to +# generate identifiers for the Markdown headings. Note: Every identifier is +# unique. +# Possible values are: DOXYGEN use a fixed 'autotoc_md' string followed by a +# sequence number starting at 0 and GITHUB use the lower case version of title +# with any whitespace replaced by '-' and punctuation characters removed. +# The default value is: DOXYGEN. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +MARKDOWN_ID_STYLE = DOXYGEN + # When enabled doxygen tries to link words that correspond to documented # classes, or namespaces to their corresponding documentation. Such a link can # be prevented in individual cases by putting a % sign in front of the word or @@ -455,6 +485,27 @@ TYPEDEF_HIDES_STRUCT = YES LOOKUP_CACHE_SIZE = 0 +# The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use +# during processing. When set to 0 doxygen will based this on the number of +# cores available in the system. You can set it explicitly to a value larger +# than 0 to get more control over the balance between CPU load and processing +# speed. At this moment only the input processing can be done using multiple +# threads. Since this is still an experimental feature the default is set to 1, +# which effectively disables parallel processing. Please report any issues you +# encounter. Generating dot graphs in parallel is controlled by the +# DOT_NUM_THREADS setting. +# Minimum value: 0, maximum value: 32, default value: 1. + +NUM_PROC_THREADS = 1 + +# If the TIMESTAMP tag is set different from NO then each generated page will +# contain the date or date and time when the page was generated. Setting this to +# NO can help when comparing the output of multiple runs. +# Possible values are: YES, NO, DATETIME and DATE. +# The default value is: NO. + +TIMESTAMP = NO + #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- @@ -518,6 +569,13 @@ EXTRACT_LOCAL_METHODS = NO EXTRACT_ANON_NSPACES = NO +# If this flag is set to YES, the name of an unnamed parameter in a declaration +# will be determined by the corresponding definition. By default unnamed +# parameters remain unnamed in the output. +# The default value is: YES. + +RESOLVE_UNNAMED_PARAMS = YES + # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all # undocumented members inside documented classes or files. If set to NO these # members will be included in the various overviews, but no documentation @@ -529,7 +587,8 @@ HIDE_UNDOC_MEMBERS = YES # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. If set # to NO, these classes will be included in the various overviews. This option -# has no effect if EXTRACT_ALL is enabled. +# will also hide undocumented C++ concepts if enabled. This option has no effect +# if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_CLASSES = YES @@ -555,12 +614,20 @@ HIDE_IN_BODY_DOCS = NO INTERNAL_DOCS = NO -# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file -# names in lower-case letters. If set to YES, upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# (including Cygwin) ands Mac users are advised to set this option to NO. -# The default value is: system dependent. +# With the correct setting of option CASE_SENSE_NAMES doxygen will better be +# able to match the capabilities of the underlying filesystem. In case the +# filesystem is case sensitive (i.e. it supports files in the same directory +# whose names only differ in casing), the option must be set to YES to properly +# deal with such files in case they appear in the input. For filesystems that +# are not case sensitive the option should be set to NO to properly deal with +# output files written for symbols that only differ in casing, such as for two +# classes, one named CLASS and the other named Class, and to also support +# references to files without having to specify the exact matching casing. On +# Windows (including Cygwin) and MacOS, users should typically set this option +# to NO, whereas on Linux or other Unix flavors it should typically be set to +# YES. +# Possible values are: SYSTEM, NO and YES. +# The default value is: SYSTEM. CASE_SENSE_NAMES = YES @@ -578,6 +645,12 @@ HIDE_SCOPE_NAMES = NO HIDE_COMPOUND_REFERENCE= NO +# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class +# will show which file needs to be included to use the class. +# The default value is: YES. + +SHOW_HEADERFILE = YES + # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of # the files that are included by a file in the documentation of that file. # The default value is: YES. @@ -735,7 +808,8 @@ FILE_VERSION_FILTER = # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. You can # optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. +# will be used as the name of the layout file. See also section "Changing the +# layout of pages" for information. # # Note that if you run doxygen from a directory containing a file called # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE @@ -781,24 +855,50 @@ WARNINGS = YES WARN_IF_UNDOCUMENTED = YES # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some parameters -# in a documented function, or documenting parameters that don't exist or using -# markup commands wrongly. +# potential errors in the documentation, such as documenting some parameters in +# a documented function twice, or documenting parameters that don't exist or +# using markup commands wrongly. # The default value is: YES. WARN_IF_DOC_ERROR = YES +# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete +# function parameter documentation. If set to NO, doxygen will accept that some +# parameters have no documentation without warning. +# The default value is: YES. + +WARN_IF_INCOMPLETE_DOC = YES + # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # are documented, but have no documentation for their parameters or return -# value. If set to NO, doxygen will only warn about wrong or incomplete -# parameter documentation, but not about the absence of documentation. If -# EXTRACT_ALL is set to YES then this flag will automatically be disabled. +# value. If set to NO, doxygen will only warn about wrong parameter +# documentation, but not about the absence of documentation. If EXTRACT_ALL is +# set to YES then this flag will automatically be disabled. See also +# WARN_IF_INCOMPLETE_DOC # The default value is: NO. WARN_NO_PARAMDOC = NO +# If WARN_IF_UNDOC_ENUM_VAL option is set to YES, doxygen will warn about +# undocumented enumeration values. If set to NO, doxygen will accept +# undocumented enumeration values. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: NO. + +WARN_IF_UNDOC_ENUM_VAL = NO + # If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when -# a warning is encountered. +# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS +# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but +# at the end of the doxygen process doxygen will return with a non-zero status. +# If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS_PRINT then doxygen behaves +# like FAIL_ON_WARNINGS but in case no WARN_LOGFILE is defined doxygen will not +# write the warning messages in between other messages but write them at the end +# of a run, in case a WARN_LOGFILE is defined the warning messages will be +# besides being in the defined file also be shown at the end of a run, unless +# the WARN_LOGFILE is defined as - i.e. standard output (stdout) in that case +# the behavior will remain as with the setting FAIL_ON_WARNINGS. +# Possible values are: NO, YES, FAIL_ON_WARNINGS and FAIL_ON_WARNINGS_PRINT. # The default value is: NO. WARN_AS_ERROR = NO @@ -809,13 +909,27 @@ WARN_AS_ERROR = NO # and the warning text. Optionally the format may contain $version, which will # be replaced by the version of the file (if it could be obtained via # FILE_VERSION_FILTER) +# See also: WARN_LINE_FORMAT # The default value is: $file:$line: $text. WARN_FORMAT = "$file:$line: $text" +# In the $text part of the WARN_FORMAT command it is possible that a reference +# to a more specific place is given. To make it easier to jump to this place +# (outside of doxygen) the user can define a custom "cut" / "paste" string. +# Example: +# WARN_LINE_FORMAT = "'vi $file +$line'" +# See also: WARN_FORMAT +# The default value is: at line $line of file $file. + +WARN_LINE_FORMAT = "at line $line of file $file" + # The WARN_LOGFILE tag can be used to specify a file to which warning and error # messages should be written. If left blank the output is written to standard -# error (stderr). +# error (stderr). In case the file specified cannot be opened for writing the +# warning and error messages are written to standard error. When as file - is +# specified the warning and error messages are written to standard output +# (stdout). WARN_LOGFILE = @@ -834,12 +948,23 @@ INPUT = @abs_top_srcdir@ # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: https://www.gnu.org/software/libiconv/) for the list of -# possible encodings. +# documentation (see: +# https://www.gnu.org/software/libiconv/) for the list of possible encodings. +# See also: INPUT_FILE_ENCODING # The default value is: UTF-8. INPUT_ENCODING = UTF-8 +# This tag can be used to specify the character encoding of the source files +# that doxygen parses The INPUT_FILE_ENCODING tag can be used to specify +# character encoding on a per file pattern basis. Doxygen will compare the file +# name with each pattern and apply the encoding instead of the default +# INPUT_ENCODING) if there is a match. The character encodings are a list of the +# form: pattern=encoding (like *.php=ISO-8859-1). See cfg_input_encoding +# "INPUT_ENCODING" for further information on supported encodings. + +INPUT_FILE_ENCODING = + # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and # *.h) to filter out the source-files in the directories. @@ -848,16 +973,17 @@ INPUT_ENCODING = UTF-8 # need to set EXTENSION_MAPPING for the extension otherwise the files are not # read by doxygen. # -# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, -# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, -# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, -# *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C comment), -# *.doc (to be provided as doxygen C comment), *.txt (to be provided as doxygen -# C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f, *.for, *.tcl, *.vhd, -# *.vhdl, *.ucf, *.qsf and *.ice. +# Note the list of default checked file patterns might differ from the list of +# default file extension mappings. +# +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cxxm, +# *.cpp, *.cppm, *.c++, *.c++m, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, +# *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, *.h++, *.ixx, *.l, *.cs, *.d, *.php, +# *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be +# provided as doxygen C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, +# *.f18, *.f, *.for, *.vhd, *.vhdl, *.ucf, *.qsf and *.ice. -FILE_PATTERNS = \ - libx52.h \ +FILE_PATTERNS = libx52.h \ libx52io.h \ libx52util.h \ vkm.h \ @@ -901,10 +1027,7 @@ EXCLUDE_PATTERNS = # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories use the pattern */test/* +# ANamespace::AClass, ANamespace::*Test EXCLUDE_SYMBOLS = @@ -949,6 +1072,11 @@ IMAGE_PATH = # code is scanned, but not when the output code is generated. If lines are added # or removed, the anchors will not be placed correctly. # +# Note that doxygen will use the data processed and written to standard output +# for further processing, therefore nothing else, like debug statements or used +# commands (so in case of a Windows batch file always use @echo OFF), should be +# written to standard output. +# # Note that for custom extensions or not directly supported extensions you also # need to set EXTENSION_MAPPING for the extension otherwise the files are not # properly processed by doxygen. @@ -990,6 +1118,15 @@ FILTER_SOURCE_PATTERNS = USE_MDFILE_AS_MAINPAGE = +# The Fortran standard specifies that for fixed formatted Fortran code all +# characters from position 72 are to be considered as comment. A common +# extension is to allow longer lines before the automatic comment starts. The +# setting FORTRAN_COMMENT_AFTER will also make it possible that longer lines can +# be processed before the automatic comment starts. +# Minimum value: 7, maximum value: 10000, default value: 72. + +FORTRAN_COMMENT_AFTER = 72 + #--------------------------------------------------------------------------- # Configuration options related to source browsing #--------------------------------------------------------------------------- @@ -1077,16 +1214,24 @@ USE_HTAGS = NO VERBATIM_HEADERS = YES # If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the -# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the -# cost of reduced performance. This can be particularly helpful with template -# rich C++ code for which doxygen's built-in parser lacks the necessary type -# information. +# clang parser (see: +# http://clang.llvm.org/) for more accurate parsing at the cost of reduced +# performance. This can be particularly helpful with template rich C++ code for +# which doxygen's built-in parser lacks the necessary type information. # Note: The availability of this option depends on whether or not doxygen was # generated with the -Duse_libclang=ON option for CMake. # The default value is: NO. CLANG_ASSISTED_PARSING = NO +# If the CLANG_ASSISTED_PARSING tag is set to YES and the CLANG_ADD_INC_PATHS +# tag is set to YES then doxygen will add the directory of each input to the +# include path. +# The default value is: YES. +# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. + +CLANG_ADD_INC_PATHS = YES + # If clang assisted parsing is enabled you can provide the compiler with command # line options that you would normally use when invoking the compiler. Note that # the include paths will already be set by doxygen for the files and directories @@ -1096,10 +1241,13 @@ CLANG_ASSISTED_PARSING = NO CLANG_OPTIONS = # If clang assisted parsing is enabled you can provide the clang parser with the -# path to the compilation database (see: -# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) used when the files -# were built. This is equivalent to specifying the "-p" option to a clang tool, -# such as clang-check. These options will then be passed to the parser. +# path to the directory containing a file called compile_commands.json. This +# file is the compilation database (see: +# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) containing the +# options used when the source files were built. This is equivalent to +# specifying the -p option to a clang tool, such as clang-check. These options +# will then be passed to the parser. Any options specified with CLANG_OPTIONS +# will be added as well. # Note: The availability of this option depends on whether or not doxygen was # generated with the -Duse_libclang=ON option for CMake. @@ -1116,17 +1264,11 @@ CLANG_DATABASE_PATH = ALPHABETICAL_INDEX = YES -# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in -# which the alphabetical index list will be split. -# Minimum value: 1, maximum value: 20, default value: 5. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all classes will -# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag -# can be used to specify a prefix (or a list of prefixes) that should be ignored -# while generating the index headers. +# The IGNORE_PREFIX tag can be used to specify a prefix (or a list of prefixes) +# that should be ignored while generating the index headers. The IGNORE_PREFIX +# tag works for classes, function and member names. The entity will be placed in +# the alphabetical list under the first letter of the entity name that remains +# after removing the prefix. # This tag requires that the tag ALPHABETICAL_INDEX is set to YES. IGNORE_PREFIX = @@ -1205,7 +1347,12 @@ HTML_STYLESHEET = # Doxygen will copy the style sheet files to the output directory. # Note: The order of the extra style sheet files is of importance (e.g. the last # style sheet in the list overrules the setting of the previous ones in the -# list). For an example see the documentation. +# list). +# Note: Since the styling of scrollbars can currently not be overruled in +# Webkit/Chromium, the styling will be left out of the default doxygen.css if +# one or more extra stylesheets have been specified. So if scrollbar +# customization is desired it has to be added explicitly. For an example see the +# documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_STYLESHEET = @@ -1220,9 +1367,22 @@ HTML_EXTRA_STYLESHEET = HTML_EXTRA_FILES = +# The HTML_COLORSTYLE tag can be used to specify if the generated HTML output +# should be rendered with a dark or light theme. +# Possible values are: LIGHT always generate light mode output, DARK always +# generate dark mode output, AUTO_LIGHT automatically set the mode according to +# the user preference, use light mode if no preference is set (the default), +# AUTO_DARK automatically set the mode according to the user preference, use +# dark mode if no preference is set and TOGGLE allow to user to switch between +# light and dark mode via a button. +# The default value is: AUTO_LIGHT. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE = AUTO_LIGHT + # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen # will adjust the colors in the style sheet and background images according to -# this color. Hue is specified as an angle on a colorwheel, see +# this color. Hue is specified as an angle on a color-wheel, see # https://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. @@ -1232,7 +1392,7 @@ HTML_EXTRA_FILES = HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use grayscales only. A +# in the HTML output. For a value of 0 the output will use gray-scales only. A # value of 255 will produce the most vivid colors. # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1250,15 +1410,6 @@ HTML_COLORSTYLE_SAT = 100 HTML_COLORSTYLE_GAMMA = 80 -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting this -# to YES can help to show when doxygen was last run and thus if the -# documentation is up to date. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_TIMESTAMP = NO - # If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML # documentation will contain a main index with vertical navigation menus that # are dynamically created via JavaScript. If disabled, the navigation index will @@ -1278,6 +1429,13 @@ HTML_DYNAMIC_MENUS = YES HTML_DYNAMIC_SECTIONS = NO +# If the HTML_CODE_FOLDING tag is set to YES then classes and functions can be +# dynamically folded and expanded in the generated HTML source code. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_CODE_FOLDING = YES + # With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries # shown in the various tree structured indices initially; the user can expand # and collapse entries dynamically later on. Doxygen will expand the tree to @@ -1293,10 +1451,11 @@ HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files will be # generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: https://developer.apple.com/xcode/), introduced with OSX -# 10.5 (Leopard). To create a documentation set, doxygen will generate a -# Makefile in the HTML output directory. Running make will produce the docset in -# that directory and running make install will install the docset in +# environment (see: +# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To +# create a documentation set, doxygen will generate a Makefile in the HTML +# output directory. Running make will produce the docset in that directory and +# running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at # startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy # genXcode/_index.html for more information. @@ -1313,6 +1472,13 @@ GENERATE_DOCSET = NO DOCSET_FEEDNAME = "Doxygen generated docs" +# This tag determines the URL of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDURL = + # This tag specifies a string that should uniquely identify the documentation # set bundle. This should be a reverse domain-name style string, e.g. # com.mycompany.MyDocSet. Doxygen will append .docset to the name. @@ -1338,8 +1504,12 @@ DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on -# Windows. +# on Windows. In the beginning of 2021 Microsoft took the original page, with +# a.o. the download links, offline the HTML help workshop was already many years +# in maintenance mode). You can download the HTML help workshop from the web +# archives at Installation executable (see: +# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo +# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). # # The HTML Help Workshop contains a compiler that can convert all HTML output # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML @@ -1369,7 +1539,7 @@ CHM_FILE = HHC_LOCATION = # The GENERATE_CHI flag controls if a separate .chi index file is generated -# (YES) or that it should be included in the master .chm file (NO). +# (YES) or that it should be included in the main .chm file (NO). # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. @@ -1396,6 +1566,16 @@ BINARY_TOC = NO TOC_EXPAND = NO +# The SITEMAP_URL tag is used to specify the full URL of the place where the +# generated documentation will be placed on the server by the user during the +# deployment of the documentation. The generated sitemap is called sitemap.xml +# and placed on the directory specified by HTML_OUTPUT. In case no SITEMAP_URL +# is specified no sitemap is generated. For information about the sitemap +# protocol see https://www.sitemaps.org +# This tag requires that the tag GENERATE_HTML is set to YES. + +SITEMAP_URL = + # If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and # QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that # can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help @@ -1414,7 +1594,8 @@ QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace -# (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). +# (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1422,8 +1603,8 @@ QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual- -# folders). +# Folders (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). # The default value is: doc. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1431,16 +1612,16 @@ QHP_VIRTUAL_FOLDER = doc # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom # filter to add. For more information please see Qt Help Project / Custom -# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_ATTRS = @@ -1452,9 +1633,9 @@ QHP_CUST_FILTER_ATTRS = QHP_SECT_FILTER_ATTRS = -# The QHG_LOCATION tag can be used to specify the location of Qt's -# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the -# generated .qhp file. +# The QHG_LOCATION tag can be used to specify the location (absolute path +# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to +# run qhelpgenerator on the generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. QHG_LOCATION = @@ -1497,16 +1678,28 @@ DISABLE_INDEX = NO # to work a browser that supports JavaScript, DHTML, CSS and frames is required # (i.e. any modern browser). Windows users are probably better off using the # HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can -# further fine-tune the look of the index. As an example, the default style -# sheet generated by doxygen has an example that shows how to put an image at -# the root of the tree instead of the PROJECT_NAME. Since the tree basically has -# the same information as the tab index, you could consider setting -# DISABLE_INDEX to YES when enabling this option. +# further fine tune the look of the index (see "Fine-tuning the output"). As an +# example, the default style sheet generated by doxygen has an example that +# shows how to put an image at the root of the tree instead of the PROJECT_NAME. +# Since the tree basically has the same information as the tab index, you could +# consider setting DISABLE_INDEX to YES when enabling this option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = NO +# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the +# FULL_SIDEBAR option determines if the side bar is limited to only the treeview +# area (value NO) or if it should extend to the full height of the window (value +# YES). Setting this to YES gives a layout similar to +# https://docs.readthedocs.io with more room for contents, but less room for the +# project logo, title, and description. If either GENERATE_TREEVIEW or +# DISABLE_INDEX is set to NO, this option has no effect. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FULL_SIDEBAR = NO + # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. # @@ -1531,6 +1724,24 @@ TREEVIEW_WIDTH = 250 EXT_LINKS_IN_WINDOW = NO +# If the OBFUSCATE_EMAILS tag is set to YES, doxygen will obfuscate email +# addresses. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +OBFUSCATE_EMAILS = YES + +# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg +# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see +# https://inkscape.org) to generate formulas as SVG images instead of PNGs for +# the HTML output. These images will generally look nicer at scaled resolutions. +# Possible values are: png (the default) and svg (looks nicer but requires the +# pdf2svg or inkscape tool). +# The default value is: png. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FORMULA_FORMAT = png + # Use this tag to change the font size of LaTeX formulas included as images in # the HTML documentation. When you change the font size after a successful # doxygen run you need to manually remove any form_*.png images from the HTML @@ -1540,17 +1751,6 @@ EXT_LINKS_IN_WINDOW = NO FORMULA_FONTSIZE = 10 -# Use the FORMULA_TRANSPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are not -# supported properly for IE 6.0, but are supported on all modern browsers. -# -# Note that when changing this option you need to delete any form_*.png files in -# the HTML output directory before the changes have effect. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_TRANSPARENT = YES - # The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands # to create new LaTeX commands to be used in formulas as building blocks. See # the section "Including formulas" for details. @@ -1568,11 +1768,29 @@ FORMULA_MACROFILE = USE_MATHJAX = NO +# With MATHJAX_VERSION it is possible to specify the MathJax version to be used. +# Note that the different versions of MathJax have different requirements with +# regards to the different settings, so it is possible that also other MathJax +# settings have to be changed when switching between the different MathJax +# versions. +# Possible values are: MathJax_2 and MathJax_3. +# The default value is: MathJax_2. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_VERSION = MathJax_2 + # When MathJax is enabled you can set the default output format to be used for -# the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/latest/output.html) for more details. +# the MathJax output. For more details about the output format see MathJax +# version 2 (see: +# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 +# (see: +# http://docs.mathjax.org/en/latest/web/components/output.html). # Possible values are: HTML-CSS (which is slower, but has the best -# compatibility), NativeMML (i.e. MathML) and SVG. +# compatibility. This is the name for Mathjax version 2, for MathJax version 3 +# this will be translated into chtml), NativeMML (i.e. MathML. Only supported +# for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This +# is the name for Mathjax version 3, for MathJax version 2 this will be +# translated into HTML-CSS) and SVG. # The default value is: HTML-CSS. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1585,22 +1803,29 @@ MATHJAX_FORMAT = HTML-CSS # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of -# MathJax from https://www.mathjax.org before deployment. -# The default value is: https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/. +# MathJax from https://www.mathjax.org before deployment. The default value is: +# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 +# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/ # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example +# for MathJax version 2 (see +# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions): # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# For example for MathJax version 3 (see +# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): +# MATHJAX_EXTENSIONS = ams # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site -# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# (see: +# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1647,7 +1872,8 @@ SERVER_BASED_SEARCH = NO # # Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: https://xapian.org/). +# Xapian (see: +# https://xapian.org/). # # See the section "External Indexing and Searching" for details. # The default value is: NO. @@ -1660,8 +1886,9 @@ EXTERNAL_SEARCH = NO # # Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: https://xapian.org/). See the section "External Indexing and -# Searching" for details. +# Xapian (see: +# https://xapian.org/). See the section "External Indexing and Searching" for +# details. # This tag requires that the tag SEARCHENGINE is set to YES. SEARCHENGINE_URL = @@ -1770,29 +1997,31 @@ PAPER_TYPE = a4 EXTRA_PACKAGES = -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the -# generated LaTeX document. The header should contain everything until the first -# chapter. If it is left blank doxygen will generate a standard header. See -# section "Doxygen usage" for information on how to let doxygen write the -# default header to a separate file. +# The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for +# the generated LaTeX document. The header should contain everything until the +# first chapter. If it is left blank doxygen will generate a standard header. It +# is highly recommended to start with a default header using +# doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty +# and then modify the file new_header.tex. See also section "Doxygen usage" for +# information on how to generate the default header that doxygen normally uses. # -# Note: Only use a user-defined header if you know what you are doing! The -# following commands have a special meaning inside the header: $title, -# $datetime, $date, $doxygenversion, $projectname, $projectnumber, -# $projectbrief, $projectlogo. Doxygen will replace $title with the empty -# string, for the replacement values of the other commands the user is referred -# to HTML_HEADER. +# Note: Only use a user-defined header if you know what you are doing! +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. The following +# commands have a special meaning inside the header (and footer): For a +# description of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_HEADER = -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the -# generated LaTeX document. The footer should contain everything after the last -# chapter. If it is left blank doxygen will generate a standard footer. See +# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for +# the generated LaTeX document. The footer should contain everything after the +# last chapter. If it is left blank doxygen will generate a standard footer. See # LATEX_HEADER for more information on how to generate a default footer and what -# special commands can be used inside the footer. -# -# Note: Only use a user-defined footer if you know what you are doing! +# special commands can be used inside the footer. See also section "Doxygen +# usage" for information on how to generate the default footer that doxygen +# normally uses. Note: Only use a user-defined footer if you know what you are +# doing! # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_FOOTER = @@ -1825,18 +2054,26 @@ LATEX_EXTRA_FILES = PDF_HYPERLINKS = YES -# If the USE_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate -# the PDF file directly from the LaTeX files. Set this option to YES, to get a -# higher quality PDF documentation. +# If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as +# specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX +# files. Set this option to YES, to get a higher quality PDF documentation. +# +# See also section LATEX_CMD_NAME for selecting the engine. # The default value is: YES. # This tag requires that the tag GENERATE_LATEX is set to YES. USE_PDFLATEX = YES -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode -# command to the generated LaTeX files. This will instruct LaTeX to keep running -# if errors occur, instead of asking the user for help. This option is also used -# when generating formulas in HTML. +# The LATEX_BATCHMODE tag signals the behavior of LaTeX in case of an error. +# Possible values are: NO same as ERROR_STOP, YES same as BATCH, BATCH In batch +# mode nothing is printed on the terminal, errors are scrolled as if is +# hit at every error; missing files that TeX tries to input or request from +# keyboard input (\read on a not open input stream) cause the job to abort, +# NON_STOP In nonstop mode the diagnostic message will appear on the terminal, +# but there is no possibility of user interaction just like in batch mode, +# SCROLL In scroll mode, TeX will stop only for missing files to input or if +# keyboard input is necessary and ERROR_STOP In errorstop mode, TeX will stop at +# each error, asking for user intervention. # The default value is: NO. # This tag requires that the tag GENERATE_LATEX is set to YES. @@ -1849,16 +2086,6 @@ LATEX_BATCHMODE = NO LATEX_HIDE_INDICES = NO -# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source -# code with syntax highlighting in the LaTeX output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_LATEX is set to YES. - -LATEX_SOURCE_CODE = NO - # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. See # https://en.wikipedia.org/wiki/BibTeX and \cite for more info. @@ -1867,14 +2094,6 @@ LATEX_SOURCE_CODE = NO LATEX_BIB_STYLE = plain -# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated -# page will contain the date and time when the page was generated. Setting this -# to NO can help when comparing the output of multiple runs. -# The default value is: NO. -# This tag requires that the tag GENERATE_LATEX is set to YES. - -LATEX_TIMESTAMP = NO - # The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute) # path from which the emoji images will be read. If a relative path is entered, # it will be relative to the LATEX_OUTPUT directory. If left blank the @@ -1939,16 +2158,6 @@ RTF_STYLESHEET_FILE = RTF_EXTENSIONS_FILE = -# If the RTF_SOURCE_CODE tag is set to YES then doxygen will include source code -# with syntax highlighting in the RTF output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_RTF is set to YES. - -RTF_SOURCE_CODE = NO - #--------------------------------------------------------------------------- # Configuration options related to the man page output #--------------------------------------------------------------------------- @@ -2045,27 +2254,44 @@ GENERATE_DOCBOOK = NO DOCBOOK_OUTPUT = docbook -# If the DOCBOOK_PROGRAMLISTING tag is set to YES, doxygen will include the -# program listings (including syntax highlighting and cross-referencing -# information) to the DOCBOOK output. Note that enabling this will significantly -# increase the size of the DOCBOOK output. -# The default value is: NO. -# This tag requires that the tag GENERATE_DOCBOOK is set to YES. - -DOCBOOK_PROGRAMLISTING = NO - #--------------------------------------------------------------------------- # Configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an -# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures +# AutoGen Definitions (see https://autogen.sourceforge.net/) file that captures # the structure of the code including all documentation. Note that this feature # is still experimental and incomplete at the moment. # The default value is: NO. GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# Configuration options related to Sqlite3 output +#--------------------------------------------------------------------------- + +# If the GENERATE_SQLITE3 tag is set to YES doxygen will generate a Sqlite3 +# database with symbols found by doxygen stored in tables. +# The default value is: NO. + +GENERATE_SQLITE3 = NO + +# The SQLITE3_OUTPUT tag is used to specify where the Sqlite3 database will be +# put. If a relative path is entered the value of OUTPUT_DIRECTORY will be put +# in front of it. +# The default directory is: sqlite3. +# This tag requires that the tag GENERATE_SQLITE3 is set to YES. + +SQLITE3_OUTPUT = sqlite3 + +# The SQLITE3_OVERWRITE_DB tag is set to YES, the existing doxygen_sqlite3.db +# database file will be recreated with each doxygen run. If set to NO, doxygen +# will warn if an a database file is already found and not modify it. +# The default value is: YES. +# This tag requires that the tag GENERATE_SQLITE3 is set to YES. + +SQLITE3_RECREATE_DB = YES + #--------------------------------------------------------------------------- # Configuration options related to the Perl module output #--------------------------------------------------------------------------- @@ -2140,7 +2366,8 @@ SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by the -# preprocessor. +# preprocessor. Note that the INCLUDE_PATH is not recursive, so the setting of +# RECURSIVE has no effect here. # This tag requires that the tag SEARCH_INCLUDES is set to YES. INCLUDE_PATH = @@ -2207,15 +2434,15 @@ TAGFILES = GENERATE_TAGFILE = -# If the ALLEXTERNALS tag is set to YES, all external class will be listed in -# the class index. If set to NO, only the inherited external classes will be -# listed. +# If the ALLEXTERNALS tag is set to YES, all external classes and namespaces +# will be listed in the class and namespace index. If set to NO, only the +# inherited external classes will be listed. # The default value is: NO. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will be +# in the topic index. If set to NO, only the current project's groups will be # listed. # The default value is: YES. @@ -2229,25 +2456,9 @@ EXTERNAL_GROUPS = YES EXTERNAL_PAGES = YES #--------------------------------------------------------------------------- -# Configuration options related to the dot tool +# Configuration options related to diagram generator tools #--------------------------------------------------------------------------- -# If the CLASS_DIAGRAMS tag is set to YES, doxygen will generate a class diagram -# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to -# NO turns the diagrams off. Note that this option also works with HAVE_DOT -# disabled, but it is recommended to install and use dot, since it yields more -# powerful graphs. -# The default value is: YES. - -CLASS_DIAGRAMS = YES - -# You can include diagrams made with dia in doxygen documentation. Doxygen will -# then run dia to produce the diagram and insert it in the documentation. The -# DIA_PATH tag allows you to specify the directory where the dia binary resides. -# If left empty dia is assumed to be found in the default search path. - -DIA_PATH = - # If set to YES the inheritance and collaboration graphs will hide inheritance # and usage relations if the target is undocumented or is not a class. # The default value is: YES. @@ -2256,7 +2467,7 @@ HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz (see: -# http://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent +# https://www.graphviz.org/), a graph visualization toolkit from AT&T and Lucent # Bell Labs. The other options in this section have no effect if this option is # set to NO # The default value is: YES. @@ -2273,49 +2484,73 @@ HAVE_DOT = NO DOT_NUM_THREADS = 0 -# When you want a differently looking font in the dot files that doxygen -# generates you can specify the font name using DOT_FONTNAME. You need to make -# sure dot is able to find the font, which can be done by putting it in a -# standard location or by setting the DOTFONTPATH environment variable or by -# setting DOT_FONTPATH to the directory containing the font. -# The default value is: Helvetica. +# DOT_COMMON_ATTR is common attributes for nodes, edges and labels of +# subgraphs. When you want a differently looking font in the dot files that +# doxygen generates you can specify fontname, fontcolor and fontsize attributes. +# For details please see Node, +# Edge and Graph Attributes specification You need to make sure dot is able +# to find the font, which can be done by putting it in a standard location or by +# setting the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the +# directory containing the font. Default graphviz fontsize is 14. +# The default value is: fontname=Helvetica,fontsize=10. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTNAME = Helvetica +DOT_COMMON_ATTR = "fontname=Helvetica,fontsize=10" -# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of -# dot graphs. -# Minimum value: 4, maximum value: 24, default value: 10. +# DOT_EDGE_ATTR is concatenated with DOT_COMMON_ATTR. For elegant style you can +# add 'arrowhead=open, arrowtail=open, arrowsize=0.5'. Complete documentation about +# arrows shapes. +# The default value is: labelfontname=Helvetica,labelfontsize=10. # This tag requires that the tag HAVE_DOT is set to YES. -DOT_FONTSIZE = 10 +DOT_EDGE_ATTR = "labelfontname=Helvetica,labelfontsize=10" -# By default doxygen will tell dot to use the default font as specified with -# DOT_FONTNAME. If you specify a different font using DOT_FONTNAME you can set -# the path where dot can find it using this tag. +# DOT_NODE_ATTR is concatenated with DOT_COMMON_ATTR. For view without boxes +# around nodes set 'shape=plain' or 'shape=plaintext' Shapes specification +# The default value is: shape=box,height=0.2,width=0.4. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4" + +# You can set the path where dot can find font specified with fontname in +# DOT_COMMON_ATTR and others dot attributes. # This tag requires that the tag HAVE_DOT is set to YES. DOT_FONTPATH = -# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for -# each documented class showing the direct and indirect inheritance relations. -# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO. +# If the CLASS_GRAPH tag is set to YES or GRAPH or BUILTIN then doxygen will +# generate a graph for each documented class showing the direct and indirect +# inheritance relations. In case the CLASS_GRAPH tag is set to YES or GRAPH and +# HAVE_DOT is enabled as well, then dot will be used to draw the graph. In case +# the CLASS_GRAPH tag is set to YES and HAVE_DOT is disabled or if the +# CLASS_GRAPH tag is set to BUILTIN, then the built-in generator will be used. +# If the CLASS_GRAPH tag is set to TEXT the direct and indirect inheritance +# relations will be shown as texts / links. +# Possible values are: NO, YES, TEXT, GRAPH and BUILTIN. # The default value is: YES. -# This tag requires that the tag HAVE_DOT is set to YES. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a # graph for each documented class showing the direct and indirect implementation # dependencies (inheritance, containment, and class references variables) of the -# class with other documented classes. +# class with other documented classes. Explicit enabling a collaboration graph, +# when COLLABORATION_GRAPH is set to NO, can be accomplished by means of the +# command \collaborationgraph. Disabling a collaboration graph can be +# accomplished by means of the command \hidecollaborationgraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for -# groups, showing the direct groups dependencies. +# groups, showing the direct groups dependencies. Explicit enabling a group +# dependency graph, when GROUP_GRAPHS is set to NO, can be accomplished by means +# of the command \groupgraph. Disabling a directory graph can be accomplished by +# means of the command \hidegroupgraph. See also the chapter Grouping in the +# manual. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2338,10 +2573,32 @@ UML_LOOK = NO # but if the number exceeds 15, the total amount of fields shown is limited to # 10. # Minimum value: 0, maximum value: 100, default value: 10. -# This tag requires that the tag HAVE_DOT is set to YES. +# This tag requires that the tag UML_LOOK is set to YES. UML_LIMIT_NUM_FIELDS = 10 +# If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and +# methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS +# tag is set to YES, doxygen will add type and arguments for attributes and +# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen +# will not generate fields with class member information in the UML graphs. The +# class diagrams will look similar to the default class diagrams but using UML +# notation for the relationships. +# Possible values are: NO, YES and NONE. +# The default value is: NO. +# This tag requires that the tag UML_LOOK is set to YES. + +DOT_UML_DETAILS = NO + +# The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters +# to display on a single line. If the actual line length exceeds this threshold +# significantly it will wrapped across multiple lines. Some heuristics are apply +# to avoid ugly line breaks. +# Minimum value: 0, maximum value: 1000, default value: 17. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_WRAP_THRESHOLD = 17 + # If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and # collaboration graphs will show the relations between templates and their # instances. @@ -2353,7 +2610,9 @@ TEMPLATE_RELATIONS = NO # If the INCLUDE_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are set to # YES then doxygen will generate a graph for each documented file showing the # direct and indirect include dependencies of the file with other documented -# files. +# files. Explicit enabling an include graph, when INCLUDE_GRAPH is is set to NO, +# can be accomplished by means of the command \includegraph. Disabling an +# include graph can be accomplished by means of the command \hideincludegraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2362,7 +2621,10 @@ INCLUDE_GRAPH = NO # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are # set to YES then doxygen will generate a graph for each documented file showing # the direct and indirect include dependencies of the file with other documented -# files. +# files. Explicit enabling an included by graph, when INCLUDED_BY_GRAPH is set +# to NO, can be accomplished by means of the command \includedbygraph. Disabling +# an included by graph can be accomplished by means of the command +# \hideincludedbygraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2402,23 +2664,32 @@ GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the # dependencies a directory has on other directories in a graphical way. The # dependency relations are determined by the #include relations between the -# files in the directories. +# files in the directories. Explicit enabling a directory graph, when +# DIRECTORY_GRAPH is set to NO, can be accomplished by means of the command +# \directorygraph. Disabling a directory graph can be accomplished by means of +# the command \hidedirectorygraph. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. DIRECTORY_GRAPH = YES +# The DIR_GRAPH_MAX_DEPTH tag can be used to limit the maximum number of levels +# of child directories generated in directory dependency graphs by dot. +# Minimum value: 1, maximum value: 25, default value: 1. +# This tag requires that the tag DIRECTORY_GRAPH is set to YES. + +DIR_GRAPH_MAX_DEPTH = 1 + # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. For an explanation of the image formats see the section # output formats in the documentation of the dot tool (Graphviz (see: -# http://www.graphviz.org/)). +# https://www.graphviz.org/)). # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order # to make the SVG files visible in IE 9+ (other browsers do not have this # requirement). -# Possible values are: png, png:cairo, png:cairo:cairo, png:cairo:gd, png:gd, -# png:gd:gd, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, gif, gif:cairo, -# gif:cairo:gd, gif:gd, gif:gd:gd, svg, png:gd, png:gd:gd, png:cairo, -# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and +# Possible values are: png, jpg, jpg:cairo, jpg:cairo:gd, jpg:gd, jpg:gd:gd, +# gif, gif:cairo, gif:cairo:gd, gif:gd, gif:gd:gd, svg, png:gd, png:gd:gd, +# png:cairo, png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and # png:gdiplus:gdiplus. # The default value is: png. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2450,11 +2721,12 @@ DOT_PATH = DOTFILE_DIRS = -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the \mscfile -# command). +# You can include diagrams made with dia in doxygen documentation. Doxygen will +# then run dia to produce the diagram and insert it in the documentation. The +# DIA_PATH tag allows you to specify the directory where the dia binary resides. +# If left empty dia is assumed to be found in the default search path. -MSCFILE_DIRS = +DIA_PATH = # The DIAFILE_DIRS tag can be used to specify one or more directories that # contain dia files that are included in the documentation (see the \diafile @@ -2463,10 +2735,10 @@ MSCFILE_DIRS = DIAFILE_DIRS = # When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the -# path where java can find the plantuml.jar file. If left blank, it is assumed -# PlantUML is not used or called during a preprocessing step. Doxygen will -# generate a warning when it encounters a \startuml command in this case and -# will not generate output for the diagram. +# path where java can find the plantuml.jar file or to the filename of jar file +# to be used. If left blank, it is assumed PlantUML is not used or called during +# a preprocessing step. Doxygen will generate a warning when it encounters a +# \startuml command in this case and will not generate output for the diagram. PLANTUML_JAR_PATH = @@ -2504,18 +2776,6 @@ DOT_GRAPH_MAX_NODES = 50 MAX_DOT_GRAPH_DEPTH = 0 -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not seem -# to support this out of the box. -# -# Warning: Depending on the platform used, enabling this option may lead to -# badly anti-aliased labels on the edges of a graph (i.e. they become hard to -# read). -# The default value is: NO. -# This tag requires that the tag HAVE_DOT is set to YES. - -DOT_TRANSPARENT = NO - # Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) support @@ -2528,14 +2788,34 @@ DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page # explaining the meaning of the various boxes and arrows in the dot generated # graphs. +# Note: This tag requires that UML_LOOK isn't set, i.e. the doxygen internal +# graphical representation for inheritance and collaboration diagrams is used. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. GENERATE_LEGEND = YES -# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot +# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate # files that are used to generate the various graphs. +# +# Note: This setting is not only used for dot files but also for msc temporary +# files. # The default value is: YES. -# This tag requires that the tag HAVE_DOT is set to YES. DOT_CLEANUP = YES + +# You can define message sequence charts within doxygen comments using the \msc +# command. If the MSCGEN_TOOL tag is left empty (the default), then doxygen will +# use a built-in version of mscgen tool to produce the charts. Alternatively, +# the MSCGEN_TOOL tag can also specify the name an external tool. For instance, +# specifying prog as the value, doxygen will call the tool as prog -T +# -o . The external tool should support +# output file formats "png", "eps", "svg", and "ismap". + +MSCGEN_TOOL = + +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the \mscfile +# command). + +MSCFILE_DIRS = diff --git a/bugreport/bugreport.c b/bugreport/bugreport.c index 3606c33..3e1ce7a 100644 --- a/bugreport/bugreport.c +++ b/bugreport/bugreport.c @@ -65,7 +65,7 @@ devinfo_cleanup: libx52io_exit(ctx); } -int main(int argc, char **argv) +int main(void) { const struct libusb_version *libusb; diff --git a/cli/test_x52_cli.c b/cli/test_x52_cli.c index fb5c196..4aee744 100644 --- a/cli/test_x52_cli.c +++ b/cli/test_x52_cli.c @@ -26,22 +26,26 @@ int libx52_init(libx52_device **dev) int libx52_connect(libx52_device *dev) { + (void)dev; function_called(); return mock(); } int libx52_update(libx52_device *dev) { + (void)dev; return LIBX52_SUCCESS; } void libx52_exit(libx52_device *dev) { + (void)dev; return; } const char *libx52_strerror(libx52_error_code rc) { + (void)rc; function_called(); return ""; } @@ -172,7 +176,7 @@ const struct CMUnitTest tests[] = { #include "test_x52_cli_tests.c" }; -int main(int argc, char **argv) +int main(void) { cmocka_set_message_output(CM_OUTPUT_TAP); cmocka_run_group_tests(tests, NULL, NULL); diff --git a/cli/test_x52_cli_tests.c b/cli/test_x52_cli_tests.c index fac8f33..707ae82 100644 --- a/cli/test_x52_cli_tests.c +++ b/cli/test_x52_cli_tests.c @@ -8,7 +8,7 @@ #ifndef TEST_LIST // Setup the test case function -#define TEST_CASE(tc) static void tc(void **state) +#define TEST_CASE(tc) static void tc(void **state __attribute__((unused))) #define TEST_DEF(x) x // Function header, this calls the corresponding libx52 function, and expects // a certain number of calls to that function diff --git a/daemon/x52d_clock.c b/daemon/x52d_clock.c index 25957b7..2bb68fb 100644 --- a/daemon/x52d_clock.c +++ b/daemon/x52d_clock.c @@ -169,6 +169,7 @@ static pthread_t clock_thr; static void * x52_clock_thr(void *param) { int rc; + (void)param; PINELOG_INFO(_("Starting X52 clock manager thread")); for (;;) { diff --git a/daemon/x52d_command.c b/daemon/x52d_command.c index 14f5492..af83641 100644 --- a/daemon/x52d_command.c +++ b/daemon/x52d_command.c @@ -409,6 +409,7 @@ int x52d_command_loop(int sock_fd) static void * x52d_command_thread(void *param) { + (void)param; for (;;) { if (x52d_command_loop(command_sock_fd) < 0) { PINELOG_FATAL(_("Error %d during command loop: %s"), diff --git a/daemon/x52d_device.c b/daemon/x52d_device.c index 46625de..7347abb 100644 --- a/daemon/x52d_device.c +++ b/daemon/x52d_device.c @@ -29,6 +29,7 @@ static volatile bool device_update_needed; static void *x52_dev_thr(void *param) { int rc; + (void)param; #define DEV_ACQ_DELAY 5 // seconds #define DEV_UPD_DELAY 50000 // microseconds diff --git a/daemon/x52d_io.c b/daemon/x52d_io.c index 1cc30f1..b23c866 100644 --- a/daemon/x52d_io.c +++ b/daemon/x52d_io.c @@ -36,6 +36,7 @@ static void *x52_io_thr(void *param) int rc; libx52io_report report; libx52io_report prev_report; + (void)param; #define IO_READ_TIMEOUT 50 /* milliseconds */ #define IO_ACQ_TIMEOUT 5 /* seconds */ diff --git a/daemon/x52d_main.c b/daemon/x52d_main.c index 9b70164..786795b 100644 --- a/daemon/x52d_main.c +++ b/daemon/x52d_main.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -38,12 +39,14 @@ static void termination_handler(int signum) static volatile bool flag_reload; static void reload_handler(int signum) { + (void)signum; flag_reload = true; } static volatile bool flag_save_cfg; static void save_config_handler(int signum) { + (void)signum; flag_save_cfg = true; } @@ -111,14 +114,16 @@ static void start_daemon(bool foreground, const char *pid_file) pid_fd = fopen(pid_file, "r"); if (pid_fd != NULL) { int rc; + intmax_t tmp_pid; /* File exists, read the PID and check if it exists */ - rc = fscanf(pid_fd, "%u", &pid); + rc = fscanf(pid_fd, "%" SCNdMAX, &tmp_pid); fclose(pid_fd); if (rc != 1) { perror("fscanf"); } else { + pid = (pid_t)tmp_pid; rc = kill(pid, 0); if (rc == 0 || (rc < 0 && errno == EPERM)) { PINELOG_FATAL(_("Daemon is already running as PID %u"), pid); diff --git a/daemon/x52d_mouse_evdev.c b/daemon/x52d_mouse_evdev.c index 58e2009..ea426a7 100644 --- a/daemon/x52d_mouse_evdev.c +++ b/daemon/x52d_mouse_evdev.c @@ -130,6 +130,7 @@ static void reset_reports(void) static void * x52_mouse_thr(void *param) { bool state_changed; + (void)param; PINELOG_INFO(_("Starting X52 virtual mouse driver thread")); for (;;) { diff --git a/daemon/x52d_mouse_test.c b/daemon/x52d_mouse_test.c index f72b137..54a5acf 100644 --- a/daemon/x52d_mouse_test.c +++ b/daemon/x52d_mouse_test.c @@ -30,6 +30,7 @@ void x52d_mouse_evdev_thread_control(bool enabled) static void test_mouse_thread_enabled(void **state) { + (void)state; #if defined HAVE_EVDEV expect_function_calls(x52d_mouse_evdev_thread_control, 1); expect_value(x52d_mouse_evdev_thread_control, enabled, true); @@ -40,6 +41,7 @@ static void test_mouse_thread_enabled(void **state) static void test_mouse_thread_disabled(void **state) { + (void)state; #if defined HAVE_EVDEV expect_function_calls(x52d_mouse_evdev_thread_control, 1); expect_value(x52d_mouse_evdev_thread_control, enabled, false); @@ -50,6 +52,7 @@ static void test_mouse_thread_disabled(void **state) static void test_mouse_speed_negative(void **state) { + (void)state; int orig_mouse_delay = mouse_delay; int orig_mouse_mult = mouse_mult; @@ -61,6 +64,7 @@ static void test_mouse_speed_negative(void **state) /* The following tests are dependent on the values in x52d_mouse.c */ static void test_mouse_speed_0(void **state) { + (void)state; x52d_cfg_set_Mouse_Speed(0); assert_int_equal(mouse_delay, 70000); assert_int_equal(mouse_mult, 4); @@ -68,6 +72,7 @@ static void test_mouse_speed_0(void **state) static void test_mouse_speed_mid_base(void **state) { + (void)state; x52d_cfg_set_Mouse_Speed(6); assert_int_equal(mouse_delay, 40000); assert_int_equal(mouse_mult, 4); @@ -75,6 +80,7 @@ static void test_mouse_speed_mid_base(void **state) static void test_mouse_speed_max_base(void **state) { + (void)state; x52d_cfg_set_Mouse_Speed(12); assert_int_equal(mouse_delay, 10000); assert_int_equal(mouse_mult, 4); @@ -82,6 +88,7 @@ static void test_mouse_speed_max_base(void **state) static void test_mouse_speed_min_hyper(void **state) { + (void)state; x52d_cfg_set_Mouse_Speed(13); assert_int_equal(mouse_delay, 10000); assert_int_equal(mouse_mult, 5); @@ -89,6 +96,7 @@ static void test_mouse_speed_min_hyper(void **state) static void test_mouse_speed_mid_hyper(void **state) { + (void)state; x52d_cfg_set_Mouse_Speed(22); assert_int_equal(mouse_delay, 10000); assert_int_equal(mouse_mult, 14); @@ -96,6 +104,7 @@ static void test_mouse_speed_mid_hyper(void **state) static void test_mouse_speed_max_hyper(void **state) { + (void)state; x52d_cfg_set_Mouse_Speed(32); assert_int_equal(mouse_delay, 10000); assert_int_equal(mouse_mult, 24); @@ -105,6 +114,7 @@ static void test_mouse_speed_above_max(void **state) { int orig_mouse_delay = mouse_delay; int orig_mouse_mult = mouse_mult; + (void)state; x52d_cfg_set_Mouse_Speed(33); assert_int_equal(mouse_delay, orig_mouse_delay); @@ -113,12 +123,14 @@ static void test_mouse_speed_above_max(void **state) static void test_mouse_reverse_scroll_enabled(void **state) { + (void)state; x52d_cfg_set_Mouse_ReverseScroll(true); assert_int_equal(mouse_scroll_dir, -1); } static void test_mouse_reverse_scroll_disabled(void **state) { + (void)state; x52d_cfg_set_Mouse_ReverseScroll(false); assert_int_equal(mouse_scroll_dir, 1); } diff --git a/daemon/x52d_notify.c b/daemon/x52d_notify.c index 4ddaf95..4853bd8 100644 --- a/daemon/x52d_notify.c +++ b/daemon/x52d_notify.c @@ -71,6 +71,7 @@ static void * x52_notify_thr(void * param) char buffer[X52D_BUFSZ]; uint16_t bufsiz; int rc; + (void)param; for (;;) { do { @@ -146,6 +147,7 @@ static void * x52_notify_loop(void * param) { struct pollfd pfd[MAX_CONN]; int rc; + (void)param; for (;;) { rc = x52d_client_poll(client_fd, pfd, notify_sock); diff --git a/evtest/ev_test.c b/evtest/ev_test.c index da76765..76fb607 100644 --- a/evtest/ev_test.c +++ b/evtest/ev_test.c @@ -44,6 +44,7 @@ static bool exit_loop = false; static void signal_handler(int sig) { + (void)sig; exit_loop = true; } @@ -52,7 +53,7 @@ static bool denoise = true; /* For i18n */ #define _(x) gettext(x) -int main(int argc, char **argv) +int main(void) { libx52io_context *ctx; libx52io_report last, curr; diff --git a/libx52/test_strings.c b/libx52/test_strings.c index c266317..7635f20 100644 --- a/libx52/test_strings.c +++ b/libx52/test_strings.c @@ -17,7 +17,7 @@ #define TEST_STRINGIFY(name) do { \ char expected[256]; \ - for (int i=-1; i < sizeof(name ## _map) / sizeof(name ## _map[0]); i++) { \ + for (int i=-1; i < (int)(sizeof(name ## _map) / sizeof(name ## _map[0])); i++) { \ if (i < 0) { \ snprintf(expected, sizeof(expected), unknown_fmt, i); \ } else if (name ## _map[i] != NULL) { \ @@ -31,6 +31,8 @@ static void test_led_id_names(void **state) { + (void)state; // Suppress unused parameter warning + static const char * led_id_map[21] = { [LIBX52_LED_FIRE] = "Fire", [LIBX52_LED_A] = "A", @@ -52,6 +54,8 @@ static void test_led_id_names(void **state) static void test_led_state_names(void **state) { + (void)state; // Suppress unused parameter warning + static const char * led_state_map[6] = { [LIBX52_LED_STATE_OFF] = "off", [LIBX52_LED_STATE_ON] = "on", @@ -66,6 +70,8 @@ static void test_led_state_names(void **state) } static void test_clock_id_names(void **state) { + (void)state; // Suppress unused parameter warning + static const char * clock_id_map[4] = { [LIBX52_CLOCK_1] = "primary", [LIBX52_CLOCK_2] = "secondary", @@ -78,6 +84,8 @@ static void test_clock_id_names(void **state) { } static void test_clock_format_names(void **state) { + (void)state; // Suppress unused parameter warning + static const char * clock_format_map[3] = { [LIBX52_CLOCK_FORMAT_12HR] = "12 hour", [LIBX52_CLOCK_FORMAT_24HR] = "24 hour", @@ -89,6 +97,8 @@ static void test_clock_format_names(void **state) { } static void test_date_format_names(void **state) { + (void)state; // Suppress unused parameter warning + static const char * date_format_map[4] = { [LIBX52_DATE_FORMAT_DDMMYY] = "DD-MM-YY", [LIBX52_DATE_FORMAT_MMDDYY] = "MM-DD-YY", @@ -103,6 +113,8 @@ static void test_date_format_names(void **state) { #define libx52_error_to_str libx52_strerror static void test_strerror(void **state) { + (void)state; // Suppress unused parameter warning + static const char *error_map[18] = { [LIBX52_SUCCESS] = "Success", [LIBX52_ERROR_INIT_FAILURE] = "Initialization failure", diff --git a/libx52/x52_control.c b/libx52/x52_control.c index 420cfc3..5c85f6e 100644 --- a/libx52/x52_control.c +++ b/libx52/x52_control.c @@ -103,6 +103,8 @@ int libx52_vendor_command(libx52_device *x52, uint16_t index, uint16_t value) static int _x52_write_shift(libx52_device *x52, uint32_t bit) { uint16_t value; + (void)bit; + value = tst_bit(&x52->led_mask, X52_BIT_SHIFT) ? X52_SHIFT_ON : X52_SHIFT_OFF; return libx52_vendor_command(x52, X52_SHIFT_INDICATOR, value); } @@ -152,6 +154,7 @@ static int _x52_write_line(libx52_device *x52, uint32_t bit) static int _x52_write_pov_blink(libx52_device *x52, uint32_t bit) { uint16_t value; + (void)bit; value = tst_bit(&x52->led_mask, X52_BIT_POV_BLINK) ? X52_BLINK_ON : X52_BLINK_OFF; return libx52_vendor_command(x52, X52_BLINK_INDICATOR, value); } @@ -177,6 +180,7 @@ static int _x52_write_date(libx52_device *x52, uint32_t bit) uint16_t value1; //dd-mm uint16_t value2; //yy int rc; + (void)bit; switch (x52->date_format) { case LIBX52_DATE_FORMAT_YYMMDD: @@ -288,7 +292,7 @@ static int _x52_write_time(libx52_device *x52, uint32_t bit) typedef int (*x52_handler)(libx52_device *, uint32_t); -const x52_handler _x52_handlers[32] = { +static const x52_handler _x52_handlers[32] = { [X52_BIT_SHIFT] = _x52_write_shift, [X52_BIT_LED_FIRE] = _x52_write_led, [X52_BIT_LED_A_RED] = _x52_write_led, diff --git a/libx52/x52_core.c b/libx52/x52_core.c index 47410bc..c742916 100644 --- a/libx52/x52_core.c +++ b/libx52/x52_core.c @@ -48,6 +48,8 @@ static int _x52_hotplug_callback(libusb_context *ctx, { libx52_device *dev = user_data; + (void)device; // Suppress unused parameter warning + if (dev == NULL) { return 0; } diff --git a/libx52/x52_test_gen.py b/libx52/x52_test_gen.py index 08c9539..5a44eb5 100755 --- a/libx52/x52_test_gen.py +++ b/libx52/x52_test_gen.py @@ -73,6 +73,7 @@ int __wrap_libusb_control_transfer(libusb_device_handle *dev_handle, uint16_t wLength, unsigned int timeout) { + (void)dev_handle; function_called(); check_expected(wIndex); check_expected(wValue); diff --git a/libx52io/test_parser.c b/libx52io/test_parser.c index 90c91df..0e804a4 100644 --- a/libx52io/test_parser.c +++ b/libx52io/test_parser.c @@ -38,9 +38,9 @@ static int group_setup(void **state) return 0; \ } -TEST_SETUP_FUNCTION(_1); -TEST_SETUP_FUNCTION(_2); -TEST_SETUP_FUNCTION(PRO); +TEST_SETUP_FUNCTION(_1) +TEST_SETUP_FUNCTION(_2) +TEST_SETUP_FUNCTION(PRO) #undef TEST_SETUP_FUNCTION diff --git a/libx52util/x52_char_map_test.c b/libx52util/x52_char_map_test.c index 96f4dbf..97fc2e1 100644 --- a/libx52util/x52_char_map_test.c +++ b/libx52util/x52_char_map_test.c @@ -139,7 +139,7 @@ int main(int argc, char *argv[]) page_ok = false; printf("# Output mismatch @ %04X:\n", cp); printf("# exp/got:"); - for (int i = 0; i < len; i++) { + for (size_t i = 0; i < len; i++) { printf("%02X/%02X ", rec[i+1], output[i]); } puts(""); @@ -194,7 +194,7 @@ int main(int argc, char *argv[]) smp_pages_ok = false; printf("# Output mismatch @ %08X:\n", cp); printf("# exp/got:"); - for (int i = 0; i < len; i++) { + for (size_t i = 0; i < len; i++) { printf("%02X/%02X ", rec[i+1], output[i]); } puts(""); diff --git a/meson.build b/meson.build index dac49ef..4d8436e 100644 --- a/meson.build +++ b/meson.build @@ -86,6 +86,8 @@ if not get_option('nls').disabled() subdir('po') endif +add_project_arguments('-isystem', meson.current_source_dir() / 'sys', language: 'C') + ####################################################################### # Internal dependencies ####################################################################### diff --git a/po/libx52.pot b/po/libx52.pot index 38f3e73..aeacd31 100644 --- a/po/libx52.pot +++ b/po/libx52.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: libx52 0.3.3\n" "Report-Msgid-Bugs-To: https://github.com/nirenjan/libx52/issues\n" -"POT-Creation-Date: 2026-03-16 23:07-0700\n" +"POT-Creation-Date: 2026-03-19 00:09-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -233,26 +233,26 @@ msgstr "" msgid "Read timeout" msgstr "" -#: evtest/ev_test.c:109 +#: evtest/ev_test.c:110 #, c-format msgid "Device ID: vendor 0x%04x product 0x%04x version 0x%04x\n" msgstr "" -#: evtest/ev_test.c:113 +#: evtest/ev_test.c:114 #, c-format msgid "Device name: \"%s %s\"\n" msgstr "" -#: evtest/ev_test.c:116 +#: evtest/ev_test.c:117 #, c-format msgid "Serial number: \"%s\"\n" msgstr "" -#: evtest/ev_test.c:117 +#: evtest/ev_test.c:118 msgid "Testing (interrupt to exit)\n" msgstr "" -#: evtest/ev_test.c:157 evtest/ev_test.c:165 +#: evtest/ev_test.c:158 evtest/ev_test.c:166 #, c-format msgid "Event @ %ld.%06ld: %s, value %d\n" msgstr "" @@ -493,17 +493,17 @@ msgstr "" msgid "OK" msgstr "" -#: daemon/x52d_main.c:64 +#: daemon/x52d_main.c:67 #, c-format msgid "Error %d setting log file: %s\n" msgstr "" -#: daemon/x52d_main.c:80 +#: daemon/x52d_main.c:83 #, c-format msgid "Error %d installing handler for signal %d: %s" msgstr "" -#: daemon/x52d_main.c:91 +#: daemon/x52d_main.c:94 #, c-format msgid "" "Usage: %s [-f] [-v] [-q]\n" @@ -513,88 +513,88 @@ msgid "" "\t[-b notify-socket-path]\n" msgstr "" -#: daemon/x52d_main.c:124 +#: daemon/x52d_main.c:129 #, c-format msgid "Daemon is already running as PID %u" msgstr "" -#: daemon/x52d_main.c:266 +#: daemon/x52d_main.c:271 #, c-format msgid "Unable to parse configuration override '%s'\n" msgstr "" -#: daemon/x52d_main.c:298 +#: daemon/x52d_main.c:303 #, c-format msgid "Foreground = %s" msgstr "" -#: daemon/x52d_main.c:298 daemon/x52d_main.c:299 +#: daemon/x52d_main.c:303 daemon/x52d_main.c:304 msgid "true" msgstr "" -#: daemon/x52d_main.c:298 daemon/x52d_main.c:299 +#: daemon/x52d_main.c:303 daemon/x52d_main.c:304 msgid "false" msgstr "" -#: daemon/x52d_main.c:299 -#, c-format -msgid "Quiet = %s" -msgstr "" - -#: daemon/x52d_main.c:300 -#, c-format -msgid "Verbosity = %d" -msgstr "" - -#: daemon/x52d_main.c:301 -#, c-format -msgid "Log file = %s" -msgstr "" - -#: daemon/x52d_main.c:302 -#, c-format -msgid "Config file = %s" -msgstr "" - -#: daemon/x52d_main.c:303 -#, c-format -msgid "PID file = %s" -msgstr "" - #: daemon/x52d_main.c:304 #, c-format -msgid "Command socket = %s" +msgid "Quiet = %s" msgstr "" #: daemon/x52d_main.c:305 #, c-format +msgid "Verbosity = %d" +msgstr "" + +#: daemon/x52d_main.c:306 +#, c-format +msgid "Log file = %s" +msgstr "" + +#: daemon/x52d_main.c:307 +#, c-format +msgid "Config file = %s" +msgstr "" + +#: daemon/x52d_main.c:308 +#, c-format +msgid "PID file = %s" +msgstr "" + +#: daemon/x52d_main.c:309 +#, c-format +msgid "Command socket = %s" +msgstr "" + +#: daemon/x52d_main.c:310 +#, c-format msgid "Notify socket = %s" msgstr "" -#: daemon/x52d_main.c:316 +#: daemon/x52d_main.c:321 #, c-format msgid "Error %d blocking signals on child threads: %s" msgstr "" -#: daemon/x52d_main.c:335 +#: daemon/x52d_main.c:340 #, c-format msgid "Error %d unblocking signals on child threads: %s" msgstr "" -#: daemon/x52d_main.c:348 +#: daemon/x52d_main.c:353 msgid "Reloading X52 configuration" msgstr "" -#: daemon/x52d_main.c:355 +#: daemon/x52d_main.c:360 msgid "Saving X52 configuration to disk" msgstr "" -#: daemon/x52d_main.c:361 +#: daemon/x52d_main.c:366 #, c-format msgid "Received termination signal %s" msgstr "" -#: daemon/x52d_main.c:378 +#: daemon/x52d_main.c:383 msgid "Shutting down X52 daemon" msgstr "" @@ -658,21 +658,21 @@ msgstr "" msgid "Setting date format to %s" msgstr "" -#: daemon/x52d_clock.c:173 +#: daemon/x52d_clock.c:174 msgid "Starting X52 clock manager thread" msgstr "" -#: daemon/x52d_clock.c:184 +#: daemon/x52d_clock.c:185 #, c-format msgid "Error %d retrieving current time: %s" msgstr "" -#: daemon/x52d_clock.c:205 +#: daemon/x52d_clock.c:206 #, c-format msgid "Error %d initializing clock thread: %s" msgstr "" -#: daemon/x52d_clock.c:212 +#: daemon/x52d_clock.c:213 msgid "Shutting down X52 clock manager thread" msgstr "" @@ -686,31 +686,31 @@ msgstr "" msgid "Short write to client %d; expected %d bytes, wrote %d bytes" msgstr "" -#: daemon/x52d_command.c:414 +#: daemon/x52d_command.c:415 #, c-format msgid "Error %d during command loop: %s" msgstr "" -#: daemon/x52d_command.c:441 +#: daemon/x52d_command.c:442 #, c-format msgid "Error creating command socket: %s" msgstr "" -#: daemon/x52d_command.c:449 +#: daemon/x52d_command.c:450 #, c-format msgid "Error marking command socket as nonblocking: %s" msgstr "" -#: daemon/x52d_command.c:455 +#: daemon/x52d_command.c:456 #, c-format msgid "Error listening on command socket: %s" msgstr "" -#: daemon/x52d_command.c:459 +#: daemon/x52d_command.c:460 msgid "Starting command processing thread" msgstr "" -#: daemon/x52d_command.c:477 +#: daemon/x52d_command.c:478 msgid "Shutting down command processing thread" msgstr "" @@ -772,67 +772,67 @@ msgstr "" msgid "Error processing override '%s.%s=%s'" msgstr "" -#: daemon/x52d_device.c:36 +#: daemon/x52d_device.c:37 msgid "Starting X52 device manager thread" msgstr "" -#: daemon/x52d_device.c:43 +#: daemon/x52d_device.c:44 #, c-format msgid "Error %d connecting to device: %s" msgstr "" -#: daemon/x52d_device.c:52 +#: daemon/x52d_device.c:53 msgid "Device connected, writing configuration" msgstr "" -#: daemon/x52d_device.c:75 +#: daemon/x52d_device.c:76 msgid "Initializing libx52" msgstr "" -#: daemon/x52d_device.c:79 +#: daemon/x52d_device.c:80 #, c-format msgid "Failure %d initializing libx52: %s" msgstr "" -#: daemon/x52d_device.c:90 +#: daemon/x52d_device.c:91 msgid "Shutting down X52 device manager thread" msgstr "" -#: daemon/x52d_device.c:103 +#: daemon/x52d_device.c:104 #, c-format msgid "Error %d when updating X52 parameter: %s" msgstr "" -#: daemon/x52d_device.c:179 +#: daemon/x52d_device.c:180 #, c-format msgid "Error %d when updating X52 device: %s" msgstr "" -#: daemon/x52d_io.c:42 +#: daemon/x52d_io.c:43 msgid "Starting X52 I/O thread" msgstr "" -#: daemon/x52d_io.c:64 +#: daemon/x52d_io.c:65 #, c-format msgid "Error %d opening X52 I/O device: %s" msgstr "" -#: daemon/x52d_io.c:75 +#: daemon/x52d_io.c:76 #, c-format msgid "Error %d reading from X52 I/O device: %s" msgstr "" -#: daemon/x52d_io.c:102 +#: daemon/x52d_io.c:103 #, c-format msgid "Error %d initializing X52 I/O library: %s" msgstr "" -#: daemon/x52d_io.c:108 +#: daemon/x52d_io.c:109 #, c-format msgid "Error %d initializing I/O driver thread: %s" msgstr "" -#: daemon/x52d_io.c:115 +#: daemon/x52d_io.c:116 msgid "Shutting down X52 I/O driver thread" msgstr "" @@ -875,24 +875,24 @@ msgstr "" msgid "Error writing mouse sync event" msgstr "" -#: daemon/x52d_mouse_evdev.c:134 +#: daemon/x52d_mouse_evdev.c:135 msgid "Starting X52 virtual mouse driver thread" msgstr "" -#: daemon/x52d_mouse_evdev.c:157 +#: daemon/x52d_mouse_evdev.c:158 #, c-format msgid "Error %d initializing mouse thread: %s" msgstr "" -#: daemon/x52d_mouse_evdev.c:164 +#: daemon/x52d_mouse_evdev.c:165 msgid "Shutting down X52 virtual mouse driver thread" msgstr "" -#: daemon/x52d_mouse_evdev.c:171 +#: daemon/x52d_mouse_evdev.c:172 msgid "Virtual mouse not created. Ignoring thread state change" msgstr "" -#: daemon/x52d_mouse_evdev.c:236 +#: daemon/x52d_mouse_evdev.c:237 #, c-format msgid "Error %d creating X52 virtual mouse: %s" msgstr "" @@ -916,27 +916,27 @@ msgstr "" msgid "Error setting up notification socket" msgstr "" -#: daemon/x52d_notify.c:80 daemon/x52d_notify.c:90 +#: daemon/x52d_notify.c:81 daemon/x52d_notify.c:91 #, c-format msgid "Error %d reading from pipe: %s" msgstr "" -#: daemon/x52d_notify.c:127 +#: daemon/x52d_notify.c:128 #, c-format msgid "Error %d writing notification pipe: %s" msgstr "" -#: daemon/x52d_notify.c:172 +#: daemon/x52d_notify.c:174 #, c-format msgid "Error %d creating notification pipe: %s" msgstr "" -#: daemon/x52d_notify.c:181 +#: daemon/x52d_notify.c:183 #, c-format msgid "Error %d initializing notify thread: %s" msgstr "" -#: daemon/x52d_notify.c:187 +#: daemon/x52d_notify.c:189 #, c-format msgid "Error %d initializing notify listener: %s" msgstr "" diff --git a/po/xx_PL.po b/po/xx_PL.po index 061b2fd..363c667 100644 --- a/po/xx_PL.po +++ b/po/xx_PL.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: libx52 0.2.3\n" "Report-Msgid-Bugs-To: https://github.com/nirenjan/libx52/issues\n" -"POT-Creation-Date: 2026-03-16 23:07-0700\n" +"POT-Creation-Date: 2026-03-19 00:09-0700\n" "PO-Revision-Date: 2023-01-04 08:40-0800\n" "Last-Translator: Nirenjan Krishnan \n" "Language-Team: Dummy Language for testing i18n\n" @@ -233,26 +233,26 @@ msgstr "I/O erroray" msgid "Read timeout" msgstr "Eadray imeouttay" -#: evtest/ev_test.c:109 +#: evtest/ev_test.c:110 #, c-format msgid "Device ID: vendor 0x%04x product 0x%04x version 0x%04x\n" msgstr "Eviceday IDay: endorvay 0x%04x oductpray 0x%04x ersionvay 0x%04x\n" -#: evtest/ev_test.c:113 +#: evtest/ev_test.c:114 #, c-format msgid "Device name: \"%s %s\"\n" msgstr "Eviceday amenay: \"%s %s\"\n" -#: evtest/ev_test.c:116 +#: evtest/ev_test.c:117 #, c-format msgid "Serial number: \"%s\"\n" msgstr "Erialsay umbernay: \"%s\"\n" -#: evtest/ev_test.c:117 +#: evtest/ev_test.c:118 msgid "Testing (interrupt to exit)\n" msgstr "Estingtay (interruptay otay exitay)\n" -#: evtest/ev_test.c:157 evtest/ev_test.c:165 +#: evtest/ev_test.c:158 evtest/ev_test.c:166 #, c-format msgid "Event @ %ld.%06ld: %s, value %d\n" msgstr "Eventay @ %ld.%06ld: %s, aluevay %d\n" @@ -536,17 +536,17 @@ msgstr "Estingtay aracterchay 0x%02x..." msgid "OK" msgstr "OKay" -#: daemon/x52d_main.c:64 +#: daemon/x52d_main.c:67 #, c-format msgid "Error %d setting log file: %s\n" msgstr "Erroray %d ettingsay oglay ilefay: %s\n" -#: daemon/x52d_main.c:80 +#: daemon/x52d_main.c:83 #, c-format msgid "Error %d installing handler for signal %d: %s" msgstr "Erroray %d installingay andlerhay orfay ignalsay %d: %s" -#: daemon/x52d_main.c:91 +#: daemon/x52d_main.c:94 #, c-format msgid "" "Usage: %s [-f] [-v] [-q]\n" @@ -562,88 +562,88 @@ msgstr "" "\t[-b otifynay-ocketsay-athpay]\n" "\n" -#: daemon/x52d_main.c:124 +#: daemon/x52d_main.c:129 #, c-format msgid "Daemon is already running as PID %u" msgstr "Aemonday isay alreadyay unningray asay IDPay %u" -#: daemon/x52d_main.c:266 +#: daemon/x52d_main.c:271 #, c-format msgid "Unable to parse configuration override '%s'\n" msgstr "Unableay otay arsepay onfigurationcay overrideay '%s'\n" -#: daemon/x52d_main.c:298 +#: daemon/x52d_main.c:303 #, c-format msgid "Foreground = %s" msgstr "Oregroundfay = %s" -#: daemon/x52d_main.c:298 daemon/x52d_main.c:299 +#: daemon/x52d_main.c:303 daemon/x52d_main.c:304 msgid "true" msgstr "uetray" -#: daemon/x52d_main.c:298 daemon/x52d_main.c:299 +#: daemon/x52d_main.c:303 daemon/x52d_main.c:304 msgid "false" msgstr "alsefay" -#: daemon/x52d_main.c:299 +#: daemon/x52d_main.c:304 #, c-format msgid "Quiet = %s" msgstr "Uietqay = %s" -#: daemon/x52d_main.c:300 +#: daemon/x52d_main.c:305 #, c-format msgid "Verbosity = %d" msgstr "Erbosityvay = %d" -#: daemon/x52d_main.c:301 +#: daemon/x52d_main.c:306 #, c-format msgid "Log file = %s" msgstr "Oglay ilefay = %s" -#: daemon/x52d_main.c:302 +#: daemon/x52d_main.c:307 #, c-format msgid "Config file = %s" msgstr "Onfigcay ilefay = %s" -#: daemon/x52d_main.c:303 +#: daemon/x52d_main.c:308 #, c-format msgid "PID file = %s" msgstr "IDPay ilefay = %s" -#: daemon/x52d_main.c:304 +#: daemon/x52d_main.c:309 #, c-format msgid "Command socket = %s" msgstr "Ommandcay ocketsay = %s" -#: daemon/x52d_main.c:305 +#: daemon/x52d_main.c:310 #, c-format msgid "Notify socket = %s" msgstr "Otifynay ocketsay = %s" -#: daemon/x52d_main.c:316 +#: daemon/x52d_main.c:321 #, c-format msgid "Error %d blocking signals on child threads: %s" msgstr "Erroray %d ockingblay ignalssay onay ildchay eadsthray: %s" -#: daemon/x52d_main.c:335 +#: daemon/x52d_main.c:340 #, c-format msgid "Error %d unblocking signals on child threads: %s" msgstr "Erroray %d unblockingay ignalssay onay ildchay eadsthray: %s" -#: daemon/x52d_main.c:348 +#: daemon/x52d_main.c:353 msgid "Reloading X52 configuration" msgstr "Eloadingray X52 onfigurationcay" -#: daemon/x52d_main.c:355 +#: daemon/x52d_main.c:360 msgid "Saving X52 configuration to disk" msgstr "Avingsay X52 onfigurationcay otay iskday" -#: daemon/x52d_main.c:361 +#: daemon/x52d_main.c:366 #, c-format msgid "Received termination signal %s" msgstr "Eceivedray erminationtay ignalsay %s" -#: daemon/x52d_main.c:378 +#: daemon/x52d_main.c:383 msgid "Shutting down X52 daemon" msgstr "Uttingshay ownday X52 aemonday" @@ -710,21 +710,21 @@ msgstr "Ettingsay %s ockclay ormatfay otay %s" msgid "Setting date format to %s" msgstr "Ettingsay ateday ormatfay otay %s" -#: daemon/x52d_clock.c:173 +#: daemon/x52d_clock.c:174 msgid "Starting X52 clock manager thread" msgstr "Artingstay X52 ockclay anagermay eadthray" -#: daemon/x52d_clock.c:184 +#: daemon/x52d_clock.c:185 #, c-format msgid "Error %d retrieving current time: %s" msgstr "Erroray %d etrievingray urrentcay imetay: %s" -#: daemon/x52d_clock.c:205 +#: daemon/x52d_clock.c:206 #, c-format msgid "Error %d initializing clock thread: %s" msgstr "Erroray %d initializingay ockclay eadthray: %s" -#: daemon/x52d_clock.c:212 +#: daemon/x52d_clock.c:213 msgid "Shutting down X52 clock manager thread" msgstr "Uttingshay ownday X52 ockclay anagermay eadthray" @@ -739,31 +739,31 @@ msgid "Short write to client %d; expected %d bytes, wrote %d bytes" msgstr "" "Ortshay itewray otay ientclay %d; expecteday %d ytesbay, otewray %d ytesbay" -#: daemon/x52d_command.c:414 +#: daemon/x52d_command.c:415 #, c-format msgid "Error %d during command loop: %s" msgstr "Erroray %d uringday ommandcay ooplay: %s" -#: daemon/x52d_command.c:441 +#: daemon/x52d_command.c:442 #, c-format msgid "Error creating command socket: %s" msgstr "Erroray eatingcray ommandcay ocketsay: %s" -#: daemon/x52d_command.c:449 +#: daemon/x52d_command.c:450 #, c-format msgid "Error marking command socket as nonblocking: %s" msgstr "Erroray arkingmay ommandcay ocketsay asay onblockingnay: %s" -#: daemon/x52d_command.c:455 +#: daemon/x52d_command.c:456 #, c-format msgid "Error listening on command socket: %s" msgstr "Erroray isteninglay onay ommandcay ocketsay: %s" -#: daemon/x52d_command.c:459 +#: daemon/x52d_command.c:460 msgid "Starting command processing thread" msgstr "Artingstay ommandcay ocessingpray eadthray" -#: daemon/x52d_command.c:477 +#: daemon/x52d_command.c:478 msgid "Shutting down command processing thread" msgstr "Uttingshay ownday ommandcay ocessingpray eadthray" @@ -825,67 +825,67 @@ msgstr "Onay aluevay oundfay inay overrideay ingstray '%s'" msgid "Error processing override '%s.%s=%s'" msgstr "Erroray ocessingpray overriday '%s.%s=%s'" -#: daemon/x52d_device.c:36 +#: daemon/x52d_device.c:37 msgid "Starting X52 device manager thread" msgstr "Artingstay X52 eviceday anagermay eadthray" -#: daemon/x52d_device.c:43 +#: daemon/x52d_device.c:44 #, c-format msgid "Error %d connecting to device: %s" msgstr "Erroray %d onnectingcay otay eviceday: %s" -#: daemon/x52d_device.c:52 +#: daemon/x52d_device.c:53 msgid "Device connected, writing configuration" msgstr "Eviceday onnectedcay, itingwray onfigurationcay" -#: daemon/x52d_device.c:75 +#: daemon/x52d_device.c:76 msgid "Initializing libx52" msgstr "Initializingay libx52" -#: daemon/x52d_device.c:79 +#: daemon/x52d_device.c:80 #, c-format msgid "Failure %d initializing libx52: %s" msgstr "Ailurefay %d initializeay libx52: %s" -#: daemon/x52d_device.c:90 +#: daemon/x52d_device.c:91 msgid "Shutting down X52 device manager thread" msgstr "Uttingshay ownday X52 eviceday anagermay eadthray" -#: daemon/x52d_device.c:103 +#: daemon/x52d_device.c:104 #, c-format msgid "Error %d when updating X52 parameter: %s" msgstr "Erroray %d enwhay updatingay X52 arameterpay: %s" -#: daemon/x52d_device.c:179 +#: daemon/x52d_device.c:180 #, c-format msgid "Error %d when updating X52 device: %s" msgstr "Erroray %d enwhay updatingay X52 eviceday: %s" -#: daemon/x52d_io.c:42 +#: daemon/x52d_io.c:43 msgid "Starting X52 I/O thread" msgstr "Artingstay X52 I/O eadthray" -#: daemon/x52d_io.c:64 +#: daemon/x52d_io.c:65 #, c-format msgid "Error %d opening X52 I/O device: %s" msgstr "Erroray %d openingay X52 I/O eviceday: %s" -#: daemon/x52d_io.c:75 +#: daemon/x52d_io.c:76 #, c-format msgid "Error %d reading from X52 I/O device: %s" msgstr "Erroray %d eadingray omfray X52 I/O eviceday: %s" -#: daemon/x52d_io.c:102 +#: daemon/x52d_io.c:103 #, c-format msgid "Error %d initializing X52 I/O library: %s" msgstr "Erroray %d initializingay X52 ibrarylay: %s" -#: daemon/x52d_io.c:108 +#: daemon/x52d_io.c:109 #, c-format msgid "Error %d initializing I/O driver thread: %s" msgstr "Erroray %d initializingay I/O iverdray eadthray: %s" -#: daemon/x52d_io.c:115 +#: daemon/x52d_io.c:116 msgid "Shutting down X52 I/O driver thread" msgstr "Uttingshay ownday X52 I/O iverdray eadthray" @@ -928,24 +928,24 @@ msgstr "Erroray itingwray ousemay axisay eventay (axisay %d, aluevay %d)" msgid "Error writing mouse sync event" msgstr "Erroray itingwray ousemay yncsay eventay" -#: daemon/x52d_mouse_evdev.c:134 +#: daemon/x52d_mouse_evdev.c:135 msgid "Starting X52 virtual mouse driver thread" msgstr "Artingstay X52 irtualvay ousemay iverdray eadthray" -#: daemon/x52d_mouse_evdev.c:157 +#: daemon/x52d_mouse_evdev.c:158 #, c-format msgid "Error %d initializing mouse thread: %s" msgstr "Erroray %d initializingay ousemay eadthray: %s" -#: daemon/x52d_mouse_evdev.c:164 +#: daemon/x52d_mouse_evdev.c:165 msgid "Shutting down X52 virtual mouse driver thread" msgstr "Uttingshay ownday X52 irtualvay ousemay iverdray eadthray" -#: daemon/x52d_mouse_evdev.c:171 +#: daemon/x52d_mouse_evdev.c:172 msgid "Virtual mouse not created. Ignoring thread state change" msgstr "Irtualvay ousemay otnay eatedcray. Ignoringa eadthray atestay angechay" -#: daemon/x52d_mouse_evdev.c:236 +#: daemon/x52d_mouse_evdev.c:237 #, c-format msgid "Error %d creating X52 virtual mouse: %s" msgstr "Erroray %d eatingcray X52 irtualvay ousemay: %s" @@ -969,27 +969,27 @@ msgstr "Erroray isteninglay onay otificationnay ocketsay: %s" msgid "Error setting up notification socket" msgstr "Erroray ettingsay upay otificationnay ocketsay: %s" -#: daemon/x52d_notify.c:80 daemon/x52d_notify.c:90 +#: daemon/x52d_notify.c:81 daemon/x52d_notify.c:91 #, c-format msgid "Error %d reading from pipe: %s" msgstr "Erroray eadingray omfray ipepay %d: %s" -#: daemon/x52d_notify.c:127 +#: daemon/x52d_notify.c:128 #, c-format msgid "Error %d writing notification pipe: %s" msgstr "Erroray %d itingwray otificationnay ipepay: %s" -#: daemon/x52d_notify.c:172 +#: daemon/x52d_notify.c:174 #, c-format msgid "Error %d creating notification pipe: %s" msgstr "Erroray %d eatingcray otificationnay ipepay: %s" -#: daemon/x52d_notify.c:181 +#: daemon/x52d_notify.c:183 #, c-format msgid "Error %d initializing notify thread: %s" msgstr "Erroray %d initializingay otifynay eadthray: %s" -#: daemon/x52d_notify.c:187 +#: daemon/x52d_notify.c:189 #, c-format msgid "Error %d initializing notify listener: %s" msgstr "Erroray %d initializingay otifynay istenerlay: %s" diff --git a/subprojects/pinelog/bench_pinelog.c b/subprojects/pinelog/bench_pinelog.c index 419f61b..490cdc4 100644 --- a/subprojects/pinelog/bench_pinelog.c +++ b/subprojects/pinelog/bench_pinelog.c @@ -41,7 +41,7 @@ static void print_time_difference(const char *type, struct timespec *ts) type, tp_usec, tp_nsec, ret.tv_sec, ret.tv_nsec); } -int main(int argc, char **argv) +int main(void) { struct timespec ts_wall[2]; struct timespec ts_cpu[2]; diff --git a/subprojects/pinelog/pinelog.c b/subprojects/pinelog/pinelog.c index 8258044..54d876d 100644 --- a/subprojects/pinelog/pinelog.c +++ b/subprojects/pinelog/pinelog.c @@ -348,6 +348,10 @@ void pinelog_log_message(int module, int level, const char *file, int line, cons #else fprintf(output_stream, "%s:%d ", file, line); #endif + #else + // Suppress unused parameter warnings + (void)file; + (void)line; #endif /* Set the module name if it is not the root */ diff --git a/subprojects/pinelog/test_pinelog.c b/subprojects/pinelog/test_pinelog.c index 9faccb2..a34d9a1 100644 --- a/subprojects/pinelog/test_pinelog.c +++ b/subprojects/pinelog/test_pinelog.c @@ -36,6 +36,7 @@ static size_t expected_len; time_t time(time_t *p) { + (void)p; // Override the time function from libc return 1636671600; } @@ -196,7 +197,7 @@ static void tap_bailout(const char *msg) exit(1); } -int main(int argc, char **argv) +int main(void) { int fifo_fd[2]; int flags; diff --git a/gettext.h b/sys/gettext.h similarity index 100% rename from gettext.h rename to sys/gettext.h