# HG changeset patch # User Florian Pose # Date 1360680403 -3600 # Node ID ec403cf308eb5efe44c9417a379f414bdbfbb7a5 # Parent 3d68bb0047a1009a59bfc4dee620c67ffca2cd96 Updated Doxygen documentation. diff -r 3d68bb0047a1 -r ec403cf308eb Doxyfile.in --- a/Doxyfile.in Tue Feb 12 15:30:34 2013 +0100 +++ b/Doxyfile.in Tue Feb 12 15:46:43 2013 +0100 @@ -1,29 +1,30 @@ -# Doxyfile 1.5.3 +# Doxyfile 1.8.1 # This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project +# doxygen (www.doxygen.org) for a project. # -# All text after a hash (#) is considered a comment and will be ignored +# All text after a hash (#) is considered a comment and will be ignored. # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") +# Values that contain spaces should be placed between quotes (" "). #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- -# This tag specifies the encoding used for all characters in the config file that -# follow. The default is UTF-8 which is also the encoding used for all text before -# the first occurrence of this tag. Doxygen uses libiconv (or the iconv built into -# libc) for the transcoding. See http://www.gnu.org/software/libiconv for the list of -# possible encodings. +# This tag specifies the encoding used for all characters in the config file +# that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# http://www.gnu.org/software/libiconv for the list of possible encodings. DOXYFILE_ENCODING = UTF-8 -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. +# The PROJECT_NAME tag is a single word (or sequence of words) that should +# identify the project. Note that if you do not use Doxywizard you need +# to put quotes around the project name if it contains spaces. PROJECT_NAME = "IgH EtherCAT Master" @@ -33,6 +34,19 @@ PROJECT_NUMBER = @VERSION@ +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer +# a quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify an logo or icon that is +# included in the documentation. The maximum height of the logo should not +# exceed 55 pixels and the maximum width should not exceed 200 pixels. +# Doxygen will copy the logo to the output directory. + +PROJECT_LOGO = + # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location @@ -54,10 +68,11 @@ # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hungarian, -# Italian, Japanese, Japanese-en (Japanese with English messages), Korean, -# Korean-en, Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, -# Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. +# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, +# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English +# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, +# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, +# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. OUTPUT_LANGUAGE = English @@ -125,7 +140,7 @@ STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems +# (but less readable) file names. This can be useful if your file system # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO @@ -154,13 +169,6 @@ MULTILINE_CPP_IS_BRIEF = YES -# If the DETAILS_AT_TOP tag is set to YES then Doxygen -# will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member -# documentation. - -DETAILS_AT_TOP = YES - # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. @@ -187,6 +195,13 @@ 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 @@ -195,17 +210,50 @@ OPTIMIZE_OUTPUT_FOR_C = YES # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for Java. -# For instance, namespaces will be presented as packages, qualified scopes -# will look different, etc. +# sources only. Doxygen will then generate output that is more tailored for +# Java. For instance, namespaces will be presented as packages, qualified +# scopes will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to -# include (a tag file for) the STL sources as input, then you should +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources only. Doxygen will then generate output that is more tailored for +# Fortran. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for +# VHDL. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given extension. +# Doxygen has a built-in mapping, but you can override or extend it using this +# tag. The format is ext=language, where ext is a file extension, and language +# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C, +# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make +# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C +# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions +# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all +# comments according to the Markdown format, which allows for more readable +# documentation. See http://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you +# can mix doxygen, HTML, and XML commands with Markdown formatting. +# Disable only in case of backward compatibilities issues. + +MARKDOWN_SUPPORT = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration +# func(std::string) {}). This also makes the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO @@ -215,6 +263,21 @@ CPP_CLI_SUPPORT = NO +# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. +# Doxygen will parse them like normal C++ but will assume all classes use public +# instead of private inheritance when no explicit protection keyword is present. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate getter +# and setter methods for a property. Setting this option to YES (the default) +# will make doxygen replace the get and set methods by a property in the +# documentation. This will only work if the methods are indeed getting or +# setting a simple type. If this is not the case, or you want to show the +# methods anyway, you should set this option to NO. + +IDL_PROPERTY_SUPPORT = YES + # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default @@ -230,6 +293,59 @@ SUBGROUPING = YES +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and +# unions are shown inside the group in which they are included (e.g. using +# @ingroup) instead of on a separate page (for HTML and Man pages) or +# section (for LaTeX and RTF). + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and +# unions with only public data fields will be shown inline in the documentation +# of the scope in which they are defined (i.e. file, namespace, or group +# documentation), provided this scope is documented. If set to NO (the default), +# structs, classes, and unions are shown on a separate page (for HTML and Man +# pages) or section (for LaTeX and RTF). + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum +# is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically +# be useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. + +TYPEDEF_HIDES_STRUCT = NO + +# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to +# determine which symbols to keep in memory and which to flush to disk. +# When the cache is full, less often used symbols will be written to disk. +# For small to medium size projects (<1000 input files) the default value is +# probably good enough. For larger projects a too small cache size can cause +# doxygen to be busy swapping symbols to and from disk most of the time +# causing a significant performance penalty. +# If the system has enough physical memory increasing the cache will improve the +# performance by keeping more symbols in memory. Note that the value works on +# a logarithmic scale so increasing the size by one will roughly double the +# memory usage. The cache size is given by this formula: +# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols. + +SYMBOL_CACHE_SIZE = 0 + +# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be +# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given +# their name and scope. Since this can be an expensive process and often the +# same symbol appear multiple times in the code, doxygen keeps a cache of +# pre-resolved symbols. If the cache is too small doxygen will become slower. +# If the cache is too large, memory is wasted. The cache size is given by this +# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, +# corresponding to a cache size of 2^16 = 65536 symbols. + +LOOKUP_CACHE_SIZE = 0 + #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- @@ -246,6 +362,10 @@ EXTRACT_PRIVATE = YES +# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation. + +EXTRACT_PACKAGE = NO + # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. @@ -264,10 +384,11 @@ EXTRACT_LOCAL_METHODS = YES -# If this flag is set to YES, the members of anonymous namespaces will be extracted -# and appear in the documentation as a namespace called 'anonymous_namespace{file}', -# where file will be replaced with the base name of the file that contains the anonymous -# namespace. By default anonymous namespace are hidden. +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base +# name of the file that contains the anonymous namespace. By default +# anonymous namespaces are hidden. EXTRACT_ANON_NSPACES = NO @@ -327,6 +448,12 @@ SHOW_INCLUDE_FILES = NO +# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen +# will list include files with double quotes in the documentation +# rather than with sharp brackets. + +FORCE_LOCAL_INCLUDES = NO + # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. @@ -346,6 +473,22 @@ SORT_BRIEF_DOCS = NO +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen +# will sort the (brief and detailed) documentation of class members so that +# constructors and destructors are listed first. If set to NO (the default) +# the constructors will appear in the respective orders defined by +# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. +# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO +# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the +# hierarchy of group names into alphabetical order. If set to NO (the default) +# the group names will appear in their defined order. + +SORT_GROUP_NAMES = NO + # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, @@ -356,6 +499,15 @@ SORT_BY_SCOPE_NAME = NO +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to +# do proper type resolution of all parameters of a function it will reject a +# match between the prototype and the implementation of a member function even +# if there is only one candidate or it is obvious which candidate to choose +# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen +# will still accept a match between prototype and implementation in such cases. + +STRICT_PROTO_MATCHING = NO + # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. @@ -386,10 +538,10 @@ ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in +# the initial value of a variable or macro consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the +# The appearance of the initializer of individual variables and macros in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. @@ -401,15 +553,22 @@ SHOW_USED_FILES = NO -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = YES +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. +# This will remove the Files entry from the Quick Index and from the +# Folder Tree View (if specified). The default is YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the +# Namespaces page. +# This will remove the Namespaces entry from the Quick Index +# and from the Folder Tree View (if specified). The default is YES. + +SHOW_NAMESPACES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from the -# version control system). Doxygen will invoke the program by executing (via +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the program writes to standard output @@ -417,6 +576,25 @@ FILE_VERSION_FILTER = +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. The create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. +# You can optionally specify a file name after the option, if omitted +# DoxygenLayout.xml will be used as the name of the layout file. + +LAYOUT_FILE = + +# The CITE_BIB_FILES tag can be used to specify one or more bib files +# containing the references data. This must be a list of .bib files. The +# .bib extension is automatically appended if omitted. Using this command +# requires the bibtex tool to be installed. See also +# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style +# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this +# feature you need bibtex and perl available in the search path. + +CITE_BIB_FILES = + #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- @@ -445,7 +623,7 @@ WARN_IF_DOC_ERROR = YES -# This WARN_NO_PARAMDOC option can be abled to get warnings for +# The 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 (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of @@ -481,10 +659,11 @@ include \ devices/ecdev.h -# This tag can be used to specify the character encoding of the source files that -# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default -# input encoding. Doxygen uses libiconv (or the iconv built into libc) for the transcoding. -# See http://www.gnu.org/software/libiconv for the list of possible encodings. +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is +# also the default input encoding. Doxygen uses libiconv (or the iconv built +# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for +# the list of possible encodings. INPUT_ENCODING = UTF-8 @@ -492,8 +671,9 @@ # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py +# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh +# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py +# *.f90 *.f *.for *.vhd *.vhdl FILE_PATTERNS = @@ -503,14 +683,16 @@ RECURSIVE = NO -# The EXCLUDE tag can be used to specify files and/or directories that should +# The EXCLUDE tag can be used to specify files and/or directories that should be # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. +# Note that relative paths are relative to the directory from which doxygen is +# run. EXCLUDE = -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO @@ -524,9 +706,10 @@ EXCLUDE_PATTERNS = *.mod.c # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the output. -# The symbol name can be a fully qualified name, a word, or if the wildcard * is used, -# a substring. Examples: ANamespace, AClass, AClass::ANamespace, ANamespace::*Test +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test EXCLUDE_SYMBOLS = @@ -561,17 +744,20 @@ # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be +# to standard output. +# If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: +# basis. +# Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. +# The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. +# info on how filters are used. If FILTER_PATTERNS is empty or if +# non of the patterns match the file name, INPUT_FILTER is applied. FILTER_PATTERNS = @@ -581,6 +767,14 @@ FILTER_SOURCE_FILES = NO +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) +# and it is also possible to disable source filtering for a specific pattern +# using *.ext= (so without naming a filter). This option only has effect when +# FILTER_SOURCE_FILES is enabled. + +FILTER_SOURCE_PATTERNS = + #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- @@ -588,9 +782,7 @@ # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. If you have enabled CALL_GRAPH or CALLER_GRAPH -# then you must also enable this option. If you don't then doxygen will produce -# a warning and turn it on anyway +# VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = YES @@ -605,13 +797,13 @@ STRIP_CODE_COMMENTS = YES -# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# If the REFERENCED_BY_RELATION tag is set to YES # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = NO -# If the REFERENCES_RELATION tag is set to YES (the default) +# If the REFERENCES_RELATION tag is set to YES # then for each documented function all documented entities # called/used by that function will be listed. @@ -620,7 +812,8 @@ # If the REFERENCES_LINK_SOURCE tag is set to YES (the default) # and SOURCE_BROWSER tag is set to YES, then the hyperlinks from # functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentstion. +# link to the source code. +# Otherwise they will link to the documentation. REFERENCES_LINK_SOURCE = YES @@ -684,7 +877,14 @@ # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a -# standard header. +# standard header. Note that when using a custom header you are responsible +# for the proper inclusion of any scripts and style sheets that doxygen +# needs, which is dependent on the configuration options used. +# It is advised to generate a default header using "doxygen -w html +# header.html footer.html stylesheet.css YourConfigFile" and then modify +# that header. Note that the header is subject to change so you typically +# have to redo this when upgrading to a newer version of doxygen or when +# changing the value of configuration settings such as GENERATE_TREEVIEW! HTML_HEADER = @@ -699,31 +899,111 @@ # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! +# style sheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that +# the files will be copied as-is; there are no commands or markers available. + +HTML_EXTRA_FILES = + +# 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 http://en.wikipedia.org/wiki/Hue for more information. +# For instance the value 0 represents red, 60 is yellow, 120 is green, +# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. +# The allowed range is 0 to 359. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of +# the colors in the HTML output. For a value of 0 the output will use +# grayscales only. A value of 255 will produce the most vivid colors. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to +# the luminance component of the colors in the HTML output. Values below +# 100 gradually make the output lighter, whereas values above 100 make +# the output darker. The value divided by 100 is the actual gamma applied, +# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, +# and 100 does not change the gamma. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting +# this to NO can help when comparing the output of multiple runs. + +HTML_TIMESTAMP = NO + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. + +HTML_DYNAMIC_SECTIONS = NO + +# 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 such a level that at most the specified number of entries are +# visible (unless a fully collapsed tree already exceeds this amount). +# So setting the number of entries 1 will produce a full collapsed tree by +# default. 0 is a special value representing an infinite number of entries +# and will result in a full expanded tree by default. + +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, introduced with OSX 10.5 (Leopard). +# To create a documentation set, doxygen will generate a Makefile in the +# HTML output directory. Running make will produce the docset in that +# directory and running "make install" will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find +# it at startup. +# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html +# for more information. + +GENERATE_DOCSET = NO + +# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the +# feed. A documentation feed provides an umbrella under which multiple +# documentation sets from a single provider (such as a company or product suite) +# can be grouped. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that +# should uniquely identify the documentation set bundle. This should be a +# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen +# will append .docset to the name. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. + +DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) +# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. For this to work a browser that supports -# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox -# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). - -HTML_DYNAMIC_SECTIONS = NO - # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be @@ -744,6 +1024,12 @@ GENERATE_CHI = NO +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING +# is used to encode HtmlHelp index (hhk), content (hhc) and project file +# content. + +CHM_INDEX_ENCODING = + # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. @@ -755,32 +1041,176 @@ TOC_EXPAND = NO -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated +# that can be used as input for Qt's qhelpgenerator to generate a +# Qt Compressed Help (.qch) of the generated HTML documentation. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can +# be used to specify the file name of the resulting .qch file. +# The path specified is relative to the HTML output folder. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#namespace + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating +# Qt Help Project output. For more information please see +# http://doc.trolltech.com/qthelpproject.html#virtual-folders + +QHP_VIRTUAL_FOLDER = doc + +# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to +# add. For more information please see +# http://doc.trolltech.com/qthelpproject.html#custom-filters + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see +# +# Qt Help Project / Custom Filters. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's +# filter section matches. +# +# Qt Help Project / Filter Attributes. + +QHP_SECT_FILTER_ATTRS = + +# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can +# be used to specify the location of Qt's qhelpgenerator. +# If non-empty doxygen will try to run qhelpgenerator on the generated +# .qhp file. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files +# will be generated, which together with the HTML files, form an Eclipse help +# plugin. To install this plugin and make it available under the help contents +# menu in Eclipse, the contents of the directory containing the HTML and XML +# files needs to be copied into the plugins directory of eclipse. The name of +# the directory within the plugins directory should be the same as +# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before +# the help appears. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have +# this name. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) +# at top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. Since the tabs have the same information as the +# navigation tree you can set this option to NO if you already set +# GENERATE_TREEVIEW to YES. DISABLE_INDEX = NO -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. +# If the tag value is set to YES, a side panel will be generated +# containing a tree-like index structure (just like the one that +# is generated for HTML Help). For this to work a browser that supports +# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). +# Windows users are probably better off using the HTML help feature. +# Since the tree basically has the same information as the tab index you +# could consider to set DISABLE_INDEX to NO when enabling this option. + +GENERATE_TREEVIEW = YES + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values +# (range [0,1..20]) that doxygen will group on one line in the generated HTML +# documentation. Note that a value of 0 will completely suppress the enum +# values from appearing in the overview section. ENUM_VALUES_PER_LINE = 4 -# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. - -GENERATE_TREEVIEW = YES - # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 +# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open +# links to external symbols imported via tag files in a separate window. + +EXT_LINKS_IN_WINDOW = NO + +# Use this tag to change the font size of Latex formulas included +# as images in the HTML documentation. The default is 10. Note that +# when you change the font size after a successful doxygen run you need +# to manually remove any form_*.png images from the HTML output directory +# to force them to be regenerated. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are +# not supported properly for IE 6.0, but are supported on all modern browsers. +# Note that when changing this option you need to delete any form_*.png files +# in the HTML output before the changes have effect. + +FORMULA_TRANSPARENT = YES + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax +# (see http://www.mathjax.org) which uses client side Javascript for the +# rendering instead of using prerendered bitmaps. Use this if you do not +# have LaTeX installed or if you want to formulas look prettier in the HTML +# output. When enabled you may also need to install MathJax separately and +# configure the path to it using the MATHJAX_RELPATH option. + +USE_MATHJAX = NO + +# When MathJax is enabled you need to specify the location relative to the +# HTML output directory using the MATHJAX_RELPATH option. The destination +# directory should contain the MathJax.js script. For instance, if the mathjax +# directory is located at the same level as the HTML output directory, then +# 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 http://www.mathjax.org before deployment. + +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + +# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension +# names that should be enabled during MathJax rendering. + +MATHJAX_EXTENSIONS = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box +# for the HTML output. The underlying search engine uses javascript +# and DHTML and should work on any modern browser. Note that when using +# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets +# (GENERATE_DOCSET) there is already a search function so this one should +# typically be disabled. For large projects the javascript based search engine +# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. + +SEARCHENGINE = NO + +# When the SERVER_BASED_SEARCH tag is enabled the search engine will be +# implemented using a PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvantages are that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = NO + #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- @@ -798,6 +1228,9 @@ # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. +# Note that when enabling USE_PDFLATEX this option is only used for +# generating bitmaps for formulas in the HTML output, but not in the +# Makefile that is written to the output directory. LATEX_CMD_NAME = latex @@ -814,7 +1247,7 @@ COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and +# by the printer. Possible values are: a4, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide @@ -831,6 +1264,13 @@ 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. Notice: only use this tag if you know what you are doing! + +LATEX_FOOTER = + # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references @@ -857,6 +1297,19 @@ LATEX_HIDE_INDICES = NO +# If LATEX_SOURCE_CODE is set to YES then doxygen will include +# source code with syntax highlighting in the LaTeX output. +# Note that which sources are shown also depends on other settings +# such as SOURCE_BROWSER. + +LATEX_SOURCE_CODE = NO + +# The LATEX_BIB_STYLE tag can be used to specify the style to use for the +# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See +# http://en.wikipedia.org/wiki/BibTeX for more info. + +LATEX_BIB_STYLE = plain + #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- @@ -888,7 +1341,7 @@ RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's +# Load style sheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. @@ -993,8 +1446,10 @@ PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this +# nicely formatted so it can be parsed by a human reader. +# This is useful +# if you want to understand what is going on. +# On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. @@ -1031,7 +1486,7 @@ EXPAND_ONLY_PREDEF = NO # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. +# pointed to by INCLUDE_PATH will be searched when a #include is found. SEARCH_INCLUDES = YES @@ -1061,15 +1516,15 @@ # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. +# Use the PREDEFINED tag if you want to use a different macro definition that +# overrules the definition found in the source code. EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. +# doxygen's preprocessor will remove all references to function-like macros +# that are alone on a line, have an all uppercase name, and do not end with a +# semicolon, because these will confuse the parser if not removed. SKIP_FUNCTION_MACROS = YES @@ -1077,20 +1532,18 @@ # Configuration::additions related to external references #--------------------------------------------------------------------------- -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... +# The TAGFILES option can be used to specify one or more tagfiles. For each +# tag file the location of the external documentation should be added. The +# format of a tag file without this location is as follows: +# +# TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. +# +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths +# or URLs. Note that each tag file must have a unique name (where the name does +# NOT include the path). If a tag file is not located in the directory in which +# doxygen is run, you must also specify the path to the tagfile here. TAGFILES = @@ -1123,17 +1576,17 @@ # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. +# this option also works with HAVE_DOT disabled, but it is recommended to +# install and use dot, since it yields more powerful graphs. CLASS_DIAGRAMS = YES # You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see http://www.mcternan.me.uk/mscgen/) to -# produce the chart and insert it in the documentation. The MSCGEN_PATH tag allows you to -# specify the directory where the mscgen tool resides. If left empty the tool is assumed to -# be found in the default search path. +# command. Doxygen will then run the mscgen tool (see +# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the +# documentation. The MSCGEN_PATH tag allows you to specify the directory where +# the mscgen tool resides. If left empty the tool is assumed to be found in the +# default search path. MSCGEN_PATH = @@ -1150,10 +1603,38 @@ HAVE_DOT = NO +# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is +# allowed to run in parallel. When set to 0 (the default) doxygen will +# base this on the number of processors available in the system. You can set it +# explicitly to a value larger than 0 to get control over the balance +# between CPU load and processing speed. + +DOT_NUM_THREADS = 0 + +# By default doxygen will use the Helvetica font for all dot files that +# doxygen generates. When you want a differently looking font you can specify +# the font name using DOT_FONTNAME. You need to make sure dot is able to find +# the font, which can be done by putting it in a standard location or by setting +# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the +# directory containing the font. + +DOT_FONTNAME = Helvetica + +# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. +# The default size is 10pt. + +DOT_FONTSIZE = 10 + +# By default doxygen will tell dot to use the Helvetica font. +# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to +# set the path where dot can find it. + +DOT_FONTPATH = + # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. +# CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES @@ -1175,6 +1656,15 @@ UML_LOOK = NO +# If the UML_LOOK tag is enabled, the fields and methods are shown inside +# the class node. If there are many fields or methods and many nodes the +# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS +# threshold limits the number of items for each type to make the size more +# managable. Set this to 0 for no limit. Note that the threshold may be +# exceeded by 50% before the limit is enforced. + +UML_LIMIT_NUM_FIELDS = 10 + # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. @@ -1194,28 +1684,28 @@ INCLUDED_BY_GRAPH = YES -# If the CALL_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES then doxygen will -# generate a call dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable call graphs for selected -# functions only using the \callgraph command. +# If the CALL_GRAPH and HAVE_DOT options are set to YES then +# doxygen will generate a call dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable call graphs +# for selected functions only using the \callgraph command. CALL_GRAPH = NO -# If the CALLER_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES then doxygen will -# generate a caller dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable caller graphs for selected -# functions only using the \callergraph command. +# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then +# doxygen will generate a caller dependency graph for every global function +# or class method. Note that enabling this option will significantly increase +# the time of a run. So in most cases it will be better to enable caller +# graphs for selected functions only using the \callergraph command. CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. +# will generate a graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES +# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. @@ -1223,11 +1713,22 @@ DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. +# generated by dot. Possible values are svg, png, jpg, or gif. +# If left blank png will be used. If you choose svg you need to set +# HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible in IE 9+ (other browsers do not have this requirement). DOT_IMAGE_FORMAT = png +# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to +# enable generation of interactive SVG images that allow zooming and panning. +# Note that this requires a modern browser other than Internet Explorer. +# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you +# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files +# visible. Older versions of IE do not have SVG support. + +INTERACTIVE_SVG = NO + # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. @@ -1239,12 +1740,18 @@ DOTFILE_DIRS = -# The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of +# 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 = + +# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the number -# of direct children of the root node in a graph is already larger than -# MAX_DOT_GRAPH_NOTES then the graph will not be shown at all. Also note +# visualized by representing a node as a red box. Note that doxygen if the +# number of direct children of the root node in a graph is already larger than +# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note # that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. DOT_GRAPH_MAX_NODES = 50 @@ -1260,10 +1767,10 @@ MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, which results in a white background. -# 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). +# background. This is disabled by default, because dot on Windows does not +# seem to support this out of the box. Warning: Depending on the platform used, +# enabling this option may lead to badly anti-aliased labels on the edges of +# a graph (i.e. they become hard to read). DOT_TRANSPARENT = NO @@ -1285,12 +1792,3 @@ # the various graphs. DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff -r 3d68bb0047a1 -r ec403cf308eb include/ecrt.h --- a/include/ecrt.h Tue Feb 12 15:30:34 2013 +0100 +++ b/include/ecrt.h Tue Feb 12 15:46:43 2013 +0100 @@ -175,15 +175,15 @@ */ #define EC_HAVE_REG_ACCESS -/* Defined if the method ecrt_master_select_reference_clock() is available. +/** Defined if the method ecrt_master_select_reference_clock() is available. */ #define EC_HAVE_SELECT_REF_CLOCK -/* Defined if the method ecrt_master_reference_clock_time() is available. +/** Defined if the method ecrt_master_reference_clock_time() is available. */ #define EC_HAVE_REF_CLOCK_TIME -/* Defined if the method ecrt_slave_config_reg_pdo_entry_pos() is available. +/** Defined if the method ecrt_slave_config_reg_pdo_entry_pos() is available. */ #define EC_HAVE_REG_BY_POS @@ -1449,6 +1449,8 @@ * * The created SDO request object is freed automatically when the master is * released. + * + * \return New SDO request, or NULL on error. */ ec_sdo_request_t *ecrt_slave_config_create_sdo_request( ec_slave_config_t *sc, /**< Slave configuration. */ @@ -1466,6 +1468,8 @@ * * The created VoE handler object is freed automatically when the master is * released. + * + * \return New VoE handler, or NULL on error. */ ec_voe_handler_t *ecrt_slave_config_create_voe_handler( ec_slave_config_t *sc, /**< Slave configuration. */ @@ -1480,6 +1484,8 @@ * * The created register request object is freed automatically when the master * is released. + * + * \return New register request, or NULL on error. */ ec_reg_request_t *ecrt_slave_config_create_reg_request( ec_slave_config_t *sc, /**< Slave configuration. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/cdev.c --- a/master/cdev.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/cdev.c Tue Feb 12 15:46:43 2013 +0100 @@ -222,6 +222,8 @@ * * The actual mapping will be done in the eccdev_vma_nopage() callback of the * virtual memory area. + * + * \return Always zero (success). */ int eccdev_mmap( struct file *filp, @@ -247,6 +249,8 @@ * * Called at the first access on a virtual-memory area retrieved with * ecdev_mmap(). + * + * \return Zero on success, otherwise a negative error code. */ static int eccdev_vma_fault( struct vm_area_struct *vma, /**< Virtual memory area. */ @@ -257,12 +261,14 @@ ec_cdev_priv_t *priv = (ec_cdev_priv_t *) vma->vm_private_data; struct page *page; - if (offset >= priv->ctx.process_data_size) + if (offset >= priv->ctx.process_data_size) { return VM_FAULT_SIGBUS; + } page = vmalloc_to_page(priv->ctx.process_data + offset); - if (!page) + if (!page) { return VM_FAULT_SIGBUS; + } get_page(page); vmf->page = page; diff -r 3d68bb0047a1 -r ec403cf308eb master/coe_emerg_ring.c --- a/master/coe_emerg_ring.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/coe_emerg_ring.c Tue Feb 12 15:46:43 2013 +0100 @@ -29,10 +29,9 @@ * *****************************************************************************/ -/** - \file - EtherCAT CoE emergency ring buffer methods. -*/ +/** \file + * EtherCAT CoE emergency ring buffer methods. + */ /*****************************************************************************/ @@ -73,6 +72,8 @@ /*****************************************************************************/ /** Set the ring size. + * + * \return Zero on success, otherwise a negative error code. */ int ec_coe_emerg_ring_size( ec_coe_emerg_ring_t *ring, /**< Emergency ring. */ @@ -128,6 +129,8 @@ /*****************************************************************************/ /** Remove an emergency message from the ring. + * + * \return Zero on success, otherwise a negative error code. */ int ec_coe_emerg_ring_pop( ec_coe_emerg_ring_t *ring, /**< Emergency ring. */ @@ -146,6 +149,8 @@ /*****************************************************************************/ /** Clear the ring. + * + * \return Zero on success, otherwise a negative error code. */ int ec_coe_emerg_ring_clear_ring( ec_coe_emerg_ring_t *ring /**< Emergency ring. */ @@ -159,6 +164,8 @@ /*****************************************************************************/ /** Read the number of overruns. + * + * \return Number of overruns. */ int ec_coe_emerg_ring_overruns( ec_coe_emerg_ring_t *ring /**< Emergency ring. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/coe_emerg_ring.h --- a/master/coe_emerg_ring.h Tue Feb 12 15:30:34 2013 +0100 +++ b/master/coe_emerg_ring.h Tue Feb 12 15:46:43 2013 +0100 @@ -44,7 +44,7 @@ /** EtherCAT CoE emergency message record. */ typedef struct { - u8 data[EC_COE_EMERGENCY_MSG_SIZE]; + u8 data[EC_COE_EMERGENCY_MSG_SIZE]; /**< Message data. */ } ec_coe_emerg_msg_t; /*****************************************************************************/ @@ -54,12 +54,12 @@ typedef struct { ec_slave_config_t *sc; /**< Slave configuration owning the ring. */ - ec_coe_emerg_msg_t *msgs; - size_t size; + ec_coe_emerg_msg_t *msgs; /**< Message ring. */ + size_t size; /**< Ring size. */ - unsigned int read_index; - unsigned int write_index; - unsigned int overruns; + unsigned int read_index; /**< Read index. */ + unsigned int write_index; /**< Write index. */ + unsigned int overruns; /**< Number of overruns since last reset. */ } ec_coe_emerg_ring_t; /*****************************************************************************/ diff -r 3d68bb0047a1 -r ec403cf308eb master/datagram.c --- a/master/datagram.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/datagram.c Tue Feb 12 15:46:43 2013 +0100 @@ -636,6 +636,8 @@ /*****************************************************************************/ /** Returns a string describing the datagram type. + * + * \return Pointer on a static memory containing the requested string. */ const char *ec_datagram_type_string( const ec_datagram_t *datagram /**< EtherCAT datagram. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/datagram_pair.c --- a/master/datagram_pair.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/datagram_pair.c Tue Feb 12 15:46:43 2013 +0100 @@ -42,12 +42,14 @@ /*****************************************************************************/ /** Datagram pair constructor. + * + * \return Zero on success, otherwise a negative error code. */ int ec_datagram_pair_init( ec_datagram_pair_t *pair, /**< Datagram pair. */ ec_domain_t *domain, /**< Parent domain. */ - uint32_t logical_offset, - uint8_t *data, + uint32_t logical_offset, /**< Logical offset. */ + uint8_t *data, /**< Data pointer. */ size_t data_size, /**< Data size. */ const unsigned int used[] /**< input/output use count. */ ) @@ -168,6 +170,8 @@ /*****************************************************************************/ /** Process received data. + * + * \return Working counter sum over all devices. */ uint16_t ec_datagram_pair_process( ec_datagram_pair_t *pair, /**< Datagram pair. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/datagram_pair.h --- a/master/datagram_pair.h Tue Feb 12 15:30:34 2013 +0100 +++ b/master/datagram_pair.h Tue Feb 12 15:46:43 2013 +0100 @@ -48,7 +48,7 @@ */ typedef struct { struct list_head list; /**< List header. */ - ec_domain_t *domain; + ec_domain_t *domain; /**< Parent domain. */ ec_datagram_t datagrams[EC_MAX_NUM_DEVICES]; /**< Datagrams. */ #if EC_MAX_NUM_DEVICES > 1 uint8_t *send_buffer; diff -r 3d68bb0047a1 -r ec403cf308eb master/debug.c --- a/master/debug.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/debug.c Tue Feb 12 15:46:43 2013 +0100 @@ -200,6 +200,8 @@ *****************************************************************************/ /** Opens the virtual network device. + * + * \return Always zero (success). */ int ec_dbgdev_open( struct net_device *dev /**< debug net_device */ @@ -215,6 +217,8 @@ /*****************************************************************************/ /** Stops the virtual network device. + * + * \return Always zero (success). */ int ec_dbgdev_stop( struct net_device *dev /**< debug net_device */ @@ -230,6 +234,8 @@ /*****************************************************************************/ /** Transmits data via the virtual network device. + * + * \return Always zero (success). */ int ec_dbgdev_tx( struct sk_buff *skb, /**< transmit socket buffer */ @@ -246,6 +252,8 @@ /*****************************************************************************/ /** Gets statistics about the virtual network device. + * + * \return Statistics. */ struct net_device_stats *ec_dbgdev_stats( struct net_device *dev /**< debug net_device */ diff -r 3d68bb0047a1 -r ec403cf308eb master/device.c --- a/master/device.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/device.c Tue Feb 12 15:46:43 2013 +0100 @@ -698,6 +698,8 @@ /** Reads the link state. * * \ingroup DeviceInterface + * + * \return Link state. */ uint8_t ecdev_get_link( const ec_device_t *device /**< EtherCAT device */ diff -r 3d68bb0047a1 -r ec403cf308eb master/domain.c --- a/master/domain.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/domain.c Tue Feb 12 15:46:43 2013 +0100 @@ -43,6 +43,8 @@ #include "domain.h" #include "datagram_pair.h" +/** Extra debug output for redundancy functions. + */ #define DEBUG_REDUNDANCY 0 /*****************************************************************************/ @@ -187,6 +189,8 @@ * * Walks through the list of all FMMU configurations for the current datagram * and ends before the current datagram. + * + * \return Non-zero if slave connfig was already counted. */ int shall_count( const ec_fmmu_config_t *cur_fmmu, /**< Current FMMU with direction to @@ -340,6 +344,8 @@ /*****************************************************************************/ /** Get a certain FMMU configuration via its position in the list. + * + * \return FMMU at position \a pos, or NULL. */ const ec_fmmu_config_t *ec_domain_find_fmmu( const ec_domain_t *domain, /**< EtherCAT domain. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/ethernet.c --- a/master/ethernet.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/ethernet.c Tue Feb 12 15:46:43 2013 +0100 @@ -98,6 +98,8 @@ /** EoE constructor. * * Initializes the EoE handler, creates a net_device and registers it. + * + * \return Zero on success, otherwise a negative error code. */ int ec_eoe_init( ec_eoe_t *eoe, /**< EoE handler */ @@ -246,6 +248,8 @@ /*****************************************************************************/ /** Sends a frame or the next fragment. + * + * \return Zero on success, otherwise a negative error code. */ int ec_eoe_send(ec_eoe_t *eoe /**< EoE handler */) { @@ -385,7 +389,7 @@ * Starts a new receiving sequence by queueing a datagram that checks the * slave's mailbox for a new EoE datagram. * - * \fixme Use both devices. + * \todo Use both devices. */ void ec_eoe_state_rx_start(ec_eoe_t *eoe /**< EoE handler */) { @@ -614,7 +618,7 @@ * Starts a new transmit sequence. If no data is available, a new receive * sequence is started instead. * - * \fixme Use both devices. + * \todo Use both devices. */ void ec_eoe_state_tx_start(ec_eoe_t *eoe /**< EoE handler */) { @@ -754,6 +758,8 @@ *****************************************************************************/ /** Opens the virtual network device. + * + * \return Always zero (success). */ int ec_eoedev_open(struct net_device *dev /**< EoE net_device */) { @@ -774,6 +780,8 @@ /*****************************************************************************/ /** Stops the virtual network device. + * + * \return Always zero (success). */ int ec_eoedev_stop(struct net_device *dev /**< EoE net_device */) { @@ -794,6 +802,8 @@ /*****************************************************************************/ /** Transmits data via the virtual network device. + * + * \return Zero on success, non-zero on failure. */ int ec_eoedev_tx(struct sk_buff *skb, /**< transmit socket buffer */ struct net_device *dev /**< EoE net_device */ @@ -844,6 +854,8 @@ /*****************************************************************************/ /** Gets statistics about the virtual network device. + * + * \return Statistics. */ struct net_device_stats *ec_eoedev_stats( struct net_device *dev /**< EoE net_device */ diff -r 3d68bb0047a1 -r ec403cf308eb master/foe_request.c --- a/master/foe_request.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/foe_request.c Tue Feb 12 15:46:43 2013 +0100 @@ -103,7 +103,10 @@ /** Pre-allocates the data memory. * - * If the \a buffer_size is already bigger than \a size, nothing is done. + * If the internal \a buffer_size is already bigger than \a size, nothing is + * done. + * + * \return Zero on success, otherwise a negative error code. */ int ec_foe_request_alloc( ec_foe_request_t *req, /**< FoE request. */ @@ -131,6 +134,8 @@ /** Copies FoE data from an external source. * * If the \a buffer_size is to small, new memory is allocated. + * + * \return Zero on success, otherwise a negative error code. */ int ec_foe_request_copy_data( ec_foe_request_t *req, /**< FoE request. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/fsm_coe.c --- a/master/fsm_coe.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/fsm_coe.c Tue Feb 12 15:46:43 2013 +0100 @@ -27,7 +27,8 @@ * *****************************************************************************/ -/** \file EtherCAT CoE state machines. +/** \file + * EtherCAT CoE state machines. */ /*****************************************************************************/ @@ -307,6 +308,10 @@ * CoE dictionary state machine *****************************************************************************/ +/** Prepare a dictionary request. + * + * \return Zero on success, otherwise a negative error code. + */ int ec_fsm_coe_prepare_dict( ec_fsm_coe_t *fsm, /**< Finite state machine. */ ec_datagram_t *datagram /**< Datagram to use. */ @@ -455,6 +460,10 @@ /*****************************************************************************/ +/** Prepare an object description request. + * + * \return Zero on success, otherwise a negative error code. + */ int ec_fsm_coe_dict_prepare_desc( ec_fsm_coe_t *fsm, /**< Finite state machine. */ ec_datagram_t *datagram /**< Datagram to use. */ @@ -733,6 +742,10 @@ /*****************************************************************************/ +/** Prepare an entry description request. + * + * \return Zero on success, otherwise a negative error code. + */ int ec_fsm_coe_dict_prepare_entry( ec_fsm_coe_t *fsm, /**< Finite state machine */ ec_datagram_t *datagram /**< Datagram to use. */ @@ -1172,6 +1185,10 @@ * CoE state machine *****************************************************************************/ +/** Prepare a donwnload request. + * + * \return Zero on success, otherwise a negative error code. + */ int ec_fsm_coe_prepare_down_start( ec_fsm_coe_t *fsm, /**< Finite state machine. */ ec_datagram_t *datagram /**< Datagram to use. */ @@ -1814,6 +1831,10 @@ /*****************************************************************************/ +/** Prepare an upload request. + * + * \return Zero on success, otherwise a negative error code. + */ int ec_fsm_coe_prepare_up( ec_fsm_coe_t *fsm, /**< Finite state machine. */ ec_datagram_t *datagram /**< Datagram to use. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/fsm_foe.c --- a/master/fsm_foe.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/fsm_foe.c Tue Feb 12 15:46:43 2013 +0100 @@ -230,9 +230,11 @@ /*****************************************************************************/ /** Sends a file or the next fragment. + * + * \return Zero on success, otherwise a negative error code. */ int ec_foe_prepare_data_send( - ec_fsm_foe_t *fsm, + ec_fsm_foe_t *fsm, /**< Finite state machine. */ ec_datagram_t *datagram /**< Datagram to use. */ ) { @@ -270,6 +272,8 @@ /*****************************************************************************/ /** Prepare a write request (WRQ) with filename + * + * \return Zero on success, otherwise a negative error code. */ int ec_foe_prepare_wrq_send( ec_fsm_foe_t *fsm, /**< Finite state machine. */ @@ -545,6 +549,8 @@ /*****************************************************************************/ /** Prepare a read request (RRQ) with filename + * + * \return Zero on success, otherwise a negative error code. */ int ec_foe_prepare_rrq_send( ec_fsm_foe_t *fsm, /**< Finite state machine. */ @@ -577,6 +583,8 @@ /*****************************************************************************/ /** Prepare to send an acknowledge. + * + * \return Zero on success, otherwise a negative error code. */ int ec_foe_prepare_send_ack( ec_fsm_foe_t *fsm, /**< FoE statemachine. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/fsm_master.c --- a/master/fsm_master.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/fsm_master.c Tue Feb 12 15:46:43 2013 +0100 @@ -959,6 +959,8 @@ /*****************************************************************************/ /** Configure 32 bit time offset. + * + * \return New offset. */ u64 ec_fsm_master_dc_offset32( ec_fsm_master_t *fsm, /**< Master state machine. */ @@ -999,6 +1001,8 @@ /*****************************************************************************/ /** Configure 64 bit time offset. + * + * \return New offset. */ u64 ec_fsm_master_dc_offset64( ec_fsm_master_t *fsm, /**< Master state machine. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/fsm_pdo.c --- a/master/fsm_pdo.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/fsm_pdo.c Tue Feb 12 15:46:43 2013 +0100 @@ -27,7 +27,8 @@ * *****************************************************************************/ -/** \file EtherCAT PDO configuration state machine. +/** \file + * EtherCAT PDO configuration state machine. */ /*****************************************************************************/ @@ -396,6 +397,8 @@ /*****************************************************************************/ /** Assign next PDO. + * + * \return Next PDO, or NULL. */ ec_pdo_t *ec_fsm_pdo_conf_action_next_pdo( const ec_fsm_pdo_t *fsm, /**< PDO configuration state machine. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/fsm_pdo_entry.c --- a/master/fsm_pdo_entry.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/fsm_pdo_entry.c Tue Feb 12 15:46:43 2013 +0100 @@ -363,6 +363,8 @@ /*****************************************************************************/ /** Process next PDO entry. + * + * \return Next PDO entry, or NULL. */ ec_pdo_entry_t *ec_fsm_pdo_entry_conf_next_entry( const ec_fsm_pdo_entry_t *fsm, /**< PDO mapping state machine. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/fsm_slave.c --- a/master/fsm_slave.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/fsm_slave.c Tue Feb 12 15:46:43 2013 +0100 @@ -158,6 +158,8 @@ /*****************************************************************************/ /** Returns, if the FSM is currently not busy and ready to execute. + * + * \return Non-zero if ready. */ int ec_fsm_slave_is_ready( const ec_fsm_slave_t *fsm /**< Slave state machine. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/ioctl.c --- a/master/ioctl.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/ioctl.c Tue Feb 12 15:46:43 2013 +0100 @@ -49,6 +49,8 @@ */ #define DEBUG_LATENCY 0 +/** Optional compiler attributes fo ioctl() functions. + */ #if 0 #define ATTRIBUTES __attribute__ ((__noinline__)) #else @@ -75,6 +77,8 @@ /*****************************************************************************/ /** Get module information. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_module( void *arg /**< Userspace address to store the results. */ @@ -94,6 +98,8 @@ /*****************************************************************************/ /** Get master information. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_master( ec_master_t *master, /**< EtherCAT master. */ @@ -187,6 +193,8 @@ /*****************************************************************************/ /** Get slave information. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_slave( ec_master_t *master, /**< EtherCAT master. */ @@ -272,6 +280,8 @@ /*****************************************************************************/ /** Get slave sync manager information. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_slave_sync( ec_master_t *master, /**< EtherCAT master. */ @@ -323,6 +333,8 @@ /*****************************************************************************/ /** Get slave sync manager PDO information. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_slave_sync_pdo( ec_master_t *master, /**< EtherCAT master. */ @@ -380,6 +392,8 @@ /*****************************************************************************/ /** Get slave sync manager PDO entry information. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_slave_sync_pdo_entry( ec_master_t *master, /**< EtherCAT master. */ @@ -447,6 +461,8 @@ /*****************************************************************************/ /** Get domain information. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_domain( ec_master_t *master, /**< EtherCAT master. */ @@ -490,6 +506,8 @@ /*****************************************************************************/ /** Get domain FMMU information. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_domain_fmmu( ec_master_t *master, /**< EtherCAT master. */ @@ -540,6 +558,8 @@ /*****************************************************************************/ /** Get domain data. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_domain_data( ec_master_t *master, /**< EtherCAT master. */ @@ -583,6 +603,8 @@ /*****************************************************************************/ /** Set master debug level. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_master_debug( ec_master_t *master, /**< EtherCAT master. */ @@ -595,6 +617,8 @@ /*****************************************************************************/ /** Issue a bus scan. + * + * \return Always zero (success). */ static ATTRIBUTES int ec_ioctl_master_rescan( ec_master_t *master, /**< EtherCAT master. */ @@ -608,6 +632,8 @@ /*****************************************************************************/ /** Set slave state. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_slave_state( ec_master_t *master, /**< EtherCAT master. */ @@ -641,6 +667,8 @@ /*****************************************************************************/ /** Get slave SDO information. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_slave_sdo( ec_master_t *master, /**< EtherCAT master. */ @@ -688,6 +716,8 @@ /*****************************************************************************/ /** Get slave SDO entry information. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_slave_sdo_entry( ec_master_t *master, /**< EtherCAT master. */ @@ -766,6 +796,8 @@ /*****************************************************************************/ /** Upload SDO. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_slave_sdo_upload( ec_master_t *master, /**< EtherCAT master. */ @@ -810,6 +842,8 @@ /*****************************************************************************/ /** Download SDO. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_slave_sdo_download( ec_master_t *master, /**< EtherCAT master. */ @@ -856,6 +890,8 @@ /*****************************************************************************/ /** Read a slave's SII. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_slave_sii_read( ec_master_t *master, /**< EtherCAT master. */ @@ -902,6 +938,8 @@ /*****************************************************************************/ /** Write a slave's SII. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_slave_sii_write( ec_master_t *master, /**< EtherCAT master. */ @@ -988,6 +1026,8 @@ /*****************************************************************************/ /** Read a slave's registers. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_slave_reg_read( ec_master_t *master, /**< EtherCAT master. */ @@ -1065,6 +1105,8 @@ /*****************************************************************************/ /** Write a slave's registers. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_slave_reg_write( ec_master_t *master, /**< EtherCAT master. */ @@ -1141,6 +1183,8 @@ /*****************************************************************************/ /** Get slave configuration information. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_config( ec_master_t *master, /**< EtherCAT master. */ @@ -1197,6 +1241,8 @@ /*****************************************************************************/ /** Get slave configuration PDO information. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_config_pdo( ec_master_t *master, /**< EtherCAT master. */ @@ -1251,6 +1297,8 @@ /*****************************************************************************/ /** Get slave configuration PDO entry information. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_config_pdo_entry( ec_master_t *master, /**< EtherCAT master. */ @@ -1314,6 +1362,8 @@ /*****************************************************************************/ /** Get slave configuration SDO information. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_config_sdo( ec_master_t *master, /**< EtherCAT master. */ @@ -1376,6 +1426,8 @@ /*****************************************************************************/ /** Get slave configuration IDN information. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_config_idn( ec_master_t *master, /**< EtherCAT master. */ @@ -1440,6 +1492,8 @@ #ifdef EC_EOE /** Get EoE handler information. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_eoe_handler( ec_master_t *master, /**< EtherCAT master. */ @@ -1490,6 +1544,8 @@ /*****************************************************************************/ /** Request the master from userspace. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_request( ec_master_t *master, /**< EtherCAT master. */ @@ -1513,6 +1569,8 @@ /*****************************************************************************/ /** Create a domain. + * + * \return Domain index on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_create_domain( ec_master_t *master, /**< EtherCAT master. */ @@ -1535,6 +1593,8 @@ /*****************************************************************************/ /** Create a slave configuration. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_create_slave_config( ec_master_t *master, /**< EtherCAT master. */ @@ -1579,6 +1639,8 @@ /*****************************************************************************/ /** Select the DC reference clock. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_select_ref_clock( ec_master_t *master, /**< EtherCAT master. */ @@ -1618,6 +1680,8 @@ /*****************************************************************************/ /** Activates the master. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_activate( ec_master_t *master, /**< EtherCAT master. */ @@ -1699,6 +1763,8 @@ /*****************************************************************************/ /** Deactivates the master. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_deactivate( ec_master_t *master, /**< EtherCAT master. */ @@ -1716,6 +1782,8 @@ /*****************************************************************************/ /** Set max. number of databytes in a cycle + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_set_send_interval( ec_master_t *master, /**< EtherCAT master. */ @@ -1746,6 +1814,8 @@ /*****************************************************************************/ /** Send frames. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_send( ec_master_t *master, /**< EtherCAT master. */ @@ -1764,6 +1834,8 @@ /*****************************************************************************/ /** Receive frames. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_receive( ec_master_t *master, /**< EtherCAT master. */ @@ -1782,6 +1854,8 @@ /*****************************************************************************/ /** Get the master state. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_master_state( ec_master_t *master, /**< EtherCAT master. */ @@ -1801,7 +1875,9 @@ /*****************************************************************************/ -/** Get the master state. +/** Get the link state. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_master_link_state( ec_master_t *master, /**< EtherCAT master. */ @@ -1831,7 +1907,9 @@ /*****************************************************************************/ -/** Set the master dc app time. +/** Set the master DC application time. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_app_time( ec_master_t *master, /**< EtherCAT master. */ @@ -1855,6 +1933,8 @@ /*****************************************************************************/ /** Sync the reference clock. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sync_ref( ec_master_t *master, /**< EtherCAT master. */ @@ -1873,6 +1953,8 @@ /*****************************************************************************/ /** Sync the slave clocks. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sync_slaves( ec_master_t *master, /**< EtherCAT master. */ @@ -1891,6 +1973,8 @@ /*****************************************************************************/ /** Get the system time of the reference clock. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_ref_clock_time( ec_master_t *master, /**< EtherCAT master. */ @@ -1920,6 +2004,8 @@ /*****************************************************************************/ /** Queue the sync monitoring datagram. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sync_mon_queue( ec_master_t *master, /**< EtherCAT master. */ @@ -1938,6 +2024,8 @@ /*****************************************************************************/ /** Processes the sync monitoring datagram. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sync_mon_process( ec_master_t *master, /**< EtherCAT master. */ @@ -1961,6 +2049,8 @@ /*****************************************************************************/ /** Reset configuration. + * + * \return Always zero (success). */ static ATTRIBUTES int ec_ioctl_reset( ec_master_t *master, /**< EtherCAT master. */ @@ -1977,6 +2067,8 @@ /*****************************************************************************/ /** Configure a sync manager. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_sync( ec_master_t *master, /**< EtherCAT master. */ @@ -2028,6 +2120,8 @@ /*****************************************************************************/ /** Configure a slave's watchdogs. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_watchdog( ec_master_t *master, /**< EtherCAT master. */ @@ -2071,6 +2165,8 @@ /*****************************************************************************/ /** Add a PDO to the assignment. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_add_pdo( ec_master_t *master, /**< EtherCAT master. */ @@ -2095,7 +2191,7 @@ return -ENOENT; } - up(&master->master_sem); /** \fixme sc could be invalidated */ + up(&master->master_sem); /** \todo sc could be invalidated */ return ecrt_slave_config_pdo_assign_add(sc, data.sync_index, data.index); } @@ -2103,6 +2199,8 @@ /*****************************************************************************/ /** Clears the PDO assignment. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_clear_pdos( ec_master_t *master, /**< EtherCAT master. */ @@ -2127,7 +2225,7 @@ return -ENOENT; } - up(&master->master_sem); /** \fixme sc could be invalidated */ + up(&master->master_sem); /** \todo sc could be invalidated */ ecrt_slave_config_pdo_assign_clear(sc, data.sync_index); return 0; @@ -2136,6 +2234,8 @@ /*****************************************************************************/ /** Add an entry to a PDO's mapping. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_add_entry( ec_master_t *master, /**< EtherCAT master. */ @@ -2160,7 +2260,7 @@ return -ENOENT; } - up(&master->master_sem); /** \fixme sc could be invalidated */ + up(&master->master_sem); /** \todo sc could be invalidated */ return ecrt_slave_config_pdo_mapping_add(sc, data.pdo_index, data.entry_index, data.entry_subindex, data.entry_bit_length); @@ -2169,6 +2269,8 @@ /*****************************************************************************/ /** Clears the mapping of a PDO. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_clear_entries( ec_master_t *master, /**< EtherCAT master. */ @@ -2193,7 +2295,7 @@ return -ENOENT; } - up(&master->master_sem); /** \fixme sc could be invalidated */ + up(&master->master_sem); /** \todo sc could be invalidated */ ecrt_slave_config_pdo_mapping_clear(sc, data.index); return 0; @@ -2202,6 +2304,8 @@ /*****************************************************************************/ /** Registers a PDO entry. + * + * \return Process data offset on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_reg_pdo_entry( ec_master_t *master, /**< EtherCAT master. */ @@ -2233,7 +2337,7 @@ return -ENOENT; } - up(&master->master_sem); /** \fixme sc or domain could be invalidated */ + up(&master->master_sem); /** \todo sc or domain could be invalidated */ ret = ecrt_slave_config_reg_pdo_entry(sc, data.entry_index, data.entry_subindex, domain, &data.bit_position); @@ -2247,6 +2351,8 @@ /*****************************************************************************/ /** Registers a PDO entry by its position. + * + * \return Process data offset on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_reg_pdo_pos( ec_master_t *master, /**< EtherCAT master. */ @@ -2281,7 +2387,7 @@ return -ENOENT; } - up(&master->master_sem); /** \fixme sc or domain could be invalidated */ + up(&master->master_sem); /** \todo sc or domain could be invalidated */ ret = ecrt_slave_config_reg_pdo_entry_pos(sc, io.sync_index, io.pdo_pos, io.entry_pos, domain, &io.bit_position); @@ -2295,6 +2401,8 @@ /*****************************************************************************/ /** Sets the DC AssignActivate word and the sync signal times. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_dc( ec_master_t *master, /**< EtherCAT master. */ @@ -2333,6 +2441,8 @@ /*****************************************************************************/ /** Configures an SDO. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_sdo( ec_master_t *master, /**< EtherCAT master. */ @@ -2374,7 +2484,7 @@ return -ENOENT; } - up(&master->master_sem); /** \fixme sc could be invalidated */ + up(&master->master_sem); /** \todo sc could be invalidated */ if (data.complete_access) { ret = ecrt_slave_config_complete_sdo(sc, @@ -2390,6 +2500,8 @@ /*****************************************************************************/ /** Set the emergency ring buffer size. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_emerg_size( ec_master_t *master, /**< EtherCAT master. */ @@ -2426,6 +2538,8 @@ /*****************************************************************************/ /** Get an emergency message from the ring. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_emerg_pop( ec_master_t *master, /**< EtherCAT master. */ @@ -2468,6 +2582,8 @@ /*****************************************************************************/ /** Clear the emergency ring. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_emerg_clear( ec_master_t *master, /**< EtherCAT master. */ @@ -2499,6 +2615,8 @@ /*****************************************************************************/ /** Get the number of emergency overruns. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_emerg_overruns( ec_master_t *master, /**< EtherCAT master. */ @@ -2542,6 +2660,8 @@ /*****************************************************************************/ /** Create an SDO request. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_create_sdo_request( ec_master_t *master, /**< EtherCAT master. */ @@ -2575,7 +2695,7 @@ data.request_index++; } - up(&master->master_sem); /** \fixme sc could be invalidated */ + up(&master->master_sem); /** \todo sc could be invalidated */ req = ecrt_slave_config_create_sdo_request_err(sc, data.sdo_index, data.sdo_subindex, data.size); @@ -2591,6 +2711,8 @@ /*****************************************************************************/ /** Create a register request. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_create_reg_request( ec_master_t *master, /**< EtherCAT master. */ @@ -2626,7 +2748,7 @@ io.request_index++; } - up(&master->master_sem); /** \fixme sc could be invalidated */ + up(&master->master_sem); /** \todo sc could be invalidated */ reg = ecrt_slave_config_create_reg_request_err(sc, io.mem_size); if (IS_ERR(reg)) { @@ -2643,6 +2765,8 @@ /*****************************************************************************/ /** Create a VoE handler. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_create_voe_handler( ec_master_t *master, /**< EtherCAT master. */ @@ -2676,7 +2800,7 @@ data.voe_index++; } - up(&master->master_sem); /** \fixme sc could be invalidated */ + up(&master->master_sem); /** \todo sc could be invalidated */ voe = ecrt_slave_config_create_voe_handler_err(sc, data.size); if (IS_ERR(voe)) @@ -2691,6 +2815,8 @@ /*****************************************************************************/ /** Get the slave configuration's state. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_state( ec_master_t *master, /**< EtherCAT master. */ @@ -2727,6 +2853,8 @@ /*****************************************************************************/ /** Configures an IDN. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sc_idn( ec_master_t *master, /**< EtherCAT master. */ @@ -2768,7 +2896,7 @@ return -ENOENT; } - up(&master->master_sem); /** \fixme sc could be invalidated */ + up(&master->master_sem); /** \todo sc could be invalidated */ ret = ecrt_slave_config_idn( sc, ioctl.drive_no, ioctl.idn, ioctl.al_state, data, ioctl.size); @@ -2779,6 +2907,8 @@ /*****************************************************************************/ /** Gets the domain's data size. + * + * \return Domain size, or a negative error code. */ static ATTRIBUTES int ec_ioctl_domain_size( ec_master_t *master, /**< EtherCAT master. */ @@ -2811,6 +2941,8 @@ /*****************************************************************************/ /** Gets the domain's offset in the total process data. + * + * \return Domain offset, or a negative error code. */ static ATTRIBUTES int ec_ioctl_domain_offset( ec_master_t *master, /**< EtherCAT master. */ @@ -2843,6 +2975,8 @@ /*****************************************************************************/ /** Process the domain. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_domain_process( ec_master_t *master, /**< EtherCAT master. */ @@ -2869,6 +3003,8 @@ /*****************************************************************************/ /** Queue the domain. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_domain_queue( ec_master_t *master, /**< EtherCAT master. */ @@ -2895,6 +3031,8 @@ /*****************************************************************************/ /** Get the domain state. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_domain_state( ec_master_t *master, /**< EtherCAT master. */ @@ -2931,6 +3069,8 @@ /*****************************************************************************/ /** Sets an SDO request's SDO index and subindex. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sdo_request_index( ec_master_t *master, /**< EtherCAT master. */ @@ -2966,6 +3106,8 @@ /*****************************************************************************/ /** Sets an SDO request's timeout. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sdo_request_timeout( ec_master_t *master, /**< EtherCAT master. */ @@ -3001,6 +3143,8 @@ /*****************************************************************************/ /** Gets an SDO request's state. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sdo_request_state( ec_master_t *master, /**< EtherCAT master. */ @@ -3044,6 +3188,8 @@ /*****************************************************************************/ /** Starts an SDO read operation. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sdo_request_read( ec_master_t *master, /**< EtherCAT master. */ @@ -3079,6 +3225,8 @@ /*****************************************************************************/ /** Starts an SDO write operation. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sdo_request_write( ec_master_t *master, /**< EtherCAT master. */ @@ -3128,6 +3276,8 @@ /*****************************************************************************/ /** Read SDO data. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_sdo_request_data( ec_master_t *master, /**< EtherCAT master. */ @@ -3166,6 +3316,8 @@ /*****************************************************************************/ /** Read register data. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_reg_request_data( ec_master_t *master, /**< EtherCAT master. */ @@ -3211,6 +3363,8 @@ /*****************************************************************************/ /** Gets an register request's state. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_reg_request_state( ec_master_t *master, /**< EtherCAT master. */ @@ -3254,6 +3408,8 @@ /*****************************************************************************/ /** Starts an register write operation. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_reg_request_write( ec_master_t *master, /**< EtherCAT master. */ @@ -3300,6 +3456,8 @@ /*****************************************************************************/ /** Starts an register read operation. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_reg_request_read( ec_master_t *master, /**< EtherCAT master. */ @@ -3341,6 +3499,8 @@ /*****************************************************************************/ /** Sets the VoE send header. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_voe_send_header( ec_master_t *master, /**< EtherCAT master. */ @@ -3384,6 +3544,8 @@ /*****************************************************************************/ /** Gets the received VoE header. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_voe_rec_header( ec_master_t *master, /**< EtherCAT master. */ @@ -3430,6 +3592,8 @@ /*****************************************************************************/ /** Starts a VoE read operation. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_voe_read( ec_master_t *master, /**< EtherCAT master. */ @@ -3465,6 +3629,8 @@ /*****************************************************************************/ /** Starts a VoE read operation without sending a sync message first. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_voe_read_nosync( ec_master_t *master, /**< EtherCAT master. */ @@ -3500,6 +3666,8 @@ /*****************************************************************************/ /** Starts a VoE write operation. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_voe_write( ec_master_t *master, /**< EtherCAT master. */ @@ -3544,6 +3712,8 @@ /*****************************************************************************/ /** Executes the VoE state machine. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_voe_exec( ec_master_t *master, /**< EtherCAT master. */ @@ -3587,6 +3757,8 @@ /*****************************************************************************/ /** Reads the received VoE data. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_voe_data( ec_master_t *master, /**< EtherCAT master. */ @@ -3625,6 +3797,8 @@ /*****************************************************************************/ /** Read a file from a slave via FoE. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_slave_foe_read( ec_master_t *master, /**< EtherCAT master. */ @@ -3719,6 +3893,8 @@ /*****************************************************************************/ /** Write a file to a slave via FoE + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_slave_foe_write( ec_master_t *master, /**< EtherCAT master. */ @@ -3805,6 +3981,8 @@ /*****************************************************************************/ /** Read an SoE IDN. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_slave_soe_read( ec_master_t *master, /**< EtherCAT master. */ @@ -3852,6 +4030,8 @@ /*****************************************************************************/ /** Write an IDN to a slave via SoE. + * + * \return Zero on success, otherwise a negative error code. */ static ATTRIBUTES int ec_ioctl_slave_soe_write( ec_master_t *master, /**< EtherCAT master. */ @@ -3895,6 +4075,8 @@ /*****************************************************************************/ +/** ioctl() function to use. + */ #ifdef EC_IOCTL_RTDM #define EC_IOCTL ec_ioctl_rtdm #else @@ -3902,9 +4084,15 @@ #endif /** Called when an ioctl() command is issued. - */ -long EC_IOCTL(ec_master_t *master, ec_ioctl_context_t *ctx, - unsigned int cmd, void *arg) + * + * \return ioctl() return code. + */ +long EC_IOCTL( + ec_master_t *master, /**< EtherCAT master. */ + ec_ioctl_context_t *ctx, /**< Device context. */ + unsigned int cmd, /**< ioctl() command identifier. */ + void *arg /**< ioctl() argument. */ + ) { #if DEBUG_LATENCY cycles_t a = get_cycles(), b; diff -r 3d68bb0047a1 -r ec403cf308eb master/master.c --- a/master/master.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/master.c Tue Feb 12 15:46:43 2013 +0100 @@ -614,6 +614,8 @@ /*****************************************************************************/ /** Transition function from ORPHANED to IDLE phase. + * + * \return Zero on success, otherwise a negative error code. */ int ec_master_enter_idle_phase( ec_master_t *master /**< EtherCAT master */ @@ -669,6 +671,8 @@ /*****************************************************************************/ /** Transition function from IDLE to OPERATION phase. + * + * \return Zero on success, otherwise a negative error code. */ int ec_master_enter_operation_phase( ec_master_t *master /**< EtherCAT master */ @@ -897,6 +901,8 @@ /*****************************************************************************/ /** Searches for a free datagram in the external datagram ring. + * + * \return Next free datagram, or NULL. */ ec_datagram_t *ec_master_get_external_datagram( ec_master_t *master /**< EtherCAT master */ @@ -1779,6 +1785,8 @@ } while (0) /** Finds a slave in the bus, given the alias and position. + * + * \return Search result, or NULL. */ ec_slave_t *ec_master_find_slave( ec_master_t *master, /**< EtherCAT master. */ @@ -1793,6 +1801,8 @@ /** Finds a slave in the bus, given the alias and position. * * Const version. + * + * \return Search result, or NULL. */ const ec_slave_t *ec_master_find_slave_const( const ec_master_t *master, /**< EtherCAT master. */ @@ -2068,6 +2078,8 @@ /*****************************************************************************/ /** Calculates the bus topology; recursion function. + * + * \return Zero on success, otherwise a negative error code. */ int ec_master_calc_topology_rec( ec_master_t *master, /**< EtherCAT master. */ @@ -2199,6 +2211,8 @@ *****************************************************************************/ /** Same as ecrt_master_create_domain(), but with ERR_PTR() return value. + * + * \return New domain, or ERR_PTR() return value. */ ec_domain_t *ecrt_master_create_domain_err( ec_master_t *master /**< master */ diff -r 3d68bb0047a1 -r ec403cf308eb master/master.h --- a/master/master.h Tue Feb 12 15:30:34 2013 +0100 +++ b/master/master.h Tue Feb 12 15:46:43 2013 +0100 @@ -103,6 +103,8 @@ * where INDEX is the master index. * * \param master EtherCAT master + * \param level Debug level. Master's debug level must be >= \a level for + * output. * \param fmt format string (like in printf()) * \param args arguments (optional) */ @@ -318,6 +320,8 @@ const uint8_t *, dev_t, struct class *, unsigned int); void ec_master_clear(ec_master_t *); +/** Number of Ethernet devices. + */ #if EC_MAX_NUM_DEVICES > 1 #define ec_master_num_devices(MASTER) ((MASTER)->num_devices) #else diff -r 3d68bb0047a1 -r ec403cf308eb master/module.c --- a/master/module.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/module.c Tue Feb 12 15:46:43 2013 +0100 @@ -388,6 +388,8 @@ /*****************************************************************************/ /** Prints slave states in clear text. + * + * \return Size of the created string. */ size_t ec_state_string(uint8_t states, /**< slave states */ char *buffer, /**< target buffer @@ -522,6 +524,8 @@ /** Request a master. * * Same as ecrt_request_master(), but with ERR_PTR() return value. + * + * \return Requested master. */ ec_master_t *ecrt_request_master_err( unsigned int master_index /**< Master index. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/pdo.c --- a/master/pdo.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/pdo.c Tue Feb 12 15:46:43 2013 +0100 @@ -273,6 +273,8 @@ /** Finds a PDO entry via its position in the list. * * Const version. + * + * \return Search result, or NULL. */ const ec_pdo_entry_t *ec_pdo_find_entry_by_pos_const( const ec_pdo_t *pdo, /**< PDO. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/pdo_list.c --- a/master/pdo_list.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/pdo_list.c Tue Feb 12 15:46:43 2013 +0100 @@ -237,6 +237,8 @@ /*****************************************************************************/ /** Finds a PDO with the given index. + * + * \return Search result, or NULL. */ ec_pdo_t *ec_pdo_list_find_pdo( const ec_pdo_list_t *pl, /**< PDO list. */ @@ -257,6 +259,8 @@ /*****************************************************************************/ /** Finds a PDO with the given index and returns a const pointer. + * + * \return Search result, or NULL. */ const ec_pdo_t *ec_pdo_list_find_pdo_const( const ec_pdo_list_t *pl, /**< PDO list. */ @@ -279,6 +283,8 @@ /** Finds a PDO via its position in the list. * * Const version. + * + * \return Zero on success, otherwise a negative error code. */ const ec_pdo_t *ec_pdo_list_find_pdo_by_pos_const( const ec_pdo_list_t *pl, /**< PDO list. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/reg_request.c --- a/master/reg_request.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/reg_request.c Tue Feb 12 15:46:43 2013 +0100 @@ -42,6 +42,8 @@ /*****************************************************************************/ /** Register request constructor. + * + * \return Zero on success, otherwise a negative error code. */ int ec_reg_request_init( ec_reg_request_t *reg, /**< Register request. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/reg_request.h --- a/master/reg_request.h Tue Feb 12 15:30:34 2013 +0100 +++ b/master/reg_request.h Tue Feb 12 15:46:43 2013 +0100 @@ -52,7 +52,7 @@ ec_direction_t dir; /**< Direction. EC_DIR_OUTPUT means writing to the slave, EC_DIR_INPUT means reading from the slave. */ uint16_t address; /**< Register address. */ - size_t transfer_size; /*< Size of the data to transfer. */ + size_t transfer_size; /**< Size of the data to transfer. */ ec_internal_request_state_t state; /**< Request state. */ }; diff -r 3d68bb0047a1 -r ec403cf308eb master/rtdm.c --- a/master/rtdm.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/rtdm.c Tue Feb 12 15:46:43 2013 +0100 @@ -45,8 +45,8 @@ /** Context structure for an open RTDM file handle. */ typedef struct { - rtdm_user_info_t *user_info; - ec_ioctl_context_t ioctl_ctx; + rtdm_user_info_t *user_info; /**< RTDM user info. */ + ec_ioctl_context_t ioctl_ctx; /**< Context structure. */ } ec_rtdm_context_t; /****************************************************************************/ diff -r 3d68bb0047a1 -r ec403cf308eb master/rtdm.h --- a/master/rtdm.h Tue Feb 12 15:30:34 2013 +0100 +++ b/master/rtdm.h Tue Feb 12 15:46:43 2013 +0100 @@ -35,9 +35,11 @@ /*****************************************************************************/ +/** EtherCAT RTDM device. + */ typedef struct ec_rtdm_dev { - ec_master_t *master; - struct rtdm_device *dev; + ec_master_t *master; /**< Master pointer. */ + struct rtdm_device *dev; /**< RTDM device. */ } ec_rtdm_dev_t; /*****************************************************************************/ diff -r 3d68bb0047a1 -r ec403cf308eb master/sdo_request.c --- a/master/sdo_request.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/sdo_request.c Tue Feb 12 15:46:43 2013 +0100 @@ -85,6 +85,8 @@ /** Copy another SDO request. * * \attention Only the index subindex and data are copied. + * + * \return Zero on success, otherwise a negative error code. */ int ec_sdo_request_copy( ec_sdo_request_t *req, /**< SDO request. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/slave.c --- a/master/slave.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/slave.c Tue Feb 12 15:46:43 2013 +0100 @@ -797,6 +797,8 @@ /*****************************************************************************/ /** Returns the previous connected port of a given port. + * + * \return Port index. */ unsigned int ec_slave_get_previous_port( ec_slave_t *slave, /**< EtherCAT slave. */ @@ -825,6 +827,8 @@ /*****************************************************************************/ /** Returns the next connected port of a given port. + * + * \return Port index. */ unsigned int ec_slave_get_next_port( ec_slave_t *slave, /**< EtherCAT slave. */ @@ -853,6 +857,8 @@ /*****************************************************************************/ /** Calculates the sum of round-trip-times of connected ports 1-3. + * + * \return Round-trip-time in ns. */ uint32_t ec_slave_calc_rtt_sum( ec_slave_t *slave /**< EtherCAT slave. */ @@ -877,6 +883,8 @@ /*****************************************************************************/ /** Finds the next slave supporting DC delay measurement. + * + * \return Next DC slave, or NULL. */ ec_slave_t *ec_slave_find_next_dc_slave( ec_slave_t *slave /**< EtherCAT slave. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/slave.h --- a/master/slave.h Tue Feb 12 15:30:34 2013 +0100 +++ b/master/slave.h Tue Feb 12 15:46:43 2013 +0100 @@ -98,6 +98,8 @@ * POSITION is the slave's ring position. * * \param slave EtherCAT slave + * \param level Debug level. Master's debug level must be >= \a level for + * output. * \param fmt format string (like in printf()) * \param args arguments (optional) */ diff -r 3d68bb0047a1 -r ec403cf308eb master/slave_config.c --- a/master/slave_config.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/slave_config.c Tue Feb 12 15:46:43 2013 +0100 @@ -388,6 +388,8 @@ /** Finds an SDO configuration via its position in the list. * * Const version. + * + * \return Search result, or NULL. */ const ec_sdo_request_t *ec_slave_config_get_sdo_by_pos_const( const ec_slave_config_t *sc, /**< Slave configuration. */ @@ -430,6 +432,8 @@ /** Finds an IDN configuration via its position in the list. * * Const version. + * + * \return Search result, or NULL. */ const ec_soe_request_t *ec_slave_config_get_idn_by_pos_const( const ec_slave_config_t *sc, /**< Slave configuration. */ @@ -450,6 +454,8 @@ /*****************************************************************************/ /** Finds a CoE handler via its position in the list. + * + * \return Search result, or NULL. */ ec_sdo_request_t *ec_slave_config_find_sdo_request( ec_slave_config_t *sc, /**< Slave configuration. */ @@ -470,6 +476,8 @@ /*****************************************************************************/ /** Finds a register handler via its position in the list. + * + * \return Search result, or NULL. */ ec_reg_request_t *ec_slave_config_find_reg_request( ec_slave_config_t *sc, /**< Slave configuration. */ @@ -490,6 +498,8 @@ /*****************************************************************************/ /** Finds a VoE handler via its position in the list. + * + * \return Search result, or NULL. */ ec_voe_handler_t *ec_slave_config_find_voe_handler( ec_slave_config_t *sc, /**< Slave configuration. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/slave_config.h --- a/master/slave_config.h Tue Feb 12 15:30:34 2013 +0100 +++ b/master/slave_config.h Tue Feb 12 15:46:43 2013 +0100 @@ -98,6 +98,8 @@ * and ALIAS and POSITION identify the configuration. * * \param sc EtherCAT slave configuration + * \param level Debug level. Master's debug level must be >= \a level for + * output. * \param fmt format string (like in printf()) * \param args arguments (optional) */ diff -r 3d68bb0047a1 -r ec403cf308eb master/soe_request.c --- a/master/soe_request.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/soe_request.c Tue Feb 12 15:46:43 2013 +0100 @@ -84,6 +84,8 @@ /*****************************************************************************/ /** Copy another SoE request. + * + * \return Zero on success, otherwise a negative error code. */ int ec_soe_request_copy( ec_soe_request_t *req, /**< SoE request. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/sync.c --- a/master/sync.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/sync.c Tue Feb 12 15:46:43 2013 +0100 @@ -161,6 +161,8 @@ /*****************************************************************************/ /** Determines the default direction from the control register. + * + * \return Direction. */ ec_direction_t ec_sync_default_direction( const ec_sync_t *sync /**< EtherCAT sync manager. */ diff -r 3d68bb0047a1 -r ec403cf308eb master/voe_handler.c --- a/master/voe_handler.c Tue Feb 12 15:30:34 2013 +0100 +++ b/master/voe_handler.c Tue Feb 12 15:46:43 2013 +0100 @@ -106,6 +106,8 @@ /*****************************************************************************/ /** Get usable memory size. + * + * \return Memory size. */ size_t ec_voe_handler_mem_size( const ec_voe_handler_t *voe /**< VoE handler. */