From 067a96ad0c3b0818d71d9aaadaee4b520d940de1 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Fri, 18 Apr 2008 15:02:20 +0000 Subject: 2008-04-18 Joel Sherrill * rtems/include/rtems.h, rtems/include/rtems/rtems/asr.h, rtems/include/rtems/rtems/attr.h, rtems/include/rtems/rtems/barrier.h, rtems/include/rtems/rtems/barriermp.h, rtems/include/rtems/rtems/cache.h, rtems/include/rtems/rtems/clock.h, rtems/include/rtems/rtems/config.h, rtems/include/rtems/rtems/dpmem.h, rtems/include/rtems/rtems/event.h, rtems/include/rtems/rtems/eventmp.h, rtems/include/rtems/rtems/eventset.h, rtems/include/rtems/rtems/intr.h, rtems/include/rtems/rtems/message.h, rtems/include/rtems/rtems/modes.h, rtems/include/rtems/rtems/mp.h, rtems/include/rtems/rtems/msgmp.h, rtems/include/rtems/rtems/object.h, rtems/include/rtems/rtems/options.h, rtems/include/rtems/rtems/part.h, rtems/include/rtems/rtems/partmp.h, rtems/include/rtems/rtems/ratemon.h, rtems/include/rtems/rtems/region.h, rtems/include/rtems/rtems/regionmp.h, rtems/include/rtems/rtems/rtemsapi.h, rtems/include/rtems/rtems/sem.h, rtems/include/rtems/rtems/semmp.h, rtems/include/rtems/rtems/signal.h, rtems/include/rtems/rtems/signalmp.h, rtems/include/rtems/rtems/status.h, rtems/include/rtems/rtems/support.h, rtems/include/rtems/rtems/taskmp.h, rtems/include/rtems/rtems/tasks.h, rtems/include/rtems/rtems/timer.h, rtems/include/rtems/rtems/types.h, rtems/inline/rtems/rtems/asr.inl, rtems/inline/rtems/rtems/attr.inl, rtems/inline/rtems/rtems/barrier.inl, rtems/inline/rtems/rtems/dpmem.inl, rtems/inline/rtems/rtems/event.inl, rtems/inline/rtems/rtems/eventset.inl, rtems/inline/rtems/rtems/message.inl, rtems/inline/rtems/rtems/modes.inl, rtems/inline/rtems/rtems/options.inl, rtems/inline/rtems/rtems/part.inl, rtems/inline/rtems/rtems/ratemon.inl, rtems/inline/rtems/rtems/region.inl, rtems/inline/rtems/rtems/sem.inl, rtems/inline/rtems/rtems/status.inl, rtems/inline/rtems/rtems/support.inl, rtems/inline/rtems/rtems/tasks.inl, rtems/inline/rtems/rtems/timer.inl: Initial conversion of Classic API header files to Doxygen. * rtems/Doxyfile: New file. --- cpukit/ChangeLog | 49 ++ cpukit/rtems/Doxyfile | 1079 ++++++++++++++++++++++++++ cpukit/rtems/include/rtems.h | 40 +- cpukit/rtems/include/rtems/rtems/asr.h | 62 +- cpukit/rtems/include/rtems/rtems/attr.h | 25 +- cpukit/rtems/include/rtems/rtems/barrier.h | 33 +- cpukit/rtems/include/rtems/rtems/barriermp.h | 18 +- cpukit/rtems/include/rtems/rtems/cache.h | 58 +- cpukit/rtems/include/rtems/rtems/clock.h | 36 +- cpukit/rtems/include/rtems/rtems/config.h | 21 +- cpukit/rtems/include/rtems/rtems/dpmem.h | 76 +- cpukit/rtems/include/rtems/rtems/event.h | 74 +- cpukit/rtems/include/rtems/rtems/eventmp.h | 67 +- cpukit/rtems/include/rtems/rtems/eventset.h | 60 +- cpukit/rtems/include/rtems/rtems/intr.h | 86 +- cpukit/rtems/include/rtems/rtems/message.h | 136 ++-- cpukit/rtems/include/rtems/rtems/modes.h | 38 +- cpukit/rtems/include/rtems/rtems/mp.h | 34 +- cpukit/rtems/include/rtems/rtems/msgmp.h | 73 +- cpukit/rtems/include/rtems/rtems/object.h | 16 +- cpukit/rtems/include/rtems/rtems/options.h | 22 +- cpukit/rtems/include/rtems/rtems/part.h | 76 +- cpukit/rtems/include/rtems/rtems/partmp.h | 73 +- cpukit/rtems/include/rtems/rtems/ratemon.h | 137 ++-- cpukit/rtems/include/rtems/rtems/region.h | 142 ++-- cpukit/rtems/include/rtems/rtems/regionmp.h | 71 +- cpukit/rtems/include/rtems/rtems/rtemsapi.h | 18 +- cpukit/rtems/include/rtems/rtems/sem.h | 152 +--- cpukit/rtems/include/rtems/rtems/semmp.h | 96 +-- cpukit/rtems/include/rtems/rtems/signal.h | 44 +- cpukit/rtems/include/rtems/rtems/signalmp.h | 65 +- cpukit/rtems/include/rtems/rtems/status.h | 19 +- cpukit/rtems/include/rtems/rtems/support.h | 37 +- cpukit/rtems/include/rtems/rtems/taskmp.h | 75 +- cpukit/rtems/include/rtems/rtems/tasks.h | 285 +++---- cpukit/rtems/include/rtems/rtems/timer.h | 174 ++--- cpukit/rtems/include/rtems/rtems/types.h | 27 +- cpukit/rtems/inline/rtems/rtems/asr.inl | 55 +- cpukit/rtems/inline/rtems/rtems/attr.inl | 111 +-- cpukit/rtems/inline/rtems/rtems/barrier.inl | 16 +- cpukit/rtems/inline/rtems/rtems/dpmem.inl | 47 +- cpukit/rtems/inline/rtems/rtems/event.inl | 16 +- cpukit/rtems/inline/rtems/rtems/eventset.inl | 46 +- cpukit/rtems/inline/rtems/rtems/message.inl | 40 +- cpukit/rtems/inline/rtems/rtems/modes.inl | 72 +- cpukit/rtems/inline/rtems/rtems/options.inl | 32 +- cpukit/rtems/inline/rtems/rtems/part.inl | 88 +-- cpukit/rtems/inline/rtems/rtems/ratemon.inl | 72 +- cpukit/rtems/inline/rtems/rtems/region.inl | 62 +- cpukit/rtems/inline/rtems/rtems/sem.inl | 48 +- cpukit/rtems/inline/rtems/rtems/status.inl | 32 +- cpukit/rtems/inline/rtems/rtems/support.inl | 28 +- cpukit/rtems/inline/rtems/rtems/tasks.inl | 48 +- cpukit/rtems/inline/rtems/rtems/timer.inl | 72 +- 54 files changed, 2598 insertions(+), 1881 deletions(-) create mode 100644 cpukit/rtems/Doxyfile diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 8ff08b3cc6..7604e97419 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,52 @@ +2008-04-18 Joel Sherrill + + * rtems/include/rtems.h, rtems/include/rtems/rtems/asr.h, + rtems/include/rtems/rtems/attr.h, + rtems/include/rtems/rtems/barrier.h, + rtems/include/rtems/rtems/barriermp.h, + rtems/include/rtems/rtems/cache.h, rtems/include/rtems/rtems/clock.h, + rtems/include/rtems/rtems/config.h, + rtems/include/rtems/rtems/dpmem.h, rtems/include/rtems/rtems/event.h, + rtems/include/rtems/rtems/eventmp.h, + rtems/include/rtems/rtems/eventset.h, + rtems/include/rtems/rtems/intr.h, + rtems/include/rtems/rtems/message.h, + rtems/include/rtems/rtems/modes.h, rtems/include/rtems/rtems/mp.h, + rtems/include/rtems/rtems/msgmp.h, + rtems/include/rtems/rtems/object.h, + rtems/include/rtems/rtems/options.h, + rtems/include/rtems/rtems/part.h, rtems/include/rtems/rtems/partmp.h, + rtems/include/rtems/rtems/ratemon.h, + rtems/include/rtems/rtems/region.h, + rtems/include/rtems/rtems/regionmp.h, + rtems/include/rtems/rtems/rtemsapi.h, + rtems/include/rtems/rtems/sem.h, rtems/include/rtems/rtems/semmp.h, + rtems/include/rtems/rtems/signal.h, + rtems/include/rtems/rtems/signalmp.h, + rtems/include/rtems/rtems/status.h, + rtems/include/rtems/rtems/support.h, + rtems/include/rtems/rtems/taskmp.h, + rtems/include/rtems/rtems/tasks.h, rtems/include/rtems/rtems/timer.h, + rtems/include/rtems/rtems/types.h, rtems/inline/rtems/rtems/asr.inl, + rtems/inline/rtems/rtems/attr.inl, + rtems/inline/rtems/rtems/barrier.inl, + rtems/inline/rtems/rtems/dpmem.inl, + rtems/inline/rtems/rtems/event.inl, + rtems/inline/rtems/rtems/eventset.inl, + rtems/inline/rtems/rtems/message.inl, + rtems/inline/rtems/rtems/modes.inl, + rtems/inline/rtems/rtems/options.inl, + rtems/inline/rtems/rtems/part.inl, + rtems/inline/rtems/rtems/ratemon.inl, + rtems/inline/rtems/rtems/region.inl, + rtems/inline/rtems/rtems/sem.inl, + rtems/inline/rtems/rtems/status.inl, + rtems/inline/rtems/rtems/support.inl, + rtems/inline/rtems/rtems/tasks.inl, + rtems/inline/rtems/rtems/timer.inl: Initial conversion of Classic API + header files to Doxygen. + * rtems/Doxyfile: New file. + 2008-04-18 Joel Sherrill * posix/src/key.c: Include diff --git a/cpukit/rtems/Doxyfile b/cpukit/rtems/Doxyfile new file mode 100644 index 0000000000..68b7acfcc9 --- /dev/null +++ b/cpukit/rtems/Doxyfile @@ -0,0 +1,1079 @@ +# Doxyfile 1.3.4 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project +# +# All text after a hash (#) is considered a comment and will be ignored +# The format is: +# TAG = value [value, ...] +# For lists items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (" ") + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = RTEMS Classic API + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. +# This could be handy for archiving the generated documentation or +# if some version control system is used. + +PROJECT_NUMBER = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) +# base path where the generated documentation will be put. +# If a relative path is entered, it will be relative to the location +# where doxygen was started. If left blank the current directory will be used. + +OUTPUT_DIRECTORY = classic_doxy + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# The default language is English, other supported languages are: +# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, +# Finnish, French, German, Greek, Hungarian, Italian, Japanese, Japanese-en +# (Japanese with English messages), Korean, Norwegian, Polish, Portuguese, +# Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, and Ukrainian. + +OUTPUT_LANGUAGE = English + +# This tag can be used to specify the encoding used in the generated output. +# The encoding is not always determined by the language that is chosen, +# but also whether or not the output is meant for Windows or non-Windows users. +# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES +# forces the Windows encoding (this is the default for the Windows binary), +# whereas setting the tag to NO uses a Unix-style encoding (the default for +# all platforms other than Windows). + +USE_WINDOWS_ENCODING = NO + +# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will +# include brief member descriptions after the members that are listed in +# the file and class documentation (similar to JavaDoc). +# Set to NO to disable this. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend +# the brief description of a member or function before the detailed description. +# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. + +REPEAT_BRIEF = YES + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# Doxygen will generate a detailed section even if there is only a brief +# description. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all inherited +# members of a class in the documentation of that class as if those members were +# ordinary class members. Constructors, destructors and assignment operators of +# the base classes will not be shown. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full +# path before files name in the file list and in the header files. If set +# to NO the shortest path that makes the file name unique will be used. + +FULL_PATH_NAMES = NO + +# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag +# can be used to strip a user-defined part of the path. Stripping is +# only done if one of the specified strings matches the left-hand part of +# the path. It is allowed to use relative paths in the argument list. + +STRIP_FROM_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# doesn't support long names like on DOS, Mac, or CD-ROM. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen +# will interpret the first line (until the first dot) of a JavaDoc-style +# comment as the brief description. If set to NO, the JavaDoc +# comments will behave just like the Qt-style comments (thus requiring an +# explict @brief command for a brief description. + +JAVADOC_AUTOBRIEF = NO + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen +# treat a multi-line C++ special comment block (i.e. a block of //! or /// +# comments) as a brief description. This used to be the default behaviour. +# The new default is to treat a multi-line C++ comment block as a detailed +# description. Set this tag to YES if you prefer the old behaviour instead. + +MULTILINE_CPP_IS_BRIEF = NO + +# If the 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 = NO + +# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented +# member inherits the documentation from any documented member that it +# reimplements. + +INHERIT_DOCS = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES, then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. + +DISTRIBUTE_GROUP_DOC = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. +# Doxygen uses this value to replace tabs by spaces in code fragments. + +TAB_SIZE = 8 + +# This tag can be used to specify a number of aliases that acts +# as commands in the documentation. An alias has the form "name=value". +# For example adding "sideeffect=\par Side Effects:\n" will allow you to +# put the command \sideeffect (or @sideeffect) in the documentation, which +# will result in a user-defined paragraph with heading "Side Effects:". +# You can put \n's in the value part of an alias to insert newlines. + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. +# For instance, some of the names that are used will be different. The list +# of all members will be omitted, etc. + +OPTIMIZE_OUTPUT_FOR_C = YES + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources +# only. Doxygen will then generate output that is more tailored for Java. +# For instance, namespaces will be presented as packages, qualified scopes +# will look different, etc. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the SUBGROUPING tag to YES (the default) to allow class member groups of +# the same type (for instance a group of public functions) to be put as a +# subgroup of that type (e.g. under the Public Functions section). Set it to +# NO to prevent subgrouping. Alternatively, this can be done per class using +# the \nosubgrouping command. + +SUBGROUPING = YES + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# documentation are documented, even if no documentation was available. +# Private class members and static file members will be hidden unless +# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES + +EXTRACT_ALL = NO + +# If the EXTRACT_PRIVATE tag is set to YES all private members of a class +# will be included in the documentation. + +EXTRACT_PRIVATE = NO + +# If the EXTRACT_STATIC tag is set to YES all static members of a file +# will be included in the documentation. + +EXTRACT_STATIC = NO + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) +# defined locally in source files will be included in the documentation. +# If set to NO only classes defined in header files are included. + +EXTRACT_LOCAL_CLASSES = YES + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all +# undocumented members of documented classes, files or namespaces. +# If set to NO (the default) these members will be included in the +# various overviews, but no documentation section is generated. +# This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. +# If set to NO (the default) these classes will be included in the various +# overviews. This option has no effect if EXTRACT_ALL is enabled. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all +# friend (class|struct|union) declarations. +# If set to NO (the default) these declarations will be included in the +# documentation. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any +# documentation blocks found inside the body of a function. +# If set to NO (the default) these blocks will be appended to the +# function's detailed documentation block. + +HIDE_IN_BODY_DOCS = NO + +# The INTERNAL_DOCS tag determines if documentation +# that is typed after a \internal command is included. If the tag is set +# to NO (the default) then the documentation will be excluded. +# Set it to YES to include the internal documentation. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate +# file names in lower-case letters. If set to YES upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# users are advised to set this option to NO. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen +# will show members with their full class and namespace scopes in the +# documentation. If set to YES the scope will be hidden. + +HIDE_SCOPE_NAMES = NO + +# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen +# will put a list of the files that are included by a file in the documentation +# of that file. + +SHOW_INCLUDE_FILES = YES + +# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] +# is inserted in the documentation for inline members. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen +# will sort the (detailed) documentation of file and class members +# alphabetically by member name. If set to NO the members will appear in +# declaration order. + +SORT_MEMBER_DOCS = YES + +# The GENERATE_TODOLIST tag can be used to enable (YES) or +# disable (NO) the todo list. This list is created by putting \todo +# commands in the documentation. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or +# disable (NO) the test list. This list is created by putting \test +# commands in the documentation. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or +# disable (NO) the bug list. This list is created by putting \bug +# commands in the documentation. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or +# disable (NO) the deprecated list. This list is created by putting +# \deprecated commands in the documentation. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional +# documentation sections, marked by \if sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define consists of for it to appear in +# the documentation. If the initializer consists of more lines than specified +# here it will be hidden. Use a value of 0 to hide initializers completely. +# The appearance of the initializer of individual variables and defines in the +# documentation can be controlled using \showinitializer or \hideinitializer +# command in the documentation regardless of this setting. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated +# at the bottom of the documentation of classes and structs. If set to YES the +# list will mention the files that were used to generate the documentation. + +SHOW_USED_FILES = YES + +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated +# by doxygen. Possible values are YES and NO. If left blank NO is used. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated by doxygen. Possible values are YES and NO. If left blank +# NO is used. + +WARNINGS = YES + +# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings +# for undocumented members. If EXTRACT_ALL is set to YES then this flag will +# automatically be disabled. + +WARN_IF_UNDOCUMENTED = YES + +# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some +# parameters in a documented function, or documenting parameters that +# don't exist or using markup commands wrongly. + +WARN_IF_DOC_ERROR = YES + +# The WARN_FORMAT tag determines the format of the warning messages that +# doxygen can produce. The string should contain the $file, $line, and $text +# tags, which will be replaced by the file and line number from which the +# warning originated and the warning text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning +# and error messages should be written. If left blank the output is written +# to stderr. + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag can be used to specify the files and/or directories that contain +# documented source files. You may enter file names like "myfile.cpp" or +# directories like "/usr/src/myproject". Separate the files or directories +# with spaces. + +INPUT = include inline + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank the following patterns are tested: +# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp +# *.h++ *.idl *.odl *.cs *.php *.php3 *.inc + +FILE_PATTERNS = *.h *.inl + +# The RECURSIVE tag can be used to turn specify whether or not subdirectories +# should be searched for input files as well. Possible values are YES and NO. +# If left blank NO is used. + +RECURSIVE = YES + +# The EXCLUDE tag can be used to specify files and/or directories that should +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or directories +# that are symbolic links (a Unix filesystem feature) are excluded from the input. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. + +EXCLUDE_PATTERNS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or +# directories that contain example code fragments that are included (see +# the \include command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp +# and *.h) to filter out the source-files in the directories. If left +# blank all files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude +# commands irrespective of the value of the RECURSIVE tag. +# Possible values are YES and NO. If left blank NO is used. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or +# directories that contain image that are included in the documentation (see +# the \image command). + +IMAGE_PATH = + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command , 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. + +INPUT_FILTER = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will be used to filter the input files when producing source +# files to browse (i.e. when SOURCE_BROWSER is set to YES). + +FILTER_SOURCE_FILES = NO + +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will +# be generated. Documented entities will be cross-referenced with these sources. + +SOURCE_BROWSER = NO + +# Setting the INLINE_SOURCES tag to YES will include the body +# of functions and classes directly in the documentation. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct +# doxygen to hide any special comment blocks from generated source code +# fragments. Normal C and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES (the default) +# then for each documented function all documented +# functions referencing it will be listed. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES (the default) +# then for each documented function all documented entities +# called/used by that function will be listed. + +REFERENCES_RELATION = YES + +# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen +# will generate a verbatim copy of the header file for each class for +# which an include is specified. Set to NO to disable this. + +VERBATIM_HEADERS = YES + +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index +# of all compounds will be generated. Enable this if the project +# contains a lot of classes, structs, unions or interfaces. + +ALPHABETICAL_INDEX = NO + +# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then +# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns +# in which this list will be split (can be a number in the range [1..20]) + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all +# classes will be put under the same header in the alphabetical index. +# The IGNORE_PREFIX tag can be used to specify one or more prefixes that +# should be ignored while generating the index headers. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES (the default) Doxygen will +# generate HTML output. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `html' will be used as the default path. + +HTML_OUTPUT = html + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for +# each generated HTML page (for example: .htm,.php,.asp). If it is left blank +# doxygen will generate files with .html extension. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a personal HTML header for +# each generated HTML page. If it is left blank doxygen will generate a +# standard header. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a personal HTML footer for +# each generated HTML page. If it is left blank doxygen will generate a +# standard footer. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading +# style sheet that is used by each HTML page. It can be used to +# fine-tune the look of the HTML output. If the tag is left blank doxygen +# will generate a default style sheet + +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 + +# 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) +# of the generated HTML documentation. + +GENERATE_HTMLHELP = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can +# be used to specify the file name of the resulting .chm file. You +# can add a path in front of the file if the result should not be +# written to the html output dir. + +CHM_FILE = + +# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can +# be used to specify the location (absolute path including file name) of +# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run +# the HTML help compiler on the generated index.hhp. + +HHC_LOCATION = + +# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag +# controls if a separate .chi index file is generated (YES) or that +# it should be included in the master .chm file (NO). + +GENERATE_CHI = NO + +# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag +# controls whether a binary table of contents is generated (YES) or a +# normal table of contents (NO) in the .chm file. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members +# to the contents of the HTML help documentation and to the tree view. + +TOC_EXPAND = NO + +# The DISABLE_INDEX tag can be used to turn on/off the condensed index at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# 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 = NO + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be +# used to set the initial width (in pixels) of the frame in which the tree +# is shown. + +TREEVIEW_WIDTH = 250 + +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- + +# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will +# generate Latex output. + +GENERATE_LATEX = YES + +# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `latex' will be used as the default path. + +LATEX_OUTPUT = latex + +# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be +# invoked. If left blank `latex' will be used as the default command name. + +LATEX_CMD_NAME = latex + +# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to +# generate index for LaTeX. If left blank `makeindex' will be used as the +# default command name. + +MAKEINDEX_CMD_NAME = makeindex + +# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact +# LaTeX documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_LATEX = NO + +# The PAPER_TYPE tag can be used to set the paper type that is used +# by the printer. Possible values are: a4, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX +# packages that should be included in the LaTeX output. + +EXTRA_PACKAGES = + +# The LATEX_HEADER tag can be used to specify a personal LaTeX header for +# the generated latex document. The header should contain everything until +# the first chapter. If it is left blank doxygen will generate a +# standard header. Notice: only use this tag if you know what you are doing! + +LATEX_HEADER = + +# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated +# is prepared for conversion to pdf (using ps2pdf). The pdf file will +# contain links (just like the HTML output) instead of page references +# This makes the output suitable for online browsing using a pdf viewer. + +PDF_HYPERLINKS = NO + +# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of +# plain latex in the generated Makefile. Set this option to YES to get a +# higher quality PDF documentation. + +USE_PDFLATEX = NO + +# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. +# command to the generated LaTeX files. This will instruct LaTeX to keep +# running if errors occur, instead of asking the user for help. +# This option is also used when generating formulas in HTML. + +LATEX_BATCHMODE = NO + +# If LATEX_HIDE_INDICES is set to YES then doxygen will not +# include the index chapters (such as File Index, Compound Index, etc.) +# in the output. + +LATEX_HIDE_INDICES = NO + +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- + +# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output +# The RTF output is optimised for Word 97 and may not look very pretty with +# other RTF readers or editors. + +GENERATE_RTF = NO + +# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `rtf' will be used as the default path. + +RTF_OUTPUT = rtf + +# If the COMPACT_RTF tag is set to YES Doxygen generates more compact +# RTF documents. This may be useful for small projects and may help to +# save some trees in general. + +COMPACT_RTF = NO + +# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated +# will contain hyperlink fields. The RTF file will +# contain links (just like the HTML output) instead of page references. +# This makes the output suitable for online browsing using WORD or other +# programs which support those fields. +# Note: wordpad (write) and others do not support links. + +RTF_HYPERLINKS = NO + +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# config file, i.e. a series of assigments. You only have to provide +# replacements, missing definitions are set to their default value. + +RTF_STYLESHEET_FILE = + +# Set optional variables used in the generation of an rtf document. +# Syntax is similar to doxygen's config file. + +RTF_EXTENSIONS_FILE = + +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- + +# If the GENERATE_MAN tag is set to YES (the default) Doxygen will +# generate man pages + +GENERATE_MAN = NO + +# The MAN_OUTPUT tag is used to specify where the man pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `man' will be used as the default path. + +MAN_OUTPUT = man + +# The MAN_EXTENSION tag determines the extension that is added to +# the generated man pages (default is the subroutine's section .3) + +MAN_EXTENSION = .3 + +# If the MAN_LINKS tag is set to YES and Doxygen generates man output, +# then it will generate one additional man file for each entity +# documented in the real man page(s). These additional files +# only source the real man page, but without them the man command +# would be unable to find the correct page. The default is NO. + +MAN_LINKS = NO + +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- + +# If the GENERATE_XML tag is set to YES Doxygen will +# generate an XML file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_XML = NO + +# The XML_OUTPUT tag is used to specify where the XML pages will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# put in front of it. If left blank `xml' will be used as the default path. + +XML_OUTPUT = xml + +# The XML_SCHEMA tag can be used to specify an XML schema, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_SCHEMA = + +# The XML_DTD tag can be used to specify an XML DTD, +# which can be used by a validating XML parser to check the +# syntax of the XML files. + +XML_DTD = + +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- + +# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will +# generate an AutoGen Definitions (see autogen.sf.net) file +# that captures the structure of the code including all +# documentation. Note that this feature is still experimental +# and incomplete at the moment. + +GENERATE_AUTOGEN_DEF = NO + +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- + +# If the GENERATE_PERLMOD tag is set to YES Doxygen will +# generate a Perl module file that captures the structure of +# the code including all documentation. Note that this +# feature is still experimental and incomplete at the +# moment. + +GENERATE_PERLMOD = NO + +# If the PERLMOD_LATEX tag is set to YES Doxygen will generate +# the necessary Makefile rules, Perl scripts and LaTeX code to be able +# to generate PDF and DVI output from the Perl module output. + +PERLMOD_LATEX = NO + +# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be +# nicely formatted so it can be parsed by a human reader. This is useful +# if you want to understand what is going on. On the other hand, if this +# tag is set to NO the size of the Perl module output will be much smaller +# and Perl will parse it just the same. + +PERLMOD_PRETTY = YES + +# The names of the make variables in the generated doxyrules.make file +# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. +# This is useful so different doxyrules.make files included by the same +# Makefile don't overwrite each other's variables. + +PERLMOD_MAKEVAR_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- + +# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will +# evaluate all C-preprocessor directives found in the sources and include +# files. + +ENABLE_PREPROCESSING = YES + +# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro +# names in the source code. If set to NO (the default) only conditional +# compilation will be performed. Macro expansion can be done in a controlled +# way by setting EXPAND_ONLY_PREDEF to YES. + +MACRO_EXPANSION = NO + +# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES +# then the macro expansion is limited to the macros specified with the +# PREDEFINED and EXPAND_AS_PREDEFINED tags. + +EXPAND_ONLY_PREDEF = NO + +# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files +# in the INCLUDE_PATH (see below) will be search if a #include is found. + +SEARCH_INCLUDES = YES + +# The INCLUDE_PATH tag can be used to specify one or more directories that +# contain include files that are not input files but should be processed by +# the preprocessor. + +INCLUDE_PATH = + +# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard +# patterns (like *.h and *.hpp) to filter out the header-files in the +# directories. If left blank, the patterns specified with FILE_PATTERNS will +# be used. + +INCLUDE_FILE_PATTERNS = + +# The PREDEFINED tag can be used to specify one or more macro names that +# are defined before the preprocessor is started (similar to the -D option of +# gcc). The argument of the tag is a list of macros of the form: name +# or name=definition (no spaces). If the definition and the = are +# omitted =1 is assumed. + +PREDEFINED = FALSE=0 \ + CPU_USE_GENERIC_BITFIELD_DATA=0 + +# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then +# this tag can be used to specify a list of macro names that should be expanded. +# The macro definition that is found in the sources will be used. +# Use the PREDEFINED tag if you want to use a different macro definition. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and will confuse the +# parser if not removed. + +SKIP_FUNCTION_MACROS = YES + +#--------------------------------------------------------------------------- +# Configuration::addtions related to external references +#--------------------------------------------------------------------------- + +# The TAGFILES option can be used to specify one or more tagfiles. +# Optionally an initial location of the external documentation +# can be added for each tagfile. The format of a tag file without +# this location is as follows: +# TAGFILES = file1 file2 ... +# Adding location for the tag files is done as follows: +# TAGFILES = file1=loc1 "file2 = loc2" ... +# where "loc1" and "loc2" can be relative or absolute paths or +# URLs. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# Note that each tag file must have a unique name +# (where the name does NOT include the path) +# If a tag file is not located in the directory in which doxygen +# is run, you must also specify the path to the tagfile here. + +TAGFILES = + +# When a file name is specified after GENERATE_TAGFILE, doxygen will create +# a tag file that is based on the input files it reads. + +GENERATE_TAGFILE = + +# If the ALLEXTERNALS tag is set to YES all external classes will be listed +# in the class index. If set to NO only the inherited external classes +# will be listed. + +ALLEXTERNALS = NO + +# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will +# be listed. + +EXTERNAL_GROUPS = YES + +# The PERL_PATH should be the absolute path and name of the perl script +# interpreter (i.e. the result of `which perl'). + +PERL_PATH = /usr/bin/perl + +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- + +# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will +# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or +# super classes. Setting the tag to NO turns the diagrams off. Note that this +# option is superceded by the HAVE_DOT option below. This is only a fallback. It is +# recommended to install and use dot, since it yields more powerful graphs. + +CLASS_DIAGRAMS = YES + +# If set to YES, the inheritance and collaboration graphs will hide +# inheritance and usage relations if the target is undocumented +# or is not a class. + +HIDE_UNDOC_RELATIONS = YES + +# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is +# available from the path. This tool is part of Graphviz, a graph visualization +# toolkit from AT&T and Lucent Bell Labs. The other options in this section +# have no effect if this option is set to NO (the default) + +HAVE_DOT = YES + +# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect inheritance relations. Setting this tag to YES will force the +# the CLASS_DIAGRAMS tag to NO. + +CLASS_GRAPH = YES + +# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen +# will generate a graph for each documented class showing the direct and +# indirect implementation dependencies (inheritance, containment, and +# class references variables) of the class with other documented classes. + +COLLABORATION_GRAPH = YES + +# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# collaboration diagrams in a style similiar to the OMG's Unified Modeling +# Language. + +UML_LOOK = NO + +# If set to YES, the inheritance and collaboration graphs will show the +# relations between templates and their instances. + +TEMPLATE_RELATIONS = NO + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT +# tags are set to YES then doxygen will generate a graph for each documented +# file showing the direct and indirect include dependencies of the file with +# other documented files. + +INCLUDE_GRAPH = YES + +# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and +# HAVE_DOT tags are set to YES then doxygen will generate a graph for each +# documented header file showing the documented files that directly or +# indirectly include this file. + +INCLUDED_BY_GRAPH = YES + +# If the CALL_GRAPH and HAVE_DOT 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. + +CALL_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. + +GRAPHICAL_HIERARCHY = YES + +# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images +# generated by dot. Possible values are png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# The tag DOT_PATH can be used to specify the path where the dot tool can be +# found. If left blank, it is assumed the dot tool can be found on the path. + +DOT_PATH = + +# The DOTFILE_DIRS tag can be used to specify one or more directories that +# contain dot files that are included in the documentation (see the +# \dotfile command). + +DOTFILE_DIRS = + +# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_WIDTH = 1024 + +# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height +# (in pixels) of the graphs generated by dot. If a graph becomes larger than +# this value, doxygen will try to truncate the graph, so that it fits within +# the specified constraint. Beware that most browsers cannot cope with very +# large images. + +MAX_DOT_GRAPH_HEIGHT = 1024 + +# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the +# graphs generated by dot. A depth value of 3 means that only nodes reachable +# from the root by following a path via at most 3 edges will be shown. Nodes that +# lay further from the root node will be omitted. Note that setting this option to +# 1 or 2 may greatly reduce the computation time needed for large code bases. Also +# note that a graph may be further truncated if the graph's image dimensions are +# not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH and MAX_DOT_GRAPH_HEIGHT). +# If 0 is used for the depth value (the default), the graph is not depth-constrained. + +MAX_DOT_GRAPH_DEPTH = 0 + +# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will +# generate a legend page explaining the meaning of the various boxes and +# arrows in the dot generated graphs. + +GENERATE_LEGEND = YES + +# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will +# remove the intermediate dot files that are used to generate +# the various graphs. + +DOT_CLEANUP = YES + +#--------------------------------------------------------------------------- +# Configuration::addtions 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 --git a/cpukit/rtems/include/rtems.h b/cpukit/rtems/include/rtems.h index 249aa1cc04..e4441ec069 100644 --- a/cpukit/rtems/include/rtems.h +++ b/cpukit/rtems/include/rtems.h @@ -1,14 +1,13 @@ /** * @file rtems.h - */ - -/* + * * This include file contains information about RTEMS executive that * is required by the application and is CPU independent. It includes * two (2) CPU dependent files to tailor its data structures for a * particular processor. - * - * COPYRIGHT (c) 1989-2008. + */ + +/* COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -21,6 +20,13 @@ #ifndef _RTEMS_H #define _RTEMS_H +/** + * @defgroup ClassicRTEMS Classic API RTEMS Header + * + * This encapsulates functionality which XXX + */ +/**@{*/ + #ifdef __cplusplus extern "C" { #endif @@ -72,57 +78,53 @@ extern "C" { #define RTEMS_HAS_HARDWARE_FP CPU_HARDWARE_FP -/* +/** * The following define the constants which may be used in name searches. */ - #define RTEMS_SEARCH_ALL_NODES OBJECTS_SEARCH_ALL_NODES #define RTEMS_SEARCH_OTHER_NODES OBJECTS_SEARCH_OTHER_NODES #define RTEMS_SEARCH_LOCAL_NODE OBJECTS_SEARCH_LOCAL_NODE #define RTEMS_WHO_AM_I OBJECTS_WHO_AM_I -/* +/** * Parameters and return id's for _Objects_Get_next */ - #define RTEMS_OBJECT_ID_INITIAL_INDEX OBJECTS_ID_INITIAL_INDEX #define RTEMS_OBJECT_ID_FINAL_INDEX OBJECTS_ID_FINAL_INDEX #define RTEMS_OBJECT_ID_INITIAL(api, class, node) OBJECTS_ID_INITIAL(api, class, node) #define RTEMS_OBJECT_ID_FINAL OBJECTS_ID_FINAL -/* +/** * The following constant defines the minimum stack size which every * thread must exceed. */ - #define RTEMS_MINIMUM_STACK_SIZE STACK_MINIMUM_SIZE -/* +/** * Constant for indefinite wait. (actually an illegal interval) */ - #define RTEMS_NO_TIMEOUT WATCHDOG_NO_TIMEOUT -/* +/** * An MPCI must support packets of at least this size. */ - #define RTEMS_MINIMUM_PACKET_SIZE MP_PACKET_MINIMUM_PACKET_SIZE -/* - * The following constant defines the number of uint32_t 's +/** + * The following constant defines the number of uint32_t's * in a packet which must be converted to native format in a * heterogeneous system. In packets longer than - * MP_PACKET_MINIMUN_HETERO_CONVERSION uint32_t 's, some of the "extra" data + * MP_PACKET_MINIMUN_HETERO_CONVERSION uint32_t's, some of the "extra" data * may a user message buffer which is not automatically endian swapped. */ - #define RTEMS_MINIMUN_HETERO_CONVERSION MP_PACKET_MINIMUN_HETERO_CONVERSION #ifdef __cplusplus } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/asr.h b/cpukit/rtems/include/rtems/rtems/asr.h index 6fb7f3db91..4fcade6d28 100644 --- a/cpukit/rtems/include/rtems/rtems/asr.h +++ b/cpukit/rtems/include/rtems/rtems/asr.h @@ -1,13 +1,12 @@ /** * @file rtems/rtems/asr.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Asynchronous Signal Handler. This Handler provides the low-level * support required by the Signal Manager. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -26,35 +25,36 @@ extern "C" { #include -/* +/** + * @defgroup ClassicASR Classic API ASR Support * + * This encapsulates functionality which XXX + */ +/**@{*/ + +/** * The following type defines the control block used to manage * each signal set. */ - typedef uint32_t rtems_signal_set; -/* +/** * Return type for ASR Handler */ - typedef void rtems_asr; -/* +/** * The following type corresponds to the applications asynchronous * signal processing routine. */ - typedef rtems_asr ( *rtems_asr_entry )( rtems_signal_set ); -/* - * +/** * The following defines the control structure used to manage * signals. Each thread has a copy of this record. */ - typedef struct { boolean is_enabled; /* are ASRs enabled currently? */ rtems_asr_entry handler; /* address of RTEMS_ASR */ @@ -69,37 +69,69 @@ typedef struct { * be used to compose a signal set. */ +/** This defines the bit in the signal set associated with signal 0. */ #define RTEMS_SIGNAL_0 0x00000001 +/** This defines the bit in the signal set associated with signal 1. */ #define RTEMS_SIGNAL_1 0x00000002 +/** This defines the bit in the signal set associated with signal 2. */ #define RTEMS_SIGNAL_2 0x00000004 +/** This defines the bit in the signal set associated with signal 3. */ #define RTEMS_SIGNAL_3 0x00000008 +/** This defines the bit in the signal set associated with signal 4. */ #define RTEMS_SIGNAL_4 0x00000010 +/** This defines the bit in the signal set associated with signal 5. */ #define RTEMS_SIGNAL_5 0x00000020 +/** This defines the bit in the signal set associated with signal 6. */ #define RTEMS_SIGNAL_6 0x00000040 +/** This defines the bit in the signal set associated with signal 7. */ #define RTEMS_SIGNAL_7 0x00000080 +/** This defines the bit in the signal set associated with signal 8. */ #define RTEMS_SIGNAL_8 0x00000100 +/** This defines the bit in the signal set associated with signal 9. */ #define RTEMS_SIGNAL_9 0x00000200 +/** This defines the bit in the signal set associated with signal 10. */ #define RTEMS_SIGNAL_10 0x00000400 +/** This defines the bit in the signal set associated with signal 11. */ #define RTEMS_SIGNAL_11 0x00000800 +/** This defines the bit in the signal set associated with signal 12. */ #define RTEMS_SIGNAL_12 0x00001000 +/** This defines the bit in the signal set associated with signal 13. */ #define RTEMS_SIGNAL_13 0x00002000 +/** This defines the bit in the signal set associated with signal 14. */ #define RTEMS_SIGNAL_14 0x00004000 +/** This defines the bit in the signal set associated with signal 15. */ #define RTEMS_SIGNAL_15 0x00008000 +/** This defines the bit in the signal set associated with signal 16. */ #define RTEMS_SIGNAL_16 0x00010000 +/** This defines the bit in the signal set associated with signal 17. */ #define RTEMS_SIGNAL_17 0x00020000 +/** This defines the bit in the signal set associated with signal 18. */ #define RTEMS_SIGNAL_18 0x00040000 +/** This defines the bit in the signal set associated with signal 19. */ #define RTEMS_SIGNAL_19 0x00080000 +/** This defines the bit in the signal set associated with signal 20. */ #define RTEMS_SIGNAL_20 0x00100000 +/** This defines the bit in the signal set associated with signal 21. */ #define RTEMS_SIGNAL_21 0x00200000 +/** This defines the bit in the signal set associated with signal 22. */ #define RTEMS_SIGNAL_22 0x00400000 +/** This defines the bit in the signal set associated with signal 23. */ #define RTEMS_SIGNAL_23 0x00800000 +/** This defines the bit in the signal set associated with signal 24. */ #define RTEMS_SIGNAL_24 0x01000000 +/** This defines the bit in the signal set associated with signal 25. */ #define RTEMS_SIGNAL_25 0x02000000 +/** This defines the bit in the signal set associated with signal 26. */ #define RTEMS_SIGNAL_26 0x04000000 +/** This defines the bit in the signal set associated with signal 27. */ #define RTEMS_SIGNAL_27 0x08000000 +/** This defines the bit in the signal set associated with signal 28. */ #define RTEMS_SIGNAL_28 0x10000000 +/** This defines the bit in the signal set associated with signal 29. */ #define RTEMS_SIGNAL_29 0x20000000 +/** This defines the bit in the signal set associated with signal 30. */ #define RTEMS_SIGNAL_30 0x40000000 +/** This defines the bit in the signal set associated with signal 31. */ #define RTEMS_SIGNAL_31 0x80000000 #ifndef __RTEMS_APPLICATION__ @@ -110,5 +142,7 @@ typedef struct { } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/attr.h b/cpukit/rtems/include/rtems/rtems/attr.h index f37e8caa33..8c1bf99b2d 100644 --- a/cpukit/rtems/include/rtems/rtems/attr.h +++ b/cpukit/rtems/include/rtems/rtems/attr.h @@ -1,12 +1,11 @@ /** * @file rtems/rtems/attr.h - */ - -/* + * * This include file contains all information about the Object Attributes * Handler. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -23,6 +22,13 @@ extern "C" { #endif +/** + * @defgroup ClassicAttributes Classic API Attributes + * + * This encapsulates functionality which XXX + */ +/**@{*/ + /* types */ typedef uint32_t rtems_attribute; @@ -74,17 +80,14 @@ typedef uint32_t rtems_attribute; #define ATTRIBUTES_REQUIRED 0 #endif -/* - * _Attributes_Handler_initialization - * - * DESCRIPTION: +/** + * @brief _Attributes_Handler_initialization * * This routine performs initialization for this handler. * * NOTE: There is no initialization required in C. Conditional compilation * takes care of this in C. */ - #define _Attributes_Handler_initialization() #ifndef __RTEMS_APPLICATION__ @@ -95,5 +98,7 @@ typedef uint32_t rtems_attribute; } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/barrier.h b/cpukit/rtems/include/rtems/rtems/barrier.h index 4d0a57398e..95264aba31 100644 --- a/cpukit/rtems/include/rtems/rtems/barrier.h +++ b/cpukit/rtems/include/rtems/rtems/barrier.h @@ -1,20 +1,19 @@ /** * @file rtems/rtems/barrier.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Barrier Manager. * * Directives provided are: * - * + create a barrier - * + get an ID of a barrier - * + delete a barrier - * + wait for a barrier - * + signal a barrier - * - * COPYRIGHT (c) 1989-2007. + * - create a barrier + * - get an ID of a barrier + * - delete a barrier + * - wait for a barrier + * - signal a barrier + */ + +/* COPYRIGHT (c) 1989-2007. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -27,6 +26,13 @@ #ifndef _RTEMS_RTEMS_BARRIER_H #define _RTEMS_RTEMS_BARRIER_H +/** + * @defgroup ClassicBarrier Classic API Barrier + * + * This encapsulates functionality which XXX + */ +/**@{*/ + #ifndef RTEMS_BARRIER_EXTERN #define RTEMS_BARRIER_EXTERN extern #endif @@ -45,7 +51,6 @@ extern "C" { /** * This type defines the control block used to manage each barrier. */ - typedef struct { /** This is used to manage a barrier as an object. */ Objects_Control Object; @@ -59,7 +64,6 @@ typedef struct { * The following defines the information control block used to manage * this class of objects. */ - RTEMS_BARRIER_EXTERN Objects_Information _Barrier_Information; /** @@ -70,7 +74,6 @@ RTEMS_BARRIER_EXTERN Objects_Information _Barrier_Information; * @param[in] maximum_barriers is the total number of barriers allowed to * concurrently be active in the system. */ - void _Barrier_Manager_initialization( uint32_t maximum_barriers ); @@ -92,7 +95,6 @@ void _Barrier_Manager_initialization( * * @return a status code indicating success or the reason for failure. */ - rtems_status_code rtems_barrier_create( rtems_name name, rtems_attribute attribute_set, @@ -116,7 +118,6 @@ rtems_status_code rtems_barrier_create( * * @return a status code indicating success or the reason for failure. */ - rtems_status_code rtems_barrier_ident( rtems_name name, rtems_id *id @@ -195,5 +196,7 @@ rtems_status_code _Barrier_Translate_core_barrier_return_code ( } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/barriermp.h b/cpukit/rtems/include/rtems/rtems/barriermp.h index c09b1fc6ff..c26b65339e 100644 --- a/cpukit/rtems/include/rtems/rtems/barriermp.h +++ b/cpukit/rtems/include/rtems/rtems/barriermp.h @@ -1,12 +1,11 @@ /** * @file rtems/rtems/barriermp.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Multiprocessing Support in the Barrier Manager. - * - * COPYRIGHT (c) 1989-2006. + */ + +/* COPYRIGHT (c) 1989-2006. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,6 +18,13 @@ #ifndef _RTEMS_RTEMS_SEMMP_H #define _RTEMS_RTEMS_SEMMP_H +/** + * @defgroup ClassicBarrierMP Classic API Barrier MP Support + * + * This encapsulates functionality which XXX + */ +/**{*/ + #ifdef __cplusplus extern "C" { #endif @@ -137,5 +143,7 @@ Barrier_MP_Packet *_Barrier_MP_Get_packet ( void ); } #endif +/**@}*/ + #endif /* end of file */ diff --git a/cpukit/rtems/include/rtems/rtems/cache.h b/cpukit/rtems/include/rtems/rtems/cache.h index 17645346c3..c90b240f2b 100644 --- a/cpukit/rtems/include/rtems/rtems/cache.h +++ b/cpukit/rtems/include/rtems/rtems/cache.h @@ -1,11 +1,10 @@ /** * @file rtems/rtems/cache.h + * + * Cache Manager */ -/* - * Cache Manager - * - * COPYRIGHT (c) 1989-1999. +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -38,97 +37,112 @@ extern "C" { #include #include +/** + * @defgroup ClassicCache Classic API Cache + * + * This encapsulates functionality which XXX + */ +/**@{*/ + /* * These functions will ONLY do something if the * libcpu support includes data cache routines AND * the CPU model supports data caching. */ -/* +/** * This function is called to flush the data cache by performing cache * copybacks. It must determine how many cache lines need to be copied * back and then perform the copybacks. */ void rtems_cache_flush_multiple_data_lines( const void *, size_t ); -/* +/** * This function is responsible for performing a data cache invalidate. * It must determine how many cache lines need to be invalidated and then * perform the invalidations. */ void rtems_cache_invalidate_multiple_data_lines( const void *, size_t ); -/* +/** * This function is responsible for performing a data cache flush. * It flushes the entire cache. */ void rtems_cache_flush_entire_data( void ); -/* +/** * This function is responsible for performing a data cache * invalidate. It invalidates the entire cache. */ void rtems_cache_invalidate_entire_data( void ); -/* +/** * This function returns the data cache granularity. */ int rtems_cache_get_data_line_size( void ); -/* +/** * This function freezes the data cache. */ void rtems_cache_freeze_data( void ); -/* +/** * This function unfreezes the data cache. */ void rtems_cache_unfreeze_data( void ); -/* - * These functions enable/disable the data cache. +/** + * This function enables the data cache. */ void rtems_cache_enable_data( void ); + +/** + * This function disables the data cache. + */ void rtems_cache_disable_data( void ); -/* +/** * These functions will ONLY do something if the * libcpu support includes instruction cache routines AND * the CPU model supports instruction caching. */ -/* +/** * This function is responsible for performing an instruction cache * invalidate. It must determine how many cache lines need to be invalidated * and then perform the invalidations. */ void rtems_cache_invalidate_multiple_instruction_lines( const void *, size_t ); -/* +/** * This function is responsible for performing an instruction cache * invalidate. It invalidates the entire cache. */ void rtems_cache_invalidate_entire_instruction( void ); -/* +/** * This function returns the instruction cache granularity. */ int rtems_cache_get_instruction_line_size( void ); -/* +/** * This function freezes the instruction cache. */ void rtems_cache_freeze_instruction( void ); -/* +/** * This function unfreezes the instruction cache. */ void rtems_cache_unfreeze_instruction( void ); -/* - * These functions enable/disable the instruction cache. +/** + * This function enables the instruction cache. */ void rtems_cache_enable_instruction( void ); + +/** + * This function disables the instruction cache. + */ void rtems_cache_disable_instruction( void ); @@ -136,5 +150,7 @@ void rtems_cache_disable_instruction( void ); } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/clock.h b/cpukit/rtems/include/rtems/rtems/clock.h index d467f353fd..a6fc6bbb6a 100644 --- a/cpukit/rtems/include/rtems/rtems/clock.h +++ b/cpukit/rtems/include/rtems/rtems/clock.h @@ -1,21 +1,20 @@ /** * @file rtems/rtems/clock.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Clock Manager. This manager provides facilities to set, obtain, * and continually update the current date and time. * * This manager provides directives to: * - * + set the current date and time - * + obtain the current date and time - * + set the nanoseconds since last clock tick handler - * + announce a clock tick - * + obtain the system uptime - * - * COPYRIGHT (c) 1989-2008. + * - set the current date and time + * - obtain the current date and time + * - set the nanoseconds since last clock tick handler + * - announce a clock tick + * - obtain the system uptime + */ + +/* COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -28,15 +27,22 @@ #ifndef _RTEMS_RTEMS_CLOCK_H #define _RTEMS_RTEMS_CLOCK_H -#ifdef __cplusplus -extern "C" { -#endif - #include #include #include #include +/** + * @defgroup ClassicClock Classic API Clock + * + * This encapsulates functionality which XXX + */ +/**@{*/ + +#ifdef __cplusplus +extern "C" { +#endif + /** * List of things which can be returned by the rtems_clock_get directive. */ @@ -259,5 +265,7 @@ Watchdog_Interval _TOD_To_seconds( } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/config.h b/cpukit/rtems/include/rtems/rtems/config.h index 3cc64cfe97..c12c72b2a1 100644 --- a/cpukit/rtems/include/rtems/rtems/config.h +++ b/cpukit/rtems/include/rtems/rtems/config.h @@ -1,12 +1,11 @@ /** * @file rtems/rtems/config.h - */ - -/* + * * This include file contains the table of user defined configuration * parameters specific for the RTEMS API. - * - * COPYRIGHT (c) 1989-2006. + */ + +/* COPYRIGHT (c) 1989-2006. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -26,7 +25,14 @@ extern "C" { #include #include -/* +/** + * @defgroup ClassicConfig Classic API Configuration + * + * This encapsulates functionality which XXX + */ +/**@{*/ + +/** * The following records define the Configuration Table. The * information contained in this table is required in all * RTEMS systems, whether single or multiprocessor. This @@ -34,7 +40,6 @@ extern "C" { * * + required number of each object type */ - typedef struct { uint32_t maximum_tasks; uint32_t maximum_timers; @@ -53,5 +58,7 @@ typedef struct { } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/dpmem.h b/cpukit/rtems/include/rtems/rtems/dpmem.h index 37fbc2f445..d14cef2c98 100644 --- a/cpukit/rtems/include/rtems/rtems/dpmem.h +++ b/cpukit/rtems/include/rtems/rtems/dpmem.h @@ -1,8 +1,6 @@ /** * @file rtems/rtems/dpmem.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Dual Ported Memory Manager. This manager provides a mechanism * for converting addresses between internal and external representations @@ -10,14 +8,15 @@ * * Directives provided are: * - * + create a port - * + get ID of a port - * + delete a port - * + convert external to internal address - * + convert internal to external address + * - create a port + * - get ID of a port + * - delete a port + * - convert external to internal address + * - convert internal to external address * - * - * COPYRIGHT (c) 1989-2007. + */ + +/* COPYRIGHT (c) 1989-2007. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -42,12 +41,18 @@ extern "C" { #include #include -/* +/** + * @defgroup ClassicDPMEM Classic API Dual Ported Memory + * + * This encapsulates functionality which XXX + */ +/**@{*/ + +/** * The following structure defines the port control block. Each port * has a control block associated with it. This control block contains * all information required to support the port related operations. */ - typedef struct { Objects_Control Object; void *internal_base; /* base internal address */ @@ -55,28 +60,22 @@ typedef struct { uint32_t length; /* length of dual-ported area */ } Dual_ported_memory_Control; -/* +/** * The following define the internal Dual Ported Memory information. */ - RTEMS_DPMEM_EXTERN Objects_Information _Dual_ported_memory_Information; -/* - * _Dual_ported_memory_Manager_initialization - * - * DESCRIPTION: +/** + * @brief _Dual_ported_memory_Manager_initialization * * This routine performs the initialization necessary for this manager. */ - void _Dual_ported_memory_Manager_initialization( uint32_t maximum_ports ); -/* - * rtems_port_create - * - * DESCRIPTION: +/** + * @brief rtems_port_create * * This routine implements the rtems_port_create directive. The port * will have the name name. The port maps onto an area of dual ported @@ -84,7 +83,6 @@ void _Dual_ported_memory_Manager_initialization( * as the internal and external starting addresses, respectively. * It returns the id of the created port in ID. */ - rtems_status_code rtems_port_create( rtems_name name, void *internal_start, @@ -93,60 +91,48 @@ rtems_status_code rtems_port_create( Objects_Id *id ); -/* - * rtems_port_ident - * - * DESCRIPTION: +/** + * @brief rtems_port_ident * * This routine implements the rtems_port_ident directive. This directive * returns the port ID associated with name. If more than one port is * named name, then the port to which the ID belongs is arbitrary. */ - rtems_status_code rtems_port_ident( rtems_name name, Objects_Id *id ); -/* - * rtems_port_delete - * - * DESCRIPTION: +/** + * @brief rtems_port_delete * * This routine implements the rtems_port_delete directive. It deletes * the port associated with ID. */ - rtems_status_code rtems_port_delete( Objects_Id id ); -/* - * rtems_port_external_to_internal - * - * DESCRIPTION: +/** + * @brief rtems_port_external_to_internal * * This routine implements the rtems_port_external_to_internal directive. * It returns the internal port address which maps to the provided * external port address for the specified port ID. */ - rtems_status_code rtems_port_external_to_internal( Objects_Id id, void *external, void **internal ); -/* - * rtems_port_internal_to_external - * - * DESCRIPTION: +/** + * @brief rtems_port_internal_to_external * * This routine implements the Port_internal_to_external directive. * It returns the external port address which maps to the provided * internal port address for the specified port ID. */ - rtems_status_code rtems_port_internal_to_external( Objects_Id id, void *internal, @@ -161,5 +147,7 @@ rtems_status_code rtems_port_internal_to_external( } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/event.h b/cpukit/rtems/include/rtems/rtems/event.h index 68687af31e..584c76eb8c 100644 --- a/cpukit/rtems/include/rtems/rtems/event.h +++ b/cpukit/rtems/include/rtems/rtems/event.h @@ -1,19 +1,18 @@ /** * @file rtems/rtems/event.h - */ - -/* + * * This include file contains the information pertaining to the Event * Manager. This manager provides a high performance method of communication * and synchronization. * * Directives provided are: * - * + send an event set to a task - * + receive event condition + * - send an event set to a task + * - receive event condition * - * - * COPYRIGHT (c) 1989-2008. + */ + +/* COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -43,43 +42,41 @@ extern "C" { #include #include -/* +/** + * @defgroup ClassicEvent Classic API Event + * + * This encapsulates functionality which XXX + */ +/**@{*/ + +/** * This constant is passed as the event_in to the * rtems_event_receive directive to determine which events are pending. */ - #define EVENT_CURRENT 0 -/* - * Event_Manager_initialization - * - * DESCRIPTION: +/** + * @brief Event_Manager_initialization * * This routine performs the initialization necessary for this manager. */ - void _Event_Manager_initialization( void ); -/* - * rtems_event_send - * - * DESCRIPTION: +/** + * @brief rtems_event_send * * This routine implements the rtems_event_send directive. It sends * event_in to the task specified by ID. If the task is blocked * waiting to receive events and the posting of event_in satisfies * the task's event condition, then it is unblocked. */ - rtems_status_code rtems_event_send ( Objects_Id id, rtems_event_set event_in ); -/* - * rtems_event_receive - * - * DESCRIPTION: +/** + * @brief rtems_event_receive * * This routine implements the rtems_event_receive directive. This * directive is invoked when the calling task wishes to receive @@ -92,7 +89,6 @@ rtems_status_code rtems_event_send ( * parameter. This directive returns the events received in the * event_out parameter. */ - rtems_status_code rtems_event_receive ( rtems_event_set event_in, rtems_option option_set, @@ -100,10 +96,8 @@ rtems_status_code rtems_event_receive ( rtems_event_set *event_out ); -/* - * _Event_Seize - * - * DESCRIPTION: +/** + * @brief Event_Seize * * This routine determines if the event condition event_in is * satisfied. If so or if the no_wait option is enabled in option_set, @@ -111,7 +105,6 @@ rtems_status_code rtems_event_receive ( * conditions is true, then the calling task is blocked with an * optional timeout of ticks clock ticks. */ - void _Event_Seize ( rtems_event_set event_in, rtems_option option_set, @@ -119,23 +112,18 @@ void _Event_Seize ( rtems_event_set *event_out ); -/* - * _Event_Surrender - * - * DESCRIPTION: +/** + * @brief Event_Surrender * * This routine determines if the event condition of the_thread * has been satisfied. If so, it unblocks the_thread. */ - void _Event_Surrender ( Thread_Control *the_thread ); -/* - * _Event_Timeout - * - * DESCRIPTION: +/** + * @brief Event_Timeout * * This routine is invoked when a task's event receive request * has not been satisfied after the specified timeout interval. @@ -143,18 +131,14 @@ void _Event_Surrender ( * code will be set in it's control block to indicate that a timeout * has occurred. */ - void _Event_Timeout ( Objects_Id id, void *ignored ); -/* - * The following defines the synchronization flag used by the - * Event Manager to insure that signals sent to the currently - * executing thread are received properly. +/** + * @brief he following defines the synchronization flag used by the */ - RTEMS_EVENT_EXTERN volatile Thread_blocking_operation_States _Event_Sync_state; #if defined(RTEMS_MULTIPROCESSING) @@ -168,5 +152,7 @@ RTEMS_EVENT_EXTERN volatile Thread_blocking_operation_States _Event_Sync_state; } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/eventmp.h b/cpukit/rtems/include/rtems/rtems/eventmp.h index e3b149b7d6..2ebed71b3f 100644 --- a/cpukit/rtems/include/rtems/rtems/eventmp.h +++ b/cpukit/rtems/include/rtems/rtems/eventmp.h @@ -1,12 +1,11 @@ /** * @file rtems/rtems/eventmp.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Multiprocessing Support in the Event Manager. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -29,21 +28,26 @@ extern "C" { #include #include -/* +/** + * @defgroup ClassicEventMP Classic API Event MP Support + * + * This encapsulates functionality which XXX + */ +/**@{*/ + +/** * The following enumerated type defines the list of * remote event operations. */ - typedef enum { EVENT_MP_SEND_REQUEST = 0, EVENT_MP_SEND_RESPONSE = 1 } Event_MP_Remote_operations; -/* +/** * The following data structure defines the packet used to perform * remote event operations. */ - typedef struct { rtems_packet_prefix Prefix; Event_MP_Remote_operations operation; @@ -51,64 +55,50 @@ typedef struct { } Event_MP_Packet; /* - * _Event_MP_Send_process_packet - * - * DESCRIPTION: + * @brief Event_MP_Send_process_packet * * This routine performs a remote procedure call so that a * process operation can be performed on another node. * - * This routine is not needed since there are no process + * @note This routine is not needed since there are no process * packets to be sent by this manager. */ -/* - * _Event_MP_Send_request_packet - * - * DESCRIPTION: +/** + * @brief Event_MP_Send_request_packet * * This routine performs a remote procedure call so that a * directive operation can be initiated on another node. */ - rtems_status_code _Event_MP_Send_request_packet ( Event_MP_Remote_operations operation, Objects_Id event_id, rtems_event_set event_in ); -/* - * _Event_MP_Send_response_packet - * - * DESCRIPTION: +/** + * @brief Event_MP_Send_response_packet * * This routine performs a remote procedure call so that a * directive can be performed on another node. */ - void _Event_MP_Send_response_packet ( Event_MP_Remote_operations operation, Thread_Control *the_thread ); -/* - * - * _Event_MP_Process_packet - * - * DESCRIPTION: +/** + * @brief Event_MP_Process_packet * * This routine performs the actions specific to this package for * the request from another node. */ - void _Event_MP_Process_packet ( rtems_packet_prefix *the_packet_prefix ); /* - * _Event_MP_Send_object_was_deleted - * - * DESCRIPTION: + * @brief Event_MP_Send_object_was_deleted * * This routine is invoked indirectly by the thread queue * when a proxy has been removed from the thread queue and @@ -119,9 +109,7 @@ void _Event_MP_Process_packet ( */ /* - * _Event_MP_Send_extract_proxy - * - * DESCRIPTION: + * @brief Event_MP_Send_extract_proxy * * This routine is invoked when a task is deleted and it * has a proxy which must be removed from a thread queue and @@ -131,19 +119,18 @@ void _Event_MP_Process_packet ( * deleted by this manager. */ -/* - * _Event_MP_Get_packet - * - * DESCRIPTION: +/** + * @brief Event_MP_Get_packet * * This function is used to obtain a event mp packet. */ - Event_MP_Packet *_Event_MP_Get_packet ( void ); #ifdef __cplusplus } #endif +/**@}*/ + #endif /* end of file */ diff --git a/cpukit/rtems/include/rtems/rtems/eventset.h b/cpukit/rtems/include/rtems/rtems/eventset.h index 77fbabf763..6458cb92c4 100644 --- a/cpukit/rtems/include/rtems/rtems/eventset.h +++ b/cpukit/rtems/include/rtems/rtems/eventset.h @@ -1,13 +1,12 @@ /** * @file rtems/rtems/eventset.h - */ - -/* + * * This include file contains the information pertaining to the * Event Sets Handler. This handler provides methods for the manipulation * of event sets which will be sent and received by tasks. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -20,63 +19,98 @@ #ifndef _RTEMS_RTEMS_EVENTSET_H #define _RTEMS_RTEMS_EVENTSET_H +/** + * @defgroup ClassicEventSet Classic API Event Set + * + * This encapsulates functionality which XXX + */ +/**@{*/ + #ifdef __cplusplus extern "C" { #endif -/* +/** * The following defines the type used to control event sets. */ - typedef uint32_t rtems_event_set; -/* +/** * The following constants define the individual events which may * be used to compose an event set. */ - #define RTEMS_PENDING_EVENTS 0 /* receive pending events */ #define RTEMS_ALL_EVENTS 0xFFFFFFFF +/** This defines the bit in the event set associated with event 0. */ #define RTEMS_EVENT_0 0x00000001 +/** This defines the bit in the event set associated with event 1. */ #define RTEMS_EVENT_1 0x00000002 +/** This defines the bit in the event set associated with event 2. */ #define RTEMS_EVENT_2 0x00000004 +/** This defines the bit in the event set associated with event 3. */ #define RTEMS_EVENT_3 0x00000008 +/** This defines the bit in the event set associated with event 4. */ #define RTEMS_EVENT_4 0x00000010 +/** This defines the bit in the event set associated with event 5. */ #define RTEMS_EVENT_5 0x00000020 +/** This defines the bit in the event set associated with event 6. */ #define RTEMS_EVENT_6 0x00000040 +/** This defines the bit in the event set associated with event 7. */ #define RTEMS_EVENT_7 0x00000080 +/** This defines the bit in the event set associated with event 8. */ #define RTEMS_EVENT_8 0x00000100 +/** This defines the bit in the event set associated with event 9. */ #define RTEMS_EVENT_9 0x00000200 +/** This defines the bit in the event set associated with event 10. */ #define RTEMS_EVENT_10 0x00000400 +/** This defines the bit in the event set associated with event 11. */ #define RTEMS_EVENT_11 0x00000800 +/** This defines the bit in the event set associated with event 12. */ #define RTEMS_EVENT_12 0x00001000 +/** This defines the bit in the event set associated with event 13. */ #define RTEMS_EVENT_13 0x00002000 +/** This defines the bit in the event set associated with event 14. */ #define RTEMS_EVENT_14 0x00004000 +/** This defines the bit in the event set associated with event 15. */ #define RTEMS_EVENT_15 0x00008000 +/** This defines the bit in the event set associated with event 16. */ #define RTEMS_EVENT_16 0x00010000 +/** This defines the bit in the event set associated with event 17. */ #define RTEMS_EVENT_17 0x00020000 +/** This defines the bit in the event set associated with event 18. */ #define RTEMS_EVENT_18 0x00040000 +/** This defines the bit in the event set associated with event 19. */ #define RTEMS_EVENT_19 0x00080000 +/** This defines the bit in the event set associated with event 20. */ #define RTEMS_EVENT_20 0x00100000 +/** This defines the bit in the event set associated with event 21. */ #define RTEMS_EVENT_21 0x00200000 +/** This defines the bit in the event set associated with event 22. */ #define RTEMS_EVENT_22 0x00400000 +/** This defines the bit in the event set associated with event 23. */ #define RTEMS_EVENT_23 0x00800000 +/** This defines the bit in the event set associated with event 24. */ #define RTEMS_EVENT_24 0x01000000 +/** This defines the bit in the event set associated with event 25. */ #define RTEMS_EVENT_25 0x02000000 +/** This defines the bit in the event set associated with event 26. */ #define RTEMS_EVENT_26 0x04000000 +/** This defines the bit in the event set associated with event 27. */ #define RTEMS_EVENT_27 0x08000000 +/** This defines the bit in the event set associated with event 29. */ #define RTEMS_EVENT_28 0x10000000 +/** This defines the bit in the event set associated with event 29. */ #define RTEMS_EVENT_29 0x20000000 +/** This defines the bit in the event set associated with event 30. */ #define RTEMS_EVENT_30 0x40000000 +/** This defines the bit in the event set associated with event 31. */ #define RTEMS_EVENT_31 0x80000000 - -/* +/** * The following constant is the value of an event set which * has no events pending. */ - #define EVENT_SETS_NONE_PENDING 0 #ifndef __RTEMS_APPLICATION__ @@ -87,5 +121,7 @@ typedef uint32_t rtems_event_set; } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/intr.h b/cpukit/rtems/include/rtems/rtems/intr.h index 281cf8e57b..500040693c 100644 --- a/cpukit/rtems/include/rtems/rtems/intr.h +++ b/cpukit/rtems/include/rtems/rtems/intr.h @@ -1,12 +1,11 @@ /** * @file rtems/rtems/intr.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Interrupt Manager. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -25,138 +24,119 @@ extern "C" { #include -/* - * Interrupt level type +/** + * @defgroup ClassicINTR Classic API Interrupt + * + * This encapsulates functionality which XXX */ +/**@{*/ +/** + * Interrupt level type + */ typedef ISR_Level rtems_interrupt_level; -/* +/** * The following type defines the control block used to manage * the vectors. */ - typedef ISR_Vector_number rtems_vector_number; -/* +/** * Return type for ISR Handler */ - typedef void rtems_isr; -/* +/** * Pointer to an ISR Handler */ - typedef rtems_isr ( *rtems_isr_entry )( rtems_vector_number ); -/* - * _Interrupt_Manager_initialization - * - * DESCRIPTION: +/** + * @brief Interrupt_Manager_initialization * * This routine initializes the interrupt manager. * */ - void _Interrupt_Manager_initialization( void ); -/* - * rtems_interrupt_catch - * - * DESCRIPTION: +/** + * @brief rtems_interrupt_catch * * This routine implements the rtems_interrupt_catch directive. This * directive installs new_isr_handler as the RTEMS interrupt service * routine for vector. The previous RTEMS interrupt service * routine is returned in old_isr_handler. */ - rtems_status_code rtems_interrupt_catch( rtems_isr_entry new_isr_handler, rtems_vector_number vector, rtems_isr_entry *old_isr_handler ); -/* - * rtems_interrupt_disable - * - * DESCRIPTION: +/** + * @brief rtems_interrupt_disable * * This routine disables all maskable interrupts and returns the * previous level in _isr_cookie. */ - #define rtems_interrupt_disable( _isr_cookie ) \ _ISR_Disable(_isr_cookie) -/* - * rtems_interrupt_enable - * - * DESCRIPTION: +/** + * @brief rtems_interrupt_enable * * This routine enables maskable interrupts to the level indicated * _isr_cookie. */ - #define rtems_interrupt_enable( _isr_cookie ) \ _ISR_Enable(_isr_cookie) -/* - * rtems_interrupt_flash - * - * DESCRIPTION: +/** + * @brief rtems_interrupt_flash * * This routine temporarily enables maskable interrupts to the * level in _isr_cookie before redisabling them. */ - #define rtems_interrupt_flash( _isr_cookie ) \ _ISR_Flash(_isr_cookie) -/* - * rtems_interrupt_is_in_progress - * - * DESCRIPTION: +/** + * @brief rtems_interrupt_is_in_progress * * This function returns TRUE if the processor is currently servicing * an interrupt and FALSE otherwise. A return value of TRUE indicates * that the caller is an interrupt service routine, NOT a thread. The * directives available to an interrupt service routine are restricted. */ - #define rtems_interrupt_is_in_progress() \ _ISR_Is_in_progress() -/* - * rtems_interrupt_cause - * - * DESCRIPTION: +/** + * @brief rtems_interrupt_cause * * This routine generates an interrupt. * * NOTE: No implementation. */ - #define rtems_interrupt_cause( _interrupt_to_cause ) -/* - * rtems_interrupt_cause - * - * DESCRIPTION: +/** + * @brief rtems_interrupt_clear * * This routine clears the specified interrupt. * * NOTE: No implementation. */ - #define rtems_interrupt_clear( _interrupt_to_clear ) #ifdef __cplusplus } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/message.h b/cpukit/rtems/include/rtems/rtems/message.h index 9425ddf3af..4cd6b7ba94 100644 --- a/cpukit/rtems/include/rtems/rtems/message.h +++ b/cpukit/rtems/include/rtems/rtems/message.h @@ -1,24 +1,23 @@ /** * @file rtems/rtems/message.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Message Queue Manager. This manager provides a mechanism for * communication and synchronization between tasks using messages. * * Directives provided are: * - * + create a queue - * + get ID of a queue - * + delete a queue - * + put a message at the rear of a queue - * + put a message at the front of a queue - * + broadcast N messages to a queue - * + receive message from a queue - * + flush all messages on a queue - * - * COPYRIGHT (c) 1989-2007. + * - create a queue + * - get ID of a queue + * - delete a queue + * - put a message at the rear of a queue + * - put a message at the front of a queue + * - broadcast N messages to a queue + * - receive message from a queue + * - flush all messages on a queue + */ + +/* COPYRIGHT (c) 1989-2007. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -46,22 +45,27 @@ extern "C" { #include #include +/** + * @defgroup ClassicMessageQueue Classic API Message Queue + * + * This encapsulates functionality which XXX + */ +/**@{*/ + /* * The following enumerated type details the modes in which a message * may be submitted to a message queue. The message may be posted * in a send or urgent fashion. */ - typedef enum { MESSAGE_QUEUE_SEND_REQUEST = 0, MESSAGE_QUEUE_URGENT_REQUEST = 1 } Message_queue_Submit_types; -/* +/** * The following records define the control block used to manage * each message queue. */ - typedef struct { Objects_Control Object; rtems_attribute attribute_set; @@ -72,25 +76,19 @@ typedef struct { * The following defines the information control block used to * manage this class of objects. */ - RTEMS_MESSAGE_EXTERN Objects_Information _Message_queue_Information; -/* - * _Message_queue_Manager_initialization - * - * DESCRIPTION: +/** + * @brief Message_queue_Manager_initialization * * This routine performs the initialization necessary for this manager. */ - void _Message_queue_Manager_initialization( uint32_t maximum_message_queues ); -/* - * rtems_message_queue_create - * - * DESCRIPTION: +/** + * @brief rtems_message_queue_create * * This routine implements the rtems_message_queue_create directive. The * message queue will have the name name. If the attribute_set indicates @@ -99,7 +97,6 @@ void _Message_queue_Manager_initialization( * messages that will be held. It returns the id of the created * message queue in ID. */ - rtems_status_code rtems_message_queue_create( rtems_name name, uint32_t count, @@ -108,10 +105,8 @@ rtems_status_code rtems_message_queue_create( Objects_Id *id ); -/* - * rtems_message_queue_ident - * - * DESCRIPTION: +/** + * @brief rtems_message_queue_ident * * This routine implements the rtems_message_queue_ident directive. * This directive returns the message queue ID associated with NAME. @@ -121,30 +116,24 @@ rtems_status_code rtems_message_queue_create( * The search can be limited to a particular node or allowed to * encompass all nodes. */ - rtems_status_code rtems_message_queue_ident( rtems_name name, uint32_t node, Objects_Id *id ); -/* - * rtems_message_queue_delete - * - * DESCRIPTION: +/** + * @brief rtems_message_queue_delete * * This routine implements the rtems_message_queue_delete directive. The * message queue indicated by ID is deleted. */ - rtems_status_code rtems_message_queue_delete( Objects_Id id ); -/* - * rtems_message_queue_send - * - * DESCRIPTION: +/** + * @brief rtems_message_queue_send * * This routine implements the rtems_message_queue_send directive. * This directive sends the message buffer to the message queue @@ -156,17 +145,14 @@ rtems_status_code rtems_message_queue_delete( * then the message buffer will be placed at the REAR of the * chain of pending messages for this message queue. */ - rtems_status_code rtems_message_queue_send( Objects_Id id, void *buffer, size_t size ); -/* - * rtems_message_queue_urgent - * - * DESCRIPTION: +/** + * @brief rtems_message_queue_urgent * * This routine implements the rtems_message_queue_urgent directive. * This directive has the same behavior as rtems_message_queue_send @@ -174,24 +160,20 @@ rtems_status_code rtems_message_queue_send( * be placed at the FRONT of the chain of pending messages rather * than at the REAR. */ - rtems_status_code rtems_message_queue_urgent( Objects_Id id, void *buffer, size_t size ); -/* - * rtems_message_queue_broadcast - * - * DESCRIPTION: +/** + * @brief rtems_message_queue_broadcast * * This routine implements the rtems_message_queue_broadcast directive. * This directive sends the message buffer to all of the tasks blocked * waiting for a message on the message queue indicated by ID. * If no tasks are waiting, then the message buffer will not be queued. */ - rtems_status_code rtems_message_queue_broadcast( Objects_Id id, void *buffer, @@ -199,10 +181,8 @@ rtems_status_code rtems_message_queue_broadcast( uint32_t *count ); -/* - * rtems_message_queue_receive - * - * DESCRIPTION: +/** + * @brief rtems_message_queue_receive * * This routine implements the rtems_message_queue_receive directive. * This directive is invoked when the calling task wishes to receive @@ -212,7 +192,6 @@ rtems_status_code rtems_message_queue_broadcast( * then the task will be blocked until a message arrives or until, * optionally, timeout clock ticks have passed. */ - rtems_status_code rtems_message_queue_receive( Objects_Id id, void *buffer, @@ -221,43 +200,35 @@ rtems_status_code rtems_message_queue_receive( rtems_interval timeout ); -/* - * rtems_message_queue_flush - * - * DESCRIPTION: +/** + * @brief rtems_message_queue_flush * * This routine implements the rtems_message_queue_flush directive. * This directive takes all outstanding messages for the message * queue indicated by ID and returns them to the inactive message * chain. The number of messages flushed is returned in COUNT. */ - rtems_status_code rtems_message_queue_flush( Objects_Id id, uint32_t *count ); -/* - * rtems_message_queue_get_number_pending - * - * DESCRIPTION: +/** + * @brief rtems_message_queue_get_number_pending * * This routine implements the rtems_message_queue_get_number_pending * directive. This directive returns the number of pending * messages for the message queue indicated by ID * chain. The number of messages pending is returned in COUNT. */ - rtems_status_code rtems_message_queue_get_number_pending( Objects_Id id, uint32_t *count ); -/* - * _Message_queue_Submit - * - * DESCRIPTION: +/** + * @brief Message_queue_Submit * * This routine implements the directives rtems_message_queue_send * and rtems_message_queue_urgent. It processes a message that is @@ -266,7 +237,6 @@ rtems_status_code rtems_message_queue_get_number_pending( * at the rear of the queue or it will be processed as an urgent message * which will be inserted at the front of the queue. */ - rtems_status_code _Message_queue_Submit( Objects_Id id, void *buffer, @@ -274,36 +244,30 @@ rtems_status_code _Message_queue_Submit( Message_queue_Submit_types submit_type ); -/* - * _Message_queue_Allocate - * - * DESCRIPTION: +/** + * @brief Message_queue_Allocate * * This function allocates a message queue control block from * the inactive chain of free message queue control blocks. */ - Message_queue_Control *_Message_queue_Allocate ( uint32_t count, uint32_t max_message_size ); -/* - * _Message_queue_Translate_core_message_queue_return_code - * - * DESCRIPTION: +/** + * @brief Message_queue_Translate_core_message_queue_return_code * * This function returns a RTEMS status code based on the core message queue * status code specified. */ - rtems_status_code _Message_queue_Translate_core_message_queue_return_code ( uint32_t the_message_queue_status ); -/* - * - * _Message_queue_Core_message_queue_mp_support +#if defined(RTEMS_MULTIPROCESSING) +/** + * @brief Message_queue_Core_message_queue_mp_support * * Input parameters: * the_thread - the remote thread the message was submitted to @@ -311,8 +275,6 @@ rtems_status_code _Message_queue_Translate_core_message_queue_return_code ( * * Output parameters: NONE */ - -#if defined(RTEMS_MULTIPROCESSING) void _Message_queue_Core_message_queue_mp_support ( Thread_Control *the_thread, Objects_Id id diff --git a/cpukit/rtems/include/rtems/rtems/modes.h b/cpukit/rtems/include/rtems/rtems/modes.h index 5a6131297c..b2d9ee9fb6 100644 --- a/cpukit/rtems/include/rtems/rtems/modes.h +++ b/cpukit/rtems/include/rtems/rtems/modes.h @@ -1,12 +1,11 @@ /** * @file rtems/rtems/modes.h - */ - -/* + * * This include file contains all constants and structures associated * with the RTEMS thread and RTEMS_ASR modes. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,24 +18,29 @@ #ifndef _RTEMS_RTEMS_MODES_H #define _RTEMS_RTEMS_MODES_H +/** + * @defgroup ClassicModes Classic API Modes + * + * This encapsulates functionality which XXX + */ +/**@{*/ + #ifdef __cplusplus extern "C" { #endif #include -/* +/** * The following type defines the control block used to manage * each a mode set. */ - typedef uint32_t Modes_Control; -/* +/** * The following constants define the individual modes and masks * which may be used to compose a mode set and to alter modes. */ - #define RTEMS_ALL_MODE_MASKS 0x0000ffff #define RTEMS_DEFAULT_MODES 0x00000000 @@ -56,25 +60,21 @@ typedef uint32_t Modes_Control; #define RTEMS_ASR 0x00000000 /* enable RTEMS_ASR */ #define RTEMS_NO_ASR 0x00000400 /* disable RTEMS_ASR */ -/* +/** * The number of bits for interrupt levels is CPU dependent. * RTEMS supports 0 to 256 levels in bits 0-7 of the mode. */ -/*PAGE - * - * RTEMS_INTERRUPT_LEVEL - * - * DESCRIPTION: +/** + * @brief RTEMS_INTERRUPT_LEVEL * * This function returns the processor dependent interrupt * level which corresponds to the requested interrupt level. * - * NOTE: RTEMS supports 256 interrupt levels using the least - * significant eight bits of MODES.CONTROL. On any - * particular CPU, fewer than 256 levels may be supported. + * @note RTEMS supports 256 interrupt levels using the least + * significant eight bits of MODES.CONTROL. On any + * particular CPU, fewer than 256 levels may be supported. */ - #define RTEMS_INTERRUPT_LEVEL( _mode_set ) \ ( (_mode_set) & RTEMS_INTERRUPT_MASK ) diff --git a/cpukit/rtems/include/rtems/rtems/mp.h b/cpukit/rtems/include/rtems/rtems/mp.h index cebdb2a175..3e050d73af 100644 --- a/cpukit/rtems/include/rtems/rtems/mp.h +++ b/cpukit/rtems/include/rtems/rtems/mp.h @@ -1,12 +1,11 @@ /** * @file rtems/rtems/mp.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Multiprocessing Manager. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,37 +18,38 @@ #ifndef _RTEMS_RTEMS_MP_H #define _RTEMS_RTEMS_MP_H +/** + * @defgroup ClassicMP Classic API Multiprocessing + * + * This encapsulates functionality which XXX + */ +/**@{*/ + #ifdef __cplusplus extern "C" { #endif -/* - * - * _Multiprocessing_Manager_initialization - * - * DESCRIPTION: +/** + * @brief Multiprocessing_Manager_initialization * * This routine performs the initialization necessary for this manager. */ - void _Multiprocessing_Manager_initialization ( void ); -/* - * - * rtems_multiprocessing_announce - * - * DESCRIPTION: +/** + * @brief rtems_multiprocessing_announce * * This routine implements the MULTIPROCESSING_ANNOUNCE directive. * It is invoked by the MPCI layer to indicate that an MPCI packet * has been received. */ - void rtems_multiprocessing_announce ( void ); #ifdef __cplusplus } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/msgmp.h b/cpukit/rtems/include/rtems/rtems/msgmp.h index 2b9b41da15..ea9568f639 100644 --- a/cpukit/rtems/include/rtems/rtems/msgmp.h +++ b/cpukit/rtems/include/rtems/rtems/msgmp.h @@ -1,12 +1,11 @@ /** * @file rtems/rtems/msgmp.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Multiprocessing Support in the Message Manager. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -30,11 +29,17 @@ extern "C" { #include #include -/* +/** + * @defgroup ClassicMsgMP Classic API Message Queue MP Support + * + * This encapsulates functionality which XXX + */ +/**{*/ + +/** * The following enumerated type defines the list of * remote message queue operations. */ - typedef enum { MESSAGE_QUEUE_MP_ANNOUNCE_CREATE = 0, MESSAGE_QUEUE_MP_ANNOUNCE_DELETE = 1, @@ -53,11 +58,10 @@ typedef enum { MESSAGE_QUEUE_MP_GET_NUMBER_PENDING_RESPONSE = 14 } Message_queue_MP_Remote_operations; -/* +/** * The following data structure defines the packet used to perform * remote message queue operations. */ - typedef struct { rtems_packet_prefix Prefix; Message_queue_MP_Remote_operations operation; @@ -70,15 +74,12 @@ typedef struct { CORE_message_queue_Buffer Buffer; } Message_queue_MP_Packet; -/* - * _Message_queue_MP_Send_process_packet - * - * DESCRIPTION: +/** + * @brief _Message_queue_MP_Send_process_packet * * This routine performs a remote procedure call so that a * process operation can be performed on another node. */ - void _Message_queue_MP_Send_process_packet ( Message_queue_MP_Remote_operations operation, Objects_Id message_queue_id, @@ -86,15 +87,12 @@ void _Message_queue_MP_Send_process_packet ( Objects_Id proxy_id ); -/* - * _Message_queue_MP_Send_request_packet - * - * DESCRIPTION: +/** + * @brief _Message_queue_MP_Send_request_packet * * This routine performs a remote procedure call so that a * directive operation can be initiated on another node. */ - rtems_status_code _Message_queue_MP_Send_request_packet ( Message_queue_MP_Remote_operations operation, Objects_Id message_queue_id, @@ -104,76 +102,63 @@ rtems_status_code _Message_queue_MP_Send_request_packet ( Watchdog_Interval timeout ); -/* - * _Message_queue_MP_Send_response_packet - * - * DESCRIPTION: +/** + * @brief _Message_queue_MP_Send_response_packet * * This routine performs a remote procedure call so that a * directive can be performed on another node. */ - void _Message_queue_MP_Send_response_packet ( Message_queue_MP_Remote_operations operation, Objects_Id message_queue_id, Thread_Control *the_thread ); -/* - * - * _Message_queue_MP_Process_packet +/** * - * DESCRIPTION: + @brief * _Message_queue_MP_Process_packet * * This routine performs the actions specific to this package for * the request from another node. */ - void _Message_queue_MP_Process_packet ( rtems_packet_prefix *the_packet_prefix ); -/* - * _Message_queue_MP_Send_object_was_deleted - * - * DESCRIPTION: +/** + * @brief _Message_queue_MP_Send_object_was_deleted * * This routine is invoked indirectly by the thread queue * when a proxy has been removed from the thread queue and * the remote node must be informed of this. */ - void _Message_queue_MP_Send_object_was_deleted ( Thread_Control *the_proxy ); -/* - * _Message_queue_MP_Send_extract_proxy - * - * DESCRIPTION: +/** + * @brief _Message_queue_MP_Send_extract_proxy * * This routine is invoked when a task is deleted and it * has a proxy which must be removed from a thread queue and * the remote node must be informed of this. */ - void _Message_queue_MP_Send_extract_proxy ( void *argument ); -/* - * _Message_queue_MP_Get_packet - * - * DESCRIPTION: +/** + * @brief _Message_queue_MP_Get_packet * * This function is used to obtain a message queue mp packet. */ - Message_queue_MP_Packet *_Message_queue_MP_Get_packet ( void ); #ifdef __cplusplus } #endif +/**@}*/ + #endif /* end of file */ diff --git a/cpukit/rtems/include/rtems/rtems/object.h b/cpukit/rtems/include/rtems/rtems/object.h index bb989df22c..367e5ef224 100644 --- a/cpukit/rtems/include/rtems/rtems/object.h +++ b/cpukit/rtems/include/rtems/rtems/object.h @@ -1,9 +1,8 @@ /** - * @file rtems/classinfo.h + * @file rtems/rtems/object.h */ - -/* - * COPYRIGHT (c) 1989-2008. + +/* COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -25,6 +24,13 @@ extern "C" { #include #include +/** + * @defgroup ClassicClassInfo Classic API Class Information + * + * This encapsulates functionality which XXX + */ +/**@{*/ + /** * This structure is used to return information to the application * about the objects configured for a specific API/Class combination. @@ -325,5 +331,7 @@ rtems_status_code rtems_object_get_class_information( } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/options.h b/cpukit/rtems/include/rtems/rtems/options.h index 70f17d700c..a0f5c444d6 100644 --- a/cpukit/rtems/include/rtems/rtems/options.h +++ b/cpukit/rtems/include/rtems/rtems/options.h @@ -1,12 +1,11 @@ /** * @file rtems/rtems/options.h - */ - -/* + * * This include file contains information which defines the * options available on many directives. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -23,18 +22,23 @@ extern "C" { #endif -/* +/** + * @defgroup ClassicOptions Classic API Options + * + * This encapsulates functionality which XXX + */ +/**@{*/ + +/** * The following type defines the control block used to manage * option sets. */ - typedef uint32_t rtems_option; -/* +/** * The following constants define the individual options which may * be used to compose an option set. */ - #define RTEMS_DEFAULT_OPTIONS 0x00000000 #define RTEMS_WAIT 0x00000000 /* wait on resource */ diff --git a/cpukit/rtems/include/rtems/rtems/part.h b/cpukit/rtems/include/rtems/rtems/part.h index 0e2eb496c4..fda28714c7 100644 --- a/cpukit/rtems/include/rtems/rtems/part.h +++ b/cpukit/rtems/include/rtems/rtems/part.h @@ -1,8 +1,6 @@ /** * @file rtems/rtems/part.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Partition Manager. This manager provides facilities to * dynamically allocate memory in fixed-sized units which are returned @@ -10,13 +8,14 @@ * * Directives provided are: * - * + create a partition - * + get an ID of a partition - * + delete a partition - * + get a buffer from a partition - * + return a buffer to a partition - * - * COPYRIGHT (c) 1989-2007. + * - create a partition + * - get an ID of a partition + * - delete a partition + * - get a buffer from a partition + * - return a buffer to a partition + */ + +/* COPYRIGHT (c) 1989-2007. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -44,10 +43,16 @@ extern "C" { #include #include -/* - * The following defines the control block used to manage each partition. +/** + * @defgroup ClassicPart Classic API Partition + * + * This encapsulates functionality which XXX */ +/**@{*/ +/** + * The following defines the control block used to manage each partition. + */ typedef struct { Objects_Control Object; void *starting_address; /* physical address */ @@ -58,29 +63,23 @@ typedef struct { Chain_Control Memory; /* buffer chain */ } Partition_Control; -/* +/** * The following defines the information control block used to * manage this class of objects. */ - RTEMS_PART_EXTERN Objects_Information _Partition_Information; -/* - * _Partition_Manager_initialization - * - * DESCRIPTION: +/** + * @brief Partition_Manager_initialization * * This routine performs the initialization necessary for this manager. */ - void _Partition_Manager_initialization( uint32_t maximum_partitions ); -/* - * rtems_partition_create - * - * DESCRIPTION: +/** + * @brief rtems_partition_create * * This routine implements the rtems_partition_create directive. The * partition will have the name name. The memory area managed by @@ -90,7 +89,6 @@ void _Partition_Manager_initialization( * the partition is global or local. It returns the id of the * created partition in ID. */ - rtems_status_code rtems_partition_create( rtems_name name, void *starting_address, @@ -100,10 +98,8 @@ rtems_status_code rtems_partition_create( Objects_Id *id ); -/* - * rtems_partition_ident - * - * DESCRIPTION: +/** + * @brief rtems_partition_ident * * This routine implements the rtems_partition_ident directive. * This directive returns the partition ID associated with name. @@ -113,51 +109,41 @@ rtems_status_code rtems_partition_create( * The search can be limited to a particular node or allowed to * encompass all nodes. */ - rtems_status_code rtems_partition_ident( rtems_name name, uint32_t node, Objects_Id *id ); -/* - * rtems_partition_delete - * - * DESCRIPTION: +/** + * @brief rtems_partition_delete * * This routine implements the rtems_partition_delete directive. The * partition indicated by ID is deleted. */ - rtems_status_code rtems_partition_delete( Objects_Id id ); -/* - * rtems_partition_get_buffer - * - * DESCRIPTION: +/** + * @brief rtems_partition_get_buffer * * This routine implements the rtems_partition_get_buffer directive. It * attempts to allocate a buffer from the partition associated with ID. * If a buffer is allocated, its address is returned in buffer. */ - rtems_status_code rtems_partition_get_buffer( Objects_Id id, void **buffer ); -/* - * rtems_partition_return_buffer - * - * DESCRIPTION: +/** + * @brief rtems_partition_return_buffer * * This routine implements the rtems_partition_return_buffer directive. It * frees the buffer to the partition associated with ID. The buffer must * have been previously allocated from the same partition. */ - rtems_status_code rtems_partition_return_buffer( Objects_Id id, void *buffer @@ -174,5 +160,7 @@ rtems_status_code rtems_partition_return_buffer( } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/partmp.h b/cpukit/rtems/include/rtems/rtems/partmp.h index 9369dc286c..9401e19b1a 100644 --- a/cpukit/rtems/include/rtems/rtems/partmp.h +++ b/cpukit/rtems/include/rtems/rtems/partmp.h @@ -1,12 +1,11 @@ /** * @file rtems/rtems/partmp.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Multiprocessing Support in the Partition Manager. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -30,11 +29,17 @@ extern "C" { #include -/* +/** + * @defgroup ClassicPartMP Classic API Partition MP Support + * + * This encapsulates functionality which XXX + */ +/**{*/ + +/** * The following enumerated type defines the list of * remote partition operations. */ - typedef enum { PARTITION_MP_ANNOUNCE_CREATE = 0, PARTITION_MP_ANNOUNCE_DELETE = 1, @@ -45,11 +50,10 @@ typedef enum { PARTITION_MP_RETURN_BUFFER_RESPONSE = 6 } Partition_MP_Remote_operations; -/* +/** * The following data structure defines the packet used to perform * remote partition operations. */ - typedef struct { rtems_packet_prefix Prefix; Partition_MP_Remote_operations operation; @@ -58,15 +62,12 @@ typedef struct { Objects_Id proxy_id; } Partition_MP_Packet; -/* - * _Partition_MP_Send_process_packet - * - * DESCRIPTION: +/** + * @brief Partition_MP_Send_process_packet * * This routine performs a remote procedure call so that a * process operation can be performed on another node. */ - void _Partition_MP_Send_process_packet ( Partition_MP_Remote_operations operation, Objects_Id partition_id, @@ -74,54 +75,43 @@ void _Partition_MP_Send_process_packet ( Objects_Id proxy_id ); -/* - * _Partition_MP_Send_request_packet - * - * DESCRIPTION: +/** + * @brief Partition_MP_Send_request_packet * * This routine performs a remote procedure call so that a * directive operation can be initiated on another node. */ - rtems_status_code _Partition_MP_Send_request_packet ( Partition_MP_Remote_operations operation, Objects_Id partition_id, void *buffer ); -/* - * _Partition_MP_Send_response_packet - * - * DESCRIPTION: +/** + * @brief Partition_MP_Send_response_packet * * This routine performs a remote procedure call so that a * directive can be performed on another node. */ - void _Partition_MP_Send_response_packet ( Partition_MP_Remote_operations operation, Objects_Id partition_id, Thread_Control *the_thread ); -/* - * - * _Partition_MP_Process_packet +/** * - * DESCRIPTION: + * @brief Partition_MP_Process_packet * * This routine performs the actions specific to this package for * the request from another node. */ - void _Partition_MP_Process_packet ( rtems_packet_prefix *the_packet_prefix ); -/* - * _Partition_MP_Send_object_was_deleted - * - * DESCRIPTION: +/** + * @brief Partition_MP_Send_object_was_deleted * * This routine is invoked indirectly by the thread queue * when a proxy has been removed from the thread queue and @@ -130,34 +120,31 @@ void _Partition_MP_Process_packet ( * This routine is not needed by the Partition since a partition * cannot be deleted when buffers are in use. */ +#warning "Why is there no prototype for Partition_MP_Send_object_was_deleted" -/* - * _Partition_MP_Send_extract_proxy - * - * DESCRIPTION: +/** + * @brief Partition_MP_Send_extract_proxy * * This routine is invoked when a task is deleted and it * has a proxy which must be removed from a thread queue and * the remote node must be informed of this. */ - void _Partition_MP_Send_extract_proxy ( void *argument ); -/* - * _Partition_MP_Get_packet - * - * DESCRIPTION: +/** + * @brief Partition_MP_Get_packet * * This function is used to obtain a partition mp packet. */ - Partition_MP_Packet *_Partition_MP_Get_packet ( void ); #ifdef __cplusplus } #endif +/**@}*/ + #endif /* end of file */ diff --git a/cpukit/rtems/include/rtems/rtems/ratemon.h b/cpukit/rtems/include/rtems/rtems/ratemon.h index 8645dec4a9..622b1c3e1a 100644 --- a/cpukit/rtems/include/rtems/rtems/ratemon.h +++ b/cpukit/rtems/include/rtems/rtems/ratemon.h @@ -1,21 +1,20 @@ /** * @file rtems/rtems/ratemon.h - */ - -/* + * * This include file contains all the constants, structures, and * prototypes associated with the Rate Monotonic Manager. This manager * provides facilities to implement tasks which execute in a periodic fashion. * * Directives provided are: * - * + create a rate monotonic timer - * + cancel a period - * + delete a rate monotonic timer - * + conclude current and start the next period - * + obtain status information on a period - * - * COPYRIGHT (c) 1989-2007. + * - create a rate monotonic timer + * - cancel a period + * - delete a rate monotonic timer + * - conclude current and start the next period + * - obtain status information on a period + */ + +/* COPYRIGHT (c) 1989-2007. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -34,6 +33,13 @@ #include +/** + * @defgroup ClassicRateMon Classic API Rate Monotonic + * + * This encapsulates functionality which XXX + */ +/**@{*/ + #ifdef __cplusplus extern "C" { #endif @@ -43,7 +49,7 @@ extern "C" { * resolution. */ #ifndef __RTEMS_USE_TICKS_RATE_MONOTONIC_STATISTICS__ - /* + /** * Enable the nanosecond accurate statistics * * When not defined, the older style tick accurate granularity @@ -60,11 +66,10 @@ extern "C" { #include -/* +/** * The following enumerated type defines the states in which a * period may be. */ - typedef enum { RATE_MONOTONIC_INACTIVE, /* off chain, never initialized */ RATE_MONOTONIC_OWNER_IS_BLOCKING, /* on chain, owner is blocking on it */ @@ -75,17 +80,15 @@ typedef enum { /* rtems_rate_monotonic_period */ } rtems_rate_monotonic_period_states; -/* +/** * The following constant is the interval passed to the rate_monontonic_period * directive to obtain status information. */ - #define RTEMS_PERIOD_STATUS WATCHDOG_NO_TIMEOUT -/* +/** * The following defines the statistics kept on each period instance. */ - typedef struct { uint32_t count; uint32_t missed_count; @@ -109,10 +112,9 @@ typedef struct { #endif } rtems_rate_monotonic_period_statistics; -/* +/** * The following defines the period status structure. */ - typedef struct { Objects_Id owner; rtems_rate_monotonic_period_states state; @@ -128,11 +130,10 @@ typedef struct { #endif } rtems_rate_monotonic_period_status; -/* +/** * The following structure defines the control block used to manage * each period. */ - typedef struct { Objects_Control Object; Watchdog_Control Timer; @@ -154,109 +155,86 @@ typedef struct { RTEMS_RATEMON_EXTERN Objects_Information _Rate_monotonic_Information; -/* +/** * _Rate_monotonic_Manager_initialization * - * DESCRIPTION: - * * This routine performs the initialization necessary for this manager. */ - void _Rate_monotonic_Manager_initialization( uint32_t maximum_periods ); -/* - * rtems_rate_monotonic_create - * - * DESCRIPTION: +/** + * @brief rtems_rate_monotonic_create * * This routine implements the rate_monotonic_create directive. The * period will have the name name. It returns the id of the * created period in ID. */ - rtems_status_code rtems_rate_monotonic_create( rtems_name name, Objects_Id *id ); -/* - * rtems_rate_monotonic_ident - * - * DESCRIPTION: +/** + * @brief rtems_rate_monotonic_ident * * This routine implements the rtems_rate_monotonic_ident directive. * This directive returns the period ID associated with name. * If more than one period is named name, then the period * to which the ID belongs is arbitrary. */ - rtems_status_code rtems_rate_monotonic_ident( rtems_name name, Objects_Id *id ); -/* - * rtems_rate_monotonic_cancel - * - * DESCRIPTION: +/** + * @brief rtems_rate_monotonic_cancel * * This routine implements the rtems_rate_monotonic_cancel directive. This * directive stops the period associated with ID from continuing to * run. */ - rtems_status_code rtems_rate_monotonic_cancel( Objects_Id id ); -/* - * rtems_rate_monotonic_delete - * - * DESCRIPTION: +/** + * @brief rtems_rate_monotonic_delete * * This routine implements the rtems_rate_monotonic_delete directive. The * period indicated by ID is deleted. */ - rtems_status_code rtems_rate_monotonic_delete( Objects_Id id ); -/* - * rtems_rate_monotonic_get_status - * - * DESCRIPTION: +/** + * @brief rtems_rate_monotonic_get_status * * This routine implements the rtems_rate_monotonic_get_status directive. * Information about the period indicated by ID is returned. * */ - rtems_status_code rtems_rate_monotonic_get_status( Objects_Id id, rtems_rate_monotonic_period_status *status ); -/* - * rtems_rate_monotonic_get_statistics - * - * DESCRIPTION: +/** + * @brief rtems_rate_monotonic_get_statistics * * This routine implements the rtems_rate_monotonic_get_statistics directive. * Statistics gathered from the use of this period are returned. */ - rtems_status_code rtems_rate_monotonic_get_statistics( Objects_Id id, rtems_rate_monotonic_period_statistics *statistics ); -/* - * rtems_rate_monotonic_reset_statistics - * - * DESCRIPTION: +/** + * @brief rtems_rate_monotonic_reset_statistics * * This directive allows a thread to reset the statistics information * on a specific period instance. @@ -265,20 +243,16 @@ rtems_status_code rtems_rate_monotonic_reset_statistics( Objects_Id id ); -/* - * rtems_rate_monotonic_reset_all_statistics - * - * DESCRIPTION: +/** + * @brief rtems_rate_monotonic_reset_all_statistics * * This directive allows a thread to reset the statistics information * on ALL period instances. */ void rtems_rate_monotonic_reset_all_statistics( void ); -/* - * rtems_rate_monotonic_report_statistics - * - * DESCRIPTION: +/** + * @brief rtems_rate_monotonic_report_statistics * * This directive allows a thread to print the statistics information * on ALL period instances which have non-zero counts using printk. @@ -288,36 +262,29 @@ void rtems_rate_monotonic_report_statistics_with_plugin( rtems_printk_plugin_t print ); -/* - * rtems_rate_monotonic_report_statistics - * - * DESCRIPTION: +/** + * @brief rtems_rate_monotonic_report_statistics * * This directive allows a thread to print the statistics information * on ALL period instances which have non-zero counts using printk. */ void rtems_rate_monotonic_report_statistics( void ); -/* - * rtems_rate_monotonic_period - * - * DESCRIPTION: +/** + * @brief rtems_rate_monotonic_period * * This routine implements the rtems_rate_monotonic_period directive. When * length is non-zero, this directive initiates the period associated with * ID from continuing for a period of length. If length is zero, then * result is set to indicate the current state of the period. */ - rtems_status_code rtems_rate_monotonic_period( Objects_Id id, rtems_interval length ); -/* - * _Rate_monotonic_Timeout - * - * DESCRIPTION: +/** + * @brief _Rate_monotonic_Timeout * * This routine is invoked when the period represented * by ID expires. If the task which owns this period is blocked @@ -326,20 +293,16 @@ rtems_status_code rtems_rate_monotonic_period( * period to expire, then the period is placed in the EXPIRED * state and not restarted. */ - void _Rate_monotonic_Timeout( Objects_Id id, void *ignored ); -/* - * _Rate_monotonic_Reset_statistics - * - * DESCRIPTION: +/** + * @brief _Rate_monotonic_Reset_statistics * * This method resets the statistics information for a period instance. */ - #ifdef RTEMS_ENABLE_NANOSECOND_RATE_MONOTONIC_STATISTICS #define _Rate_monotonic_Reset_wall_time_statistics( _the_period ) \ do { \ @@ -381,5 +344,7 @@ void _Rate_monotonic_Timeout( } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/region.h b/cpukit/rtems/include/rtems/rtems/region.h index 78cd7796a9..aff2648265 100644 --- a/cpukit/rtems/include/rtems/rtems/region.h +++ b/cpukit/rtems/include/rtems/rtems/region.h @@ -1,21 +1,20 @@ /** * @file rtems/rtems/region.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Region Manager. This manager provides facilities to dynamically * allocate memory in variable sized units which are returned as segments. * * Directives provided are: * - * + create a region - * + get an ID of a region - * + delete a region - * + get a segment from a region - * + return a segment to a region - * - * COPYRIGHT (c) 1989-2007. + * - create a region + * - get an ID of a region + * - delete a region + * - get a segment from a region + * - return a segment to a region + */ + +/* COPYRIGHT (c) 1989-2007. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -28,14 +27,6 @@ #ifndef _RTEMS_RTEMS_REGION_H #define _RTEMS_RTEMS_REGION_H -#ifndef RTEMS_REGION_EXTERN -#define RTEMS_REGION_EXTERN extern -#endif - -#ifdef __cplusplus -extern "C" { -#endif - #include #include @@ -48,7 +39,22 @@ extern "C" { #include #include -/* +/** + * @defgroup ClassicRegion Classic API Region + * + * This encapsulates functionality which XXX + */ +/**@{*/ + +#ifndef RTEMS_REGION_EXTERN +#define RTEMS_REGION_EXTERN extern +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/** * The following records define the control block used to manage * each region. */ @@ -65,29 +71,23 @@ typedef struct { Heap_Control Memory; } Region_Control; -/* +/** * The following defines the information control block used to * manage this class of objects. */ - RTEMS_REGION_EXTERN Objects_Information _Region_Information; -/* - * _Region_Manager_initialization - * - * DESCRIPTION: +/** + * @brief _Region_Manager_initialization * * This routine performs the initialization necessary for this manager. */ - void _Region_Manager_initialization( uint32_t maximum_regions ); -/* - * rtems_region_create - * - * DESCRIPTION: +/** + * @brief rtems_region_create * * This routine implements the rtems_region_create directive. The * region will have the name name. The memory area managed by @@ -97,7 +97,6 @@ void _Region_Manager_initialization( * thread queue discipline is used by the region. It returns the * id of the created region in ID. */ - rtems_status_code rtems_region_create( rtems_name name, void *starting_address, @@ -107,86 +106,69 @@ rtems_status_code rtems_region_create( Objects_Id *id ); -/* - * rtems_region_extend - * - * DESCRIPTION: +/** + * @brief rtems_region_extend * * This routine implements the rtems_region_extend directive. The * region will have the name name. The memory area managed by * the region will be attempted to be grown by length bytes using * the memory starting at starting_address. */ - rtems_status_code rtems_region_extend( Objects_Id id, void *starting_address, uint32_t length ); -/* - * rtems_region_ident - * - * DESCRIPTION: +/** + * @brief rtems_region_ident * * This routine implements the rtems_region_ident directive. * This directive returns the region ID associated with name. * If more than one region is named name, then the region * to which the ID belongs is arbitrary. */ - rtems_status_code rtems_region_ident( rtems_name name, Objects_Id *id ); -/* - * rtems_region_get_information - * - * DESCRIPTION: +/** + * @brief rtems_region_get_information * * This routine implements the rtems_region_get_information directive. * This directive returns information about the heap associated with * this region. */ - rtems_status_code rtems_region_get_information( Objects_Id id, Heap_Information_block *the_info ); -/* - * rtems_region_get_free_information - * - * DESCRIPTION: +/** + * @brief rtems_region_get_free_information * * This routine implements the rtems_region_get_free_information directive. * This directive returns information about the free blocks in the * heap associated with this region. */ - rtems_status_code rtems_region_get_free_information( Objects_Id id, Heap_Information_block *the_info ); -/* - * rtems_region_delete - * - * DESCRIPTION: +/** + * @brief rtems_region_delete * * This routine implements the rtems_region_delete directive. The * region indicated by ID is deleted. */ - rtems_status_code rtems_region_delete( Objects_Id id ); -/* - * rtems_region_get_segment - * - * DESCRIPTION: +/** + * @brief rtems_region_get_segment * * This routine implements the rtems_region_get_segment directive. It * attempts to allocate a segment from the region associated with ID. @@ -196,7 +178,6 @@ rtems_status_code rtems_region_delete( * timeout of timeout clock ticks. Whether the task blocks or returns * immediately is based on the no_wait option in the option_set. */ - rtems_status_code rtems_region_get_segment( Objects_Id id, uint32_t size, @@ -205,25 +186,20 @@ rtems_status_code rtems_region_get_segment( void **segment ); -/* - * rtems_region_get_segment_size - * - * DESCRIPTION: +/** + * @brief rtems_region_get_segment_size * * This routine implements the rtems_region_get_segment_size directive. It * returns the size in bytes of the specified user memory area. */ - rtems_status_code rtems_region_get_segment_size( Objects_Id id, void *segment, size_t *size ); -/* - * rtems_region_return_segment - * - * DESCRIPTION: +/** + * @brief rtems_region_return_segment * * This routine implements the rtems_region_return_segment directive. It * frees the segment to the region associated with ID. The segment must @@ -233,16 +209,13 @@ rtems_status_code rtems_region_get_segment_size( * many subsequent tasks as possible will be unblocked with their requests * satisfied. */ - rtems_status_code rtems_region_return_segment( Objects_Id id, void *segment ); -/* - * rtems_region_resize_segment - * - * DESCRIPTION: +/** + * @brief rtems_region_resize_segment * * This routine implements the rtems_region_resize_segment directive. It * tries to resize segment in the region associated with 'id' to the new size @@ -261,7 +234,6 @@ rtems_status_code rtems_region_return_segment( * 'old_size' the old size in bytes of the user memory area of the specified * segment. */ - rtems_status_code rtems_region_resize_segment( Objects_Id id, void *segment, @@ -271,21 +243,27 @@ rtems_status_code rtems_region_resize_segment( #ifndef __RTEMS_APPLICATION__ #include +/** + * @brief Region_Process_queue + * + * This is a helper routine which is invoked any time memory is + * freed. It looks at the set of waiting tasks and attempts to + * satisfy all outstanding requests. + */ extern void _Region_Process_queue(Region_Control *the_region); + #endif + #if defined(RTEMS_MULTIPROCESSING) #include #endif -/* - * _Region_Debug_Walk - * - * DESCRIPTION: +/** + * @brief _Region_Debug_Walk * * This routine is invoked to verify the integrity of a heap associated * with the_region. */ - #ifdef RTEMS_DEBUG #define _Region_Debug_Walk( _the_region, _source ) \ @@ -304,5 +282,7 @@ extern void _Region_Process_queue(Region_Control *the_region); } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/regionmp.h b/cpukit/rtems/include/rtems/rtems/regionmp.h index 2b0eeac29a..5c4a61cd04 100644 --- a/cpukit/rtems/include/rtems/rtems/regionmp.h +++ b/cpukit/rtems/include/rtems/rtems/regionmp.h @@ -1,12 +1,11 @@ /** * @file rtems/rtems/regionmp.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Multiprocessing Support in the Region Manager. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -30,11 +29,17 @@ extern "C" { #include #include -/* +/** + * @defgroup ClassicRegionMP Classic API Region MP Support + * + * This encapsulates functionality which XXX + */ +/**@{*/ + +/** * The following enumerated type defines the list of * remote region operations. */ - typedef enum { REGION_MP_ANNOUNCE_CREATE = 0, REGION_MP_ANNOUNCE_DELETE = 1, @@ -45,11 +50,10 @@ typedef enum { REGION_MP_RETURN_SEGMENT_RESPONSE = 6 } Region_MP_Remote_operations; -/* +/** * The following data structure defines the packet used to perform * remote region operations. */ - typedef struct { rtems_packet_prefix Prefix; Region_MP_Remote_operations operation; @@ -60,15 +64,12 @@ typedef struct { void *segment; } Region_MP_Packet; -/* - * _Region_MP_Send_process_packet - * - * DESCRIPTION: +/** + * @brief _Region_MP_Send_process_packet * * This routine performs a remote procedure call so that a * process operation can be performed on another node. */ - void _Region_MP_Send_process_packet ( Region_MP_Remote_operations operation, Objects_Id region_id, @@ -76,15 +77,12 @@ void _Region_MP_Send_process_packet ( Objects_Id proxy_id ); -/* - * _Region_MP_Send_request_packet - * - * DESCRIPTION: +/** + * @brief _Region_MP_Send_request_packet * * This routine performs a remote procedure call so that a * directive operation can be initiated on another node. */ - rtems_status_code _Region_MP_Send_request_packet ( Region_MP_Remote_operations operation, Objects_Id region_id, @@ -94,39 +92,30 @@ rtems_status_code _Region_MP_Send_request_packet ( rtems_interval timeout ); -/* - * _Region_MP_Send_response_packet - * - * DESCRIPTION: +/** + * @brief _Region_MP_Send_response_packet * * This routine performs a remote procedure call so that a * directive can be performed on another node. */ - void _Region_MP_Send_response_packet ( Region_MP_Remote_operations operation, Objects_Id region_id, Thread_Control *the_thread ); -/* - * - * _Region_MP_Process_packet - * - * DESCRIPTION: +/** + * @brief _Region_MP_Process_packet * * This routine performs the actions specific to this package for * the request from another node. */ - void _Region_MP_Process_packet ( rtems_packet_prefix *the_packet_prefix ); /* - * _Region_MP_Send_object_was_deleted - * - * DESCRIPTION: + * @brief _Region_MP_Send_object_was_deleted * * This routine is invoked indirectly by the thread queue * when a proxy has been removed from the thread queue and @@ -136,33 +125,29 @@ void _Region_MP_Process_packet ( * cannot be deleted when segments are in use. */ -/* - * _Region_MP_Send_extract_proxy - * - * DESCRIPTION: +/** + * @brief _Region_MP_Send_extract_proxy * * This routine is invoked when a task is deleted and it * has a proxy which must be removed from a thread queue and * the remote node must be informed of this. */ - void _Region_MP_Send_extract_proxy ( void *argument ); -/* - * _Region_MP_Get_packet - * - * DESCRIPTION: +/** + * @brief _Region_MP_Get_packet * * This function is used to obtain a region mp packet. */ - Region_MP_Packet *_Region_MP_Get_packet ( void ); #ifdef __cplusplus } #endif +/**@}*/ + #endif /* end of file */ diff --git a/cpukit/rtems/include/rtems/rtems/rtemsapi.h b/cpukit/rtems/include/rtems/rtems/rtemsapi.h index d1c2a0538c..b89f90e96f 100644 --- a/cpukit/rtems/include/rtems/rtems/rtemsapi.h +++ b/cpukit/rtems/include/rtems/rtems/rtemsapi.h @@ -1,11 +1,10 @@ /** * @file rtems/rtems/rtemsapi.h + * + * RTEMS API Support */ -/* - * RTEMS API Support - * - * COPYRIGHT (c) 1989-1999. +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -20,18 +19,25 @@ #include -/*PAGE +/** + * @defgroup ClassicRTEMS Classic RTEMS Support * + * This encapsulates functionality which XXX + */ +/**@{*/ + +/** * _RTEMS_API_Initialize * * This routine initializes the RTEMS API by invoking the initialization * routine for each RTEMS manager with the appropriate parameters * from the configuration_table. */ - void _RTEMS_API_Initialize( rtems_configuration_table *configuration_table ); +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/sem.h b/cpukit/rtems/include/rtems/rtems/sem.h index a5cb09f3fd..9b64e9a810 100644 --- a/cpukit/rtems/include/rtems/rtems/sem.h +++ b/cpukit/rtems/include/rtems/rtems/sem.h @@ -1,8 +1,6 @@ /** * @file rtems/rtems/sem.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Semaphore Manager. This manager utilizes standard Dijkstra * counting semaphores to provide synchronization and mutual exclusion @@ -10,13 +8,14 @@ * * Directives provided are: * - * + create a semaphore - * + get an ID of a semaphore - * + delete a semaphore - * + acquire a semaphore - * + release a semaphore - * - * COPYRIGHT (c) 1989-2007. + * - create a semaphore + * - get an ID of a semaphore + * - delete a semaphore + * - acquire a semaphore + * - release a semaphore + */ + +/* COPYRIGHT (c) 1989-2007. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -45,10 +44,16 @@ extern "C" { #include #include -/* - * The following defines the control block used to manage each semaphore. +/** + * @defgroup ClassicSem Classic API Semaphore + * + * This encapsulates functionality which XXX */ +/**@{*/ +/** + * The following defines the control block used to manage each semaphore. + */ typedef struct { Objects_Control Object; rtems_attribute attribute_set; @@ -58,29 +63,23 @@ typedef struct { } Core_control; } Semaphore_Control; -/* +/** * The following defines the information control block used to manage * this class of objects. */ - RTEMS_SEM_EXTERN Objects_Information _Semaphore_Information; -/* - * _Semaphore_Manager_initialization - * - * DESCRIPTION: +/** + * @brief Semaphore_Manager_initialization * * This routine performs the initialization necessary for this manager. */ - void _Semaphore_Manager_initialization( uint32_t maximum_semaphores ); -/* - * rtems_semaphore_create - * - * DESCRIPTION: +/** + * @brief rtems_semaphore_create * * This routine implements the rtems_semaphore_create directive. The * semaphore will have the name name. The starting count for @@ -88,7 +87,6 @@ void _Semaphore_Manager_initialization( * the semaphore is global or local and the thread queue * discipline. It returns the id of the created semaphore in ID. */ - rtems_status_code rtems_semaphore_create( rtems_name name, uint32_t count, @@ -97,10 +95,8 @@ rtems_status_code rtems_semaphore_create( rtems_id *id ); -/* - * rtems_semaphore_ident - * - * DESCRIPTION: +/** + * @brief rtems_semaphore_ident * * This routine implements the rtems_semaphore_ident directive. * This directive returns the semaphore ID associated with name. @@ -110,30 +106,24 @@ rtems_status_code rtems_semaphore_create( * The search can be limited to a particular node or allowed to * encompass all nodes. */ - rtems_status_code rtems_semaphore_ident( rtems_name name, uint32_t node, rtems_id *id ); -/* - * rtems_semaphore_delete - * - * DESCRIPTION: +/** + * @brief rtems_semaphore_delete * * This routine implements the rtems_semaphore_delete directive. The * semaphore indicated by ID is deleted. */ - rtems_status_code rtems_semaphore_delete( rtems_id id ); -/* - * rtems_semaphore_obtain - * - * DESCRIPTION: +/** + * @brief rtems_semaphore_obtain * * This routine implements the rtems_semaphore_obtain directive. It * attempts to obtain a unit from the semaphore associated with ID. @@ -143,17 +133,14 @@ rtems_status_code rtems_semaphore_delete( * clock ticks. Whether the task blocks or returns immediately * is based on the RTEMS_NO_WAIT option in the option_set. */ - rtems_status_code rtems_semaphore_obtain( rtems_id id, uint32_t option_set, rtems_interval timeout ); -/* - * rtems_semaphore_release - * - * DESCRIPTION: +/** + * @brief rtems_semaphore_release * * This routine implements the rtems_semaphore_release directive. It * frees a unit to the semaphore associated with ID. If a task was @@ -161,112 +148,51 @@ rtems_status_code rtems_semaphore_obtain( * be readied and the unit given to that task. Otherwise, the unit * will be returned to the semaphore. */ - rtems_status_code rtems_semaphore_release( rtems_id id ); -/* - * rtems_semaphore_flush - * - * This directive allows a thread to flush the threads +/** + * @brief rtems_semaphore_flush * pending on the semaphore. */ - rtems_status_code rtems_semaphore_flush( rtems_id id ); -/* - * _Semaphore_Seize - * - * DESCRIPTION: +/** + * @brief _Semaphore_Seize * * This routine attempts to receive a unit from the_semaphore. * If a unit is available or if the RTEMS_NO_WAIT option is enabled in * option_set, then the routine returns. Otherwise, the calling task * is blocked until a unit becomes available. */ - boolean _Semaphore_Seize( Semaphore_Control *the_semaphore, uint32_t option_set ); -/* - * _Semaphore_Translate_core_mutex_return_code - * - * DESCRIPTION: +/** + * @brief _Semaphore_Translate_core_mutex_return_code * * This function returns a RTEMS status code based on the mutex * status code specified. */ - rtems_status_code _Semaphore_Translate_core_mutex_return_code ( uint32_t the_mutex_status ); -/* - * _Semaphore_Translate_core_semaphore_return_code - * - * DESCRIPTION: +/** + * @brief _Semaphore_Translate_core_semaphore_return_code * * This function returns a RTEMS status code based on the semaphore * status code specified. */ - rtems_status_code _Semaphore_Translate_core_semaphore_return_code ( uint32_t the_mutex_status ); -/*PAGE - * - * _Semaphore_Core_mutex_mp_support - * - * DESCRIPTION: - * - * This function processes the global actions necessary for remote - * accesses to a global semaphore based on a core mutex. This function - * is called by the core. - */ - -#if defined(RTEMS_MULTIPROCESSING) -void _Semaphore_Core_mutex_mp_support ( - Thread_Control *the_thread, - rtems_id id -); -#endif - -/*PAGE - * - * _Semaphore_Core_mp_support - * - * DESCRIPTION: - * - * This function processes the global actions necessary for remote - * accesses to a global semaphore based on a core semaphore. This function - * is called by the core. - */ - -void _Semaphore_Core_semaphore_mp_support ( - Thread_Control *the_thread, - rtems_id id -); - -/*PAGE - * - * _POSIX_Semaphore_MP_support - * - * DESCRIPTION: - * - * XXX - */ - -void _POSIX_Semaphore_MP_support( - Thread_Control *the_thread, - Objects_Id id -); - #ifndef __RTEMS_APPLICATION__ #include #endif @@ -278,5 +204,7 @@ void _POSIX_Semaphore_MP_support( } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/semmp.h b/cpukit/rtems/include/rtems/rtems/semmp.h index 9af338bbf7..cabbe1d3ae 100644 --- a/cpukit/rtems/include/rtems/rtems/semmp.h +++ b/cpukit/rtems/include/rtems/rtems/semmp.h @@ -1,12 +1,11 @@ /** * @file rtems/rtems/semmp.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Multiprocessing Support in the Semaphore Manager. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -30,11 +29,17 @@ extern "C" { #include #include -/* +/** + * @defgroup ClassicSEM Classic API Semaphore MP Support + * + * This encapsulates functionality which XXX + */ +/**@{*/ + +/** * The following enumerated type defines the list of * remote semaphore operations. */ - typedef enum { SEMAPHORE_MP_ANNOUNCE_CREATE = 0, SEMAPHORE_MP_ANNOUNCE_DELETE = 1, @@ -45,11 +50,10 @@ typedef enum { SEMAPHORE_MP_RELEASE_RESPONSE = 6 } Semaphore_MP_Remote_operations; -/* +/** * The following data structure defines the packet used to perform * remote semaphore operations. */ - typedef struct { rtems_packet_prefix Prefix; Semaphore_MP_Remote_operations operation; @@ -58,15 +62,12 @@ typedef struct { Objects_Id proxy_id; } Semaphore_MP_Packet; -/* - * _Semaphore_MP_Send_process_packet - * - * DESCRIPTION: +/** + * @brief Semaphore_MP_Send_process_packet * * This routine performs a remote procedure call so that a * process operation can be performed on another node. */ - void _Semaphore_MP_Send_process_packet ( Semaphore_MP_Remote_operations operation, Objects_Id semaphore_id, @@ -74,15 +75,12 @@ void _Semaphore_MP_Send_process_packet ( Objects_Id proxy_id ); -/* - * _Semaphore_MP_Send_request_packet - * - * DESCRIPTION: +/** + * @brief Semaphore_MP_Send_request_packet * * This routine performs a remote procedure call so that a * directive operation can be initiated on another node. */ - rtems_status_code _Semaphore_MP_Send_request_packet ( Semaphore_MP_Remote_operations operation, Objects_Id semaphore_id, @@ -90,73 +88,81 @@ rtems_status_code _Semaphore_MP_Send_request_packet ( rtems_interval timeout ); -/* - * _Semaphore_MP_Send_response_packet - * - * DESCRIPTION: +/** + * @brief Semaphore_MP_Send_response_packet * * This routine performs a remote procedure call so that a * directive can be performed on another node. */ - void _Semaphore_MP_Send_response_packet ( Semaphore_MP_Remote_operations operation, Objects_Id semaphore_id, Thread_Control *the_thread ); -/* - * - * _Semaphore_MP_Process_packet - * - * DESCRIPTION: +/** + * @brief Semaphore_MP_Process_packet * * This routine performs the actions specific to this package for * the request from another node. */ - void _Semaphore_MP_Process_packet ( rtems_packet_prefix *the_packet_prefix ); -/* - * _Semaphore_MP_Send_object_was_deleted - * - * DESCRIPTION: +/** + * @brief Semaphore_MP_Send_object_was_deleted * * This routine is invoked indirectly by the thread queue * when a proxy has been removed from the thread queue and * the remote node must be informed of this. */ - void _Semaphore_MP_Send_object_was_deleted ( Thread_Control *the_proxy ); -/* - * _Semaphore_MP_Send_extract_proxy - * - * DESCRIPTION: +/** + * @brief Semaphore_MP_Send_extract_proxy * * This routine is invoked when a task is deleted and it * has a proxy which must be removed from a thread queue and * the remote node must be informed of this. */ - void _Semaphore_MP_Send_extract_proxy ( void *argument ); -/* - * _Semaphore_MP_Get_packet - * - * DESCRIPTION: +/** + * @brief Semaphore_MP_Get_packet * * This function is used to obtain a semaphore mp packet. */ - Semaphore_MP_Packet *_Semaphore_MP_Get_packet ( void ); +/** + * @brief _Semaphore_Core_mutex_mp_support + * + * This function processes the global actions necessary for remote + * accesses to a global semaphore based on a core mutex. This function + * is called by the core. + */ +void _Semaphore_Core_mutex_mp_support ( + Thread_Control *the_thread, + rtems_id id +); + +/** + * @brief Semaphore_Core_mp_support + * + * This function processes the global actions necessary for remote + * accesses to a global semaphore based on a core semaphore. This function + * is called by the core. + */ +void _Semaphore_Core_semaphore_mp_support ( + Thread_Control *the_thread, + rtems_id id +); + #ifdef __cplusplus } #endif diff --git a/cpukit/rtems/include/rtems/rtems/signal.h b/cpukit/rtems/include/rtems/rtems/signal.h index a516970ca4..5fe1702327 100644 --- a/cpukit/rtems/include/rtems/rtems/signal.h +++ b/cpukit/rtems/include/rtems/rtems/signal.h @@ -1,8 +1,6 @@ /** * @file rtems/rtems/signal.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Signal Manager. This manager provides capabilities required * for asynchronous communication between tasks via signal sets. @@ -11,8 +9,9 @@ * * + establish an asynchronous signal routine * + send a signal set to a task - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -25,9 +24,12 @@ #ifndef _RTEMS_RTEMS_SIGNAL_H #define _RTEMS_RTEMS_SIGNAL_H -#ifdef __cplusplus -extern "C" { -#endif +/** + * @defgroup ClassicSignal Classic API Signal + * + * This encapsulates functionality which XXX + */ +/**@{*/ #include #include @@ -35,41 +37,35 @@ extern "C" { #include #include -/* - * _Signal_Manager_initialization - * - * DESCRIPTION: +#ifdef __cplusplus +extern "C" { +#endif +/** + * @brief _Signal_Manager_initialization * * This routine performs the initialization necessary for this manager. */ - void _Signal_Manager_initialization( void ); -/* - * rtems_signal_catch - * - * DESCRIPTION: +/** + * @brief rtems_signal_catch * * This routine implements the rtems_signal_catch directive. This directive * is used to establish asr_handler as the Asynchronous Signal Routine * (RTEMS_ASR) for the calling task. The asr_handler will execute with a * mode of mode_set. */ - rtems_status_code rtems_signal_catch( rtems_asr_entry asr_handler, rtems_mode mode_set ); -/* - * rtems_signal_send - * - * DESCRIPTION: +/** + * @brief rtems_signal_send * * This routine implements the rtems_signal_send directive. This directive * sends the signal_set to the task specified by ID. */ - rtems_status_code rtems_signal_send( Objects_Id id, rtems_signal_set signal_set @@ -83,5 +79,7 @@ rtems_status_code rtems_signal_send( } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/signalmp.h b/cpukit/rtems/include/rtems/rtems/signalmp.h index a706beae80..bf359473cd 100644 --- a/cpukit/rtems/include/rtems/rtems/signalmp.h +++ b/cpukit/rtems/include/rtems/rtems/signalmp.h @@ -1,12 +1,11 @@ /** * @file rtems/rtems/signalmp.h - */ - -/* + * * This include file contains all the constants and structures associated * with the Multiprocessing Support in the Signal Manager. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -29,21 +28,26 @@ extern "C" { #include #include -/* +/** + * @defgroup ClassicSignalMP Classic API Signal MP Support + * + * This encapsulates functionality which XXX + */ +/**{*/ + +/** * The following enumerated type defines the list of * remote signal operations. */ - typedef enum { SIGNAL_MP_SEND_REQUEST = 0, SIGNAL_MP_SEND_RESPONSE = 1 } Signal_MP_Remote_operations; -/* +/** * The following data structure defines the packet used to perform * remote signal operations. */ - typedef struct { rtems_packet_prefix Prefix; Signal_MP_Remote_operations operation; @@ -51,9 +55,7 @@ typedef struct { } Signal_MP_Packet; /* - * _Signal_MP_Send_process_packet - * - * DESCRIPTION: + * @brief Signal_MP_Send_process_packet * * This routine performs a remote procedure call so that a * process operation can be performed on another node. @@ -62,53 +64,41 @@ typedef struct { * packets to be sent by this manager. */ -/* - * _Signal_MP_Send_request_packet - * - * DESCRIPTION: +/** + * @brief Signal_MP_Send_request_packet * * This routine performs a remote procedure call so that a * directive operation can be initiated on another node. */ - rtems_status_code _Signal_MP_Send_request_packet ( Signal_MP_Remote_operations operation, Objects_Id task_id, rtems_signal_set signal_in ); -/* - * _Signal_MP_Send_response_packet - * - * DESCRIPTION: +/** + * @brief Signal_MP_Send_response_packet * * This routine performs a remote procedure call so that a * directive can be performed on another node. */ - void _Signal_MP_Send_response_packet ( Signal_MP_Remote_operations operation, Thread_Control *the_thread ); -/* - * - * _Signal_MP_Process_packet - * - * DESCRIPTION: +/** + * @brief Signal_MP_Process_packet * * This routine performs the actions specific to this package for * the request from another node. */ - void _Signal_MP_Process_packet ( rtems_packet_prefix *the_packet_prefix ); /* - * _Signal_MP_Send_object_was_deleted - * - * DESCRIPTION: + * @brief Signal_MP_Send_object_was_deleted * * This routine is invoked indirectly by the thread queue * when a proxy has been removed from the thread queue and @@ -119,9 +109,7 @@ void _Signal_MP_Process_packet ( */ /* - * _Signal_MP_Send_extract_proxy - * - * DESCRIPTION: + * @brief Signal_MP_Send_extract_proxy * * This routine is invoked when a task is deleted and it * has a proxy which must be removed from a thread queue and @@ -131,19 +119,18 @@ void _Signal_MP_Process_packet ( * deleted by this manager. */ -/* - * _Signal_MP_Get_packet - * - * DESCRIPTION: +/** + * @brief Signal_MP_Get_packet * * This function is used to obtain a signal mp packet. */ - Signal_MP_Packet *_Signal_MP_Get_packet ( void ); #ifdef __cplusplus } #endif +/**@}*/ + #endif /* end of file */ diff --git a/cpukit/rtems/include/rtems/rtems/status.h b/cpukit/rtems/include/rtems/rtems/status.h index d088f01917..644f2cbee6 100644 --- a/cpukit/rtems/include/rtems/rtems/status.h +++ b/cpukit/rtems/include/rtems/rtems/status.h @@ -1,12 +1,11 @@ /** * @file rtems/rtems/status.h - */ - -/* + * * This include file contains the status codes returned from the * executive directives. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,6 +18,13 @@ #ifndef _RTEMS_RTEMS_STATUS_H #define _RTEMS_RTEMS_STATUS_H +/** + * @defgroup ClassicStatus Classic API Status + * + * This encapsulates functionality which XXX + */ +/**@{*/ + #ifdef __cplusplus extern "C" { #endif @@ -77,12 +83,13 @@ rtems_status_code _Status_Object_name_errors_to_status[] = { /* * Applications are allowed to use the macros to compare status codes. */ - #include #ifdef __cplusplus } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/support.h b/cpukit/rtems/include/rtems/rtems/support.h index 1b8a240946..2260821788 100644 --- a/cpukit/rtems/include/rtems/rtems/support.h +++ b/cpukit/rtems/include/rtems/rtems/support.h @@ -1,12 +1,11 @@ /** * @file rtems/rtems/support.h - */ - -/* + * * This include file contains information about support functions for * the RTEMS API. - * - * COPYRIGHT (c) 1989-2008. + */ + +/* COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -25,27 +24,39 @@ extern "C" { #include -/** @brief milliseconds to microseconds +/** + * @defgroup ClassicSupport Classic API Support + * + * This encapsulates functionality which XXX + */ +/**@{*/ + +/** + * @brief milliseconds to microseconds * * This is the public milliseconds to microseconds conversion. */ #define RTEMS_MILLISECONDS_TO_MICROSECONDS(_ms) \ TOD_MILLISECONDS_TO_MICROSECONDS(_ms) -/** @brief milliseconds to ticks +/** + * @brief milliseconds to ticks * * This is the public milliseconds to ticks conversion. */ #define RTEMS_MILLISECONDS_TO_TICKS(_ms) \ TOD_MILLISECONDS_TO_TICKS(_ms) -/** @brief microseconds to ticks +/** + * @brief microseconds to ticks + * * This is the public microseconds to tick conversion. */ #define RTEMS_MICROSECONDS_TO_TICKS(_ms) \ TOD_MICROSECONDS_TO_TICKS(_ms) -/** @brief get workspace information +/** + * @brief get workspace information * * This returns information about the heap that is used as * the RTEMS Executive Workspace. @@ -58,7 +69,8 @@ boolean rtems_workspace_get_information( Heap_Information_block *the_info ); -/** @brief get workspace information +/** + * @brief get workspace information * * This returns information about the heap that is used as * the RTEMS Executive Workspace. @@ -73,7 +85,8 @@ boolean rtems_workspace_allocate( void **pointer ); -/** @brief free workspace +/** + * @brief free workspace * * This frees the workspace that was allocated from * the RTEMS Executive Workspace. @@ -94,5 +107,7 @@ boolean rtems_workspace_free( } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/taskmp.h b/cpukit/rtems/include/rtems/rtems/taskmp.h index 9adae0ced6..03e1dfbfb8 100644 --- a/cpukit/rtems/include/rtems/rtems/taskmp.h +++ b/cpukit/rtems/include/rtems/rtems/taskmp.h @@ -1,12 +1,11 @@ /** * @file rtems/rtems/taskmp.h - */ - -/* + * * This include file contains all the constants and structures associated * with the multiprocessing support in the task manager. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,10 +18,6 @@ #ifndef _RTEMS_RTEMS_TASKMP_H #define _RTEMS_RTEMS_TASKMP_H -#ifdef __cplusplus -extern "C" { -#endif - #include #include #include @@ -30,11 +25,20 @@ extern "C" { #include #include -/* +/** + * @defgroup ClassicTaskMP Classic API Task MP Support + * + * This encapsulates functionality which XXX + */ +/**@{*/ + +#ifdef __cplusplus +extern "C" { +#endif +/** * The following enumerated type defines the list of * remote task operations. */ - typedef enum { RTEMS_TASKS_MP_ANNOUNCE_CREATE = 0, RTEMS_TASKS_MP_ANNOUNCE_DELETE = 1, @@ -50,11 +54,10 @@ typedef enum { RTEMS_TASKS_MP_SET_NOTE_RESPONSE = 11 } RTEMS_tasks_MP_Remote_operations; -/* +/** * The following data structure defines the packet used to perform * remote task operations. */ - typedef struct { rtems_packet_prefix Prefix; RTEMS_tasks_MP_Remote_operations operation; @@ -64,30 +67,24 @@ typedef struct { uint32_t note; } RTEMS_tasks_MP_Packet; -/* - * _RTEMS_tasks_MP_Send_process_packet - * - * DESCRIPTION: +/** + * @brief _RTEMS_tasks_MP_Send_process_packet * * This routine performs a remote procedure call so that a * process operation can be performed on another node. */ - void _RTEMS_tasks_MP_Send_process_packet ( RTEMS_tasks_MP_Remote_operations operation, Objects_Id task_id, rtems_name name ); -/* - * _RTEMS_tasks_MP_Send_request_packet - * - * DESCRIPTION: +/** + * @brief _RTEMS_tasks_MP_Send_request_packet * * This routine performs a remote procedure call so that a * directive operation can be initiated on another node. */ - rtems_status_code _RTEMS_tasks_MP_Send_request_packet ( RTEMS_tasks_MP_Remote_operations operation, Objects_Id task_id, @@ -96,38 +93,29 @@ rtems_status_code _RTEMS_tasks_MP_Send_request_packet ( uint32_t note ); -/* - * _RTEMS_tasks_MP_Send_response_packet - * - * DESCRIPTION: +/** + * @brief _RTEMS_tasks_MP_Send_response_packet * * This routine performs a remote procedure call so that a * directive can be performed on another node. */ - void _RTEMS_tasks_MP_Send_response_packet ( RTEMS_tasks_MP_Remote_operations operation, Thread_Control *the_thread ); -/* - * - * _RTEMS_tasks_MP_Process_packet - * - * DESCRIPTION: +/** + * @brief _RTEMS_tasks_MP_Process_packet * * This routine performs the actions specific to this package for * the request from another node. */ - void _RTEMS_tasks_MP_Process_packet ( rtems_packet_prefix *the_packet_prefix ); -/* - * _RTEMS_tasks_MP_Send_object_was_deleted - * - * DESCRIPTION: +/** + * @brief _RTEMS_tasks_MP_Send_object_was_deleted * * This routine is invoked indirectly by the thread queue * when a proxy has been removed from the thread queue and @@ -140,8 +128,6 @@ void _RTEMS_tasks_MP_Process_packet ( /* * _RTEMS_tasks_MP_Send_extract_proxy * - * DESCRIPTION: - * * This routine is invoked when a task is deleted and it * has a proxy which must be removed from a thread queue and * the remote node must be informed of this. @@ -151,19 +137,18 @@ void _RTEMS_tasks_MP_Process_packet ( * */ -/* - * _RTEMS_tasks_MP_Get_packet - * - * DESCRIPTION: +/** + * @brief _RTEMS_tasks_MP_Get_packet * * This function is used to obtain a task mp packet. */ - RTEMS_tasks_MP_Packet *_RTEMS_tasks_MP_Get_packet ( void ); #ifdef __cplusplus } #endif +/**@}*/ + #endif /* end of file */ diff --git a/cpukit/rtems/include/rtems/rtems/tasks.h b/cpukit/rtems/include/rtems/rtems/tasks.h index af579f87b5..bf30b32d7b 100644 --- a/cpukit/rtems/include/rtems/rtems/tasks.h +++ b/cpukit/rtems/include/rtems/rtems/tasks.h @@ -1,29 +1,28 @@ /** * @file rtems/rtems/tasks.h - */ - -/* + * * This include file contains all constants and structures associated * with RTEMS tasks. This manager provides a comprehensive set of directives * to create, delete, and administer tasks. * * Directives provided are: * - * + create a task - * + get an ID of a task - * + start a task - * + restart a task - * + delete a task - * + suspend a task - * + resume a task - * + set a task's priority - * + change the current task's mode - * + get a task notepad entry - * + set a task notepad entry - * + wake up after interval - * + wake up when specified - * - * COPYRIGHT (c) 1989-2007. + * - create a task + * - get an ID of a task + * - start a task + * - restart a task + * - delete a task + * - suspend a task + * - resume a task + * - set a task's priority + * - change the current task's mode + * - get a task notepad entry + * - set a task notepad entry + * - wake up after interval + * - wake up when specified + */ + +/* COPYRIGHT (c) 1989-2007. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -36,14 +35,6 @@ #ifndef _RTEMS_RTEMS_TASKS_H #define _RTEMS_RTEMS_TASKS_H -#ifndef RTEMS_TASKS_EXTERN -#define RTEMS_TASKS_EXTERN extern -#endif - -#ifdef __cplusplus -extern "C" { -#endif - #include #include #include @@ -53,23 +44,35 @@ extern "C" { #include #include -/* - * Constant to be used as the ID of current task +#ifndef RTEMS_TASKS_EXTERN +#define RTEMS_TASKS_EXTERN extern +#endif + +/** + * @defgroup ClassicTasks Classic API Tasks + * + * This encapsulates functionality which X XX */ +/**@{*/ +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Constant to be used as the ID of current task + */ #define RTEMS_SELF OBJECTS_ID_OF_SELF -/* +/** * This constant is passed to the rtems_task_wake_after directive as the * interval when a task wishes to yield the CPU. */ - #define RTEMS_YIELD_PROCESSOR WATCHDOG_NO_TIMEOUT -/* +/** * Define the type for an RTEMS API task priority. */ - typedef Priority_Control rtems_task_priority; #define RTEMS_NO_PRIORITY RTEMS_CURRENT_PRIORITY @@ -77,71 +80,79 @@ typedef Priority_Control rtems_task_priority; #define RTEMS_MINIMUM_PRIORITY (PRIORITY_MINIMUM + 1) #define RTEMS_MAXIMUM_PRIORITY PRIORITY_MAXIMUM -/* +/** * The following constant is passed to rtems_task_set_priority when the * caller wants to obtain the current priority. */ - #define RTEMS_CURRENT_PRIORITY PRIORITY_MINIMUM -/* - * Notepads constants (indices into notepad array) - */ - -#define RTEMS_NOTEPAD_FIRST 0 /* lowest numbered notepad */ -#define RTEMS_NOTEPAD_0 0 /* notepad location 0 */ -#define RTEMS_NOTEPAD_1 1 /* notepad location 1 */ -#define RTEMS_NOTEPAD_2 2 /* notepad location 2 */ -#define RTEMS_NOTEPAD_3 3 /* notepad location 3 */ -#define RTEMS_NOTEPAD_4 4 /* notepad location 4 */ -#define RTEMS_NOTEPAD_5 5 /* notepad location 5 */ -#define RTEMS_NOTEPAD_6 6 /* notepad location 6 */ -#define RTEMS_NOTEPAD_7 7 /* notepad location 7 */ -#define RTEMS_NOTEPAD_8 8 /* notepad location 8 */ -#define RTEMS_NOTEPAD_9 9 /* notepad location 9 */ -#define RTEMS_NOTEPAD_10 10 /* notepad location 10 */ -#define RTEMS_NOTEPAD_11 11 /* notepad location 11 */ -#define RTEMS_NOTEPAD_12 12 /* notepad location 12 */ -#define RTEMS_NOTEPAD_13 13 /* notepad location 13 */ -#define RTEMS_NOTEPAD_14 14 /* notepad location 14 */ -#define RTEMS_NOTEPAD_15 15 /* notepad location 15 */ -#define RTEMS_NOTEPAD_LAST RTEMS_NOTEPAD_15 /* highest numbered notepad */ +/** This is used to indicate the lowest numbered notepad */ +#define RTEMS_NOTEPAD_FIRST 0 +/** This is used to indicate the notepad location 0. */ +#define RTEMS_NOTEPAD_0 0 +/** This is used to indicate the notepad location 1. */ +#define RTEMS_NOTEPAD_1 1 +/** This is used to indicate the notepad location 2. */ +#define RTEMS_NOTEPAD_2 2 +/** This is used to indicate the notepad location 3. */ +#define RTEMS_NOTEPAD_3 3 +/** This is used to indicate the notepad location 4. */ +#define RTEMS_NOTEPAD_4 4 +/** This is used to indicate the notepad location 5. */ +#define RTEMS_NOTEPAD_5 5 +/** This is used to indicate the notepad location 6. */ +#define RTEMS_NOTEPAD_6 6 +/** This is used to indicate the notepad location 7. */ +#define RTEMS_NOTEPAD_7 7 +/** This is used to indicate the notepad location 8. */ +#define RTEMS_NOTEPAD_8 8 +/** This is used to indicate the notepad location 9. */ +#define RTEMS_NOTEPAD_9 9 +/** This is used to indicate the notepad location 10. */ +#define RTEMS_NOTEPAD_10 10 +/** This is used to indicate the notepad location 11. */ +#define RTEMS_NOTEPAD_11 11 +/** This is used to indicate the notepad location 12. */ +#define RTEMS_NOTEPAD_12 12 +/** This is used to indicate the notepad location 13. */ +#define RTEMS_NOTEPAD_13 13 +/** This is used to indicate the notepad location 14. */ +#define RTEMS_NOTEPAD_14 14 +/** This is used to indicate the notepad location 15. */ +#define RTEMS_NOTEPAD_15 15 +/** This is used to indicate the highest numbered notepad. */ +#define RTEMS_NOTEPAD_LAST RTEMS_NOTEPAD_15 #define RTEMS_NUMBER_NOTEPADS (RTEMS_NOTEPAD_LAST+1) -/* +/** * External API name for Thread_Control */ - typedef Thread_Control rtems_tcb; -/* +/** * The following defines the "return type" of an RTEMS task. */ - typedef void rtems_task; -/* +/** * The following defines the argument to an RTEMS task. */ - typedef uintptr_t rtems_task_argument; -/* +/** * The following defines the type for the entry point of an RTEMS task. */ - typedef rtems_task ( *rtems_task_entry )( rtems_task_argument ); -/* +/** * The following records define the Initialization Tasks Table. * Each entry contains the information required by RTEMS to * create and start a user task automatically at executive * initialization time. */ - typedef struct { rtems_name name; /* task name */ size_t stack_size; /* task stack size */ @@ -152,12 +163,10 @@ typedef struct { rtems_task_argument argument; /* task argument */ } rtems_initialization_tasks_table; -/* +/** * This is the API specific information required by each thread for * the RTEMS API to function correctly. */ - - typedef struct { uint32_t Notepads[ RTEMS_NUMBER_NOTEPADS ]; rtems_event_set pending_events; @@ -169,25 +178,19 @@ typedef struct { * The following defines the information control block used to * manage this class of objects. */ - RTEMS_TASKS_EXTERN Objects_Information _RTEMS_tasks_Information; -/* - * _RTEMS_tasks_Manager_initialization - * - * DESCRIPTION: +/** + * @brief _RTEMS_tasks_Manager_initialization * * This routine initializes all Task Manager related data structures. */ - void _RTEMS_tasks_Manager_initialization( uint32_t maximum_tasks ); -/* - * rtems_task_create - * - * DESCRIPTION: +/** + * @brief rtems_task_create * * This routine implements the rtems_task_create directive. The task * will have the name name. The attribute_set can be used to indicate @@ -196,7 +199,6 @@ void _RTEMS_tasks_Manager_initialization( * execution with initial_priority and initial_modes. It returns the * id of the created task in ID. */ - rtems_status_code rtems_task_create( rtems_name name, rtems_task_priority initial_priority, @@ -206,10 +208,8 @@ rtems_status_code rtems_task_create( Objects_Id *id ); -/* - * rtems_task_ident - * - * DESCRIPTION: +/** + * @brief rtems_task_ident * * This routine implements the rtems_task_ident directive. * This directive returns the task ID associated with name. @@ -219,233 +219,194 @@ rtems_status_code rtems_task_create( * The search can be limited to a particular node or allowed to * encompass all nodes. */ - rtems_status_code rtems_task_ident( rtems_name name, uint32_t node, Objects_Id *id ); -/* - * rtems_task_delete - * - * DESCRIPTION: +/** + * @brief rtems_task_delete * * This routine implements the rtems_task_delete directive. The * task indicated by ID is deleted. */ - rtems_status_code rtems_task_delete( Objects_Id id ); -/* - * rtems_task_get_note - * - * DESCRIPTION: +/** + * @brief rtems_task_get_note * * This routine implements the rtems_task_get_note directive. The * value of the indicated notepad for the task associated with ID * is returned in note. */ - rtems_status_code rtems_task_get_note( Objects_Id id, uint32_t notepad, uint32_t *note ); -/* - * rtems_task_set_note - * - * DESCRIPTION: +/** + * @brief rtems_task_set_note * * This routine implements the rtems_task_set_note directive. The * value of the indicated notepad for the task associated with ID * is returned in note. */ - rtems_status_code rtems_task_set_note( Objects_Id id, uint32_t notepad, uint32_t note ); -/* - * rtems_task_mode - * - * DESCRIPTION: +/** + * @brief rtems_task_mode * * This routine implements the rtems_task_mode directive. The current * values of the modes indicated by mask of the calling task are changed * to that indicated in mode_set. The former mode of the task is * returned in mode_set. */ - rtems_status_code rtems_task_mode( rtems_mode mode_set, rtems_mode mask, rtems_mode *previous_mode_set ); -/* - * rtems_task_restart - * - * DESCRIPTION: +/** + * @brief rtems_task_restart * * This routine implements the rtems_task_restart directive. The * task associated with ID is restarted at its initial entry * point with the new argument. */ - rtems_status_code rtems_task_restart( Objects_Id id, uint32_t arg ); -/* - * rtems_task_suspend - * - * DESCRIPTION: +/** + * @brief rtems_task_suspend * * This routine implements the rtems_task_suspend directive. The * SUSPENDED state is set for task associated with ID. */ - rtems_status_code rtems_task_suspend( Objects_Id id ); -/* - * rtems_task_resume - * - * DESCRIPTION: +/** + * @brief rtems_task_resume * * This routine implements the rtems_task_resume Directive. The * SUSPENDED state is cleared for task associated with ID. */ - rtems_status_code rtems_task_resume( Objects_Id id ); -/* - * rtems_task_set_priority - * - * DESCRIPTION: +/** + * @brief rtems_task_set_priority * * This routine implements the rtems_task_set_priority directive. The * current priority of the task associated with ID is set to * new_priority. The former priority of that task is returned * in old_priority. */ - rtems_status_code rtems_task_set_priority( Objects_Id id, rtems_task_priority new_priority, rtems_task_priority *old_priority ); -/* - * rtems_task_start - * - * DESCRIPTION: +/** + * @brief rtems_task_start * * This routine implements the rtems_task_start directive. The * starting execution point of the task associated with ID is * set to entry_point with the initial argument. */ - rtems_status_code rtems_task_start( Objects_Id id, rtems_task_entry entry_point, rtems_task_argument argument ); -/* - * rtems_task_wake_when - * - * DESCRIPTION: +/** + * @brief rtems_task_wake_when * * This routine implements the rtems_task_wake_when directive. The * calling task is blocked until the current time of day is * equal to that indicated by time_buffer. */ - rtems_status_code rtems_task_wake_when( rtems_time_of_day *time_buffer ); -/* - * rtems_task_wake_after - * - * DESCRIPTION: +/** + * @brief rtems_task_wake_after * * This routine implements the rtems_task_wake_after directive. The * calling task is blocked until the indicated number of clock * ticks have occurred. */ - rtems_status_code rtems_task_wake_after( rtems_interval ticks ); -/* - * rtems_task_is_suspended - * +/** + * @brief rtems_task_is_suspended + * This directive returns a status indicating whether or not * the specified task is suspended. */ - rtems_status_code rtems_task_is_suspended( Objects_Id id ); -/* - * rtems_task_variable_add +/** + * @brief rtems_task_variable_add * * This directive adds a per task variable. */ - rtems_status_code rtems_task_variable_add( rtems_id tid, void **ptr, void (*dtor)(void *) ); -/* - * rtems_task_variable_get +/** + * @brief rtems_task_variable_get * * This directive gets the value of a task variable. */ - rtems_status_code rtems_task_variable_get( rtems_id tid, void **ptr, void **result ); -/* - * rtems_task_variable_delete +/** + * @brief rtems_task_variable_delete * * This directive removes a per task variable. */ - rtems_status_code rtems_task_variable_delete( rtems_id tid, void **ptr ); -/* - * rtems_task_self +/** + * @brief rtems_task_self * * This directive returns the ID of the currently executing task. */ - rtems_id rtems_task_self(void); -/* - * _RTEMS_tasks_Initialize_user_tasks +/** + * @brief _RTEMS_tasks_Initialize_user_tasks * * This routine creates and starts all configured user * initialzation threads. @@ -454,11 +415,10 @@ rtems_id rtems_task_self(void); * * Output parameters: NONE */ - void _RTEMS_tasks_Initialize_user_tasks( void ); -/* - * _RTEMS_Tasks_Invoke_task_variable_dtor( +/** + * @brief _RTEMS_Tasks_Invoke_task_variable_dtor( * * This routine invokes the optional user provided destructor on the * task variable and frees the memory for the task variable. @@ -467,7 +427,6 @@ void _RTEMS_tasks_Initialize_user_tasks( void ); * * Output parameters: NONE */ - void _RTEMS_Tasks_Invoke_task_variable_dtor( Thread_Control *the_thread, rtems_task_variable_t *tvp @@ -484,5 +443,7 @@ void _RTEMS_Tasks_Invoke_task_variable_dtor( } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/timer.h b/cpukit/rtems/include/rtems/rtems/timer.h index fdb9185d00..980132a448 100644 --- a/cpukit/rtems/include/rtems/rtems/timer.h +++ b/cpukit/rtems/include/rtems/rtems/timer.h @@ -1,8 +1,6 @@ /** * @file rtems/rtems/timer.h - */ - -/* + * * This include file contains all the constants, structures, and * prototypes associated with the Timer Manager. This manager provides * facilities to configure, initiate, cancel, and delete timers which will @@ -10,20 +8,21 @@ * * Directives provided are: * - * + create a timer - * + get an ID of a timer - * + delete a timer - * + set timer to fire in context of clock tick + * - create a timer + * - get an ID of a timer + * - delete a timer + * - set timer to fire in context of clock tick * - after a number of ticks have passed * - when a specified date and time has been reached - * + initiate the timer server task - * + set timer to fire in context of the timer server task + * - initiate the timer server task + * - set timer to fire in context of the timer server task * - after a number of ticks have passed * - when a specified date and time has been reached - * + reset a timer - * + cancel a time - * - * COPYRIGHT (c) 1989-2007. + * - reset a timer + * - cancel a time + */ + +/* COPYRIGHT (c) 1989-2007. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -50,11 +49,17 @@ extern "C" { #include #include -/* +/** + * @defgroup ClassicTimer Classic API Timer + * + * This encapsulates functionality which XXX + */ +/**@{*/ + +/** * The following enumerated type details the classes to which a timer * may belong. */ - typedef enum { TIMER_INTERVAL, TIMER_INTERVAL_ON_TASK, @@ -63,10 +68,9 @@ typedef enum { TIMER_DORMANT } Timer_Classes; -/* +/** * The following types define a pointer to a timer service routine. */ - typedef void rtems_timer_service_routine; typedef rtems_timer_service_routine ( *rtems_timer_service_routine_entry )( @@ -74,22 +78,20 @@ typedef rtems_timer_service_routine ( *rtems_timer_service_routine_entry )( void * ); -/* +/** * The following defines the information control block used to manage * this class of objects. */ - RTEMS_TIMER_EXTERN Objects_Information _Timer_Information; -/* +/** * Pointer to TCB of the Timer Server. This is NULL before the * server is executing and task-based timers are not allowed to be * initiated until the server is started. */ - RTEMS_TIMER_EXTERN Thread_Control *_Timer_Server; -/* +/** * The following chains contain the list of interval timers that are * executed in the context of the Timer Server. * @@ -100,109 +102,87 @@ RTEMS_TIMER_EXTERN Thread_Control *_Timer_Server; * do not have to be initialized until then. They are declared * in the same file as _Timer_Server_body. */ - extern Chain_Control _Timer_Ticks_chain; extern Chain_Control _Timer_Seconds_chain; -/* +/** * The following records define the control block used to manage * each timer. */ - typedef struct { Objects_Control Object; Watchdog_Control Ticker; Timer_Classes the_class; } Timer_Control; -/* - * _Timer_Manager_initialization - * - * DESCRIPTION: +/** + * @brief _Timer_Manager_initialization * * This routine performs the initialization necessary for this manager. */ - void _Timer_Manager_initialization( uint32_t maximum_timers ); -/* - * _Timer_Server_body - * - * DESCRIPTION: +/** + * @brief _Timer_Server_body * * This is the server for task based timers. This task executes whenever * a task-based timer should fire. It services both "after" and "when" * timers. It is not created automatically but must be created explicitly * by the application before task-based timers may be initiated. */ - Thread _Timer_Server_body( uint32_t ignored ); -/* - * rtems_timer_create - * - * DESCRIPTION: +/** + * @brief rtems_timer_create * * This routine implements the rtems_timer_create directive. The * timer will have the name name. It returns the id of the * created timer in ID. */ - rtems_status_code rtems_timer_create( rtems_name name, Objects_Id *id ); -/* - * rtems_timer_ident - * - * DESCRIPTION: +/** + * @brief rtems_timer_ident * * This routine implements the rtems_timer_ident directive. * This directive returns the timer ID associated with name. * If more than one timer is named name, then the timer * to which the ID belongs is arbitrary. */ - rtems_status_code rtems_timer_ident( rtems_name name, Objects_Id *id ); -/* - * rtems_timer_cancel - * - * DESCRIPTION: +/** + * @brief rtems_timer_cancel * * This routine implements the rtems_timer_cancel directive. It is used * to stop the timer associated with ID from firing. */ - rtems_status_code rtems_timer_cancel( Objects_Id id ); -/* - * rtems_timer_delete - * - * DESCRIPTION: +/** + * @brief rtems_timer_delete * * This routine implements the rtems_timer_delete directive. The * timer indicated by ID is deleted. */ - rtems_status_code rtems_timer_delete( Objects_Id id ); -/* - * rtems_timer_fire_after - * - * DESCRIPTION: +/** + * @brief rtems_timer_fire_after * * This routine implements the rtems_timer_fire_after directive. It * initiates the timer associated with ID to fire in ticks clock ticks. @@ -210,7 +190,6 @@ rtems_status_code rtems_timer_delete( * of the rtems_clock_tick directive which is normally invoked as * part of servicing a periodic interupt. */ - rtems_status_code rtems_timer_fire_after( Objects_Id id, rtems_interval ticks, @@ -218,10 +197,8 @@ rtems_status_code rtems_timer_fire_after( void *user_data ); -/* - * rtems_timer_server_fire_after - * - * DESCRIPTION: +/** + * @brief rtems_timer_server_fire_after * * This routine implements the rtems_timer_server_fire_after directive. It * initiates the timer associated with ID to fire in ticks clock @@ -229,7 +206,6 @@ rtems_status_code rtems_timer_fire_after( * Timer Server in the context of a task NOT IN THE CONTEXT of the * clock tick interrupt. */ - rtems_status_code rtems_timer_server_fire_after( Objects_Id id, rtems_interval ticks, @@ -237,10 +213,8 @@ rtems_status_code rtems_timer_server_fire_after( void *user_data ); -/* - * rtems_timer_fire_when - * - * DESCRIPTION: +/** + * @brief rtems_timer_fire_when * * This routine implements the rtems_timer_fire_when directive. It * initiates the timer associated with ID to fire at wall_time @@ -248,7 +222,6 @@ rtems_status_code rtems_timer_server_fire_after( * of the rtems_clock_tick directive which is normally invoked as * part of servicing a periodic interupt. */ - rtems_status_code rtems_timer_fire_when( Objects_Id id, rtems_time_of_day *wall_time, @@ -256,10 +229,8 @@ rtems_status_code rtems_timer_fire_when( void *user_data ); -/* - * rtems_timer_server_fire_when - * - * DESCRIPTION: +/** + * @brief rtems_timer_server_fire_when * * This routine implements the rtems_timer_server_fire_when directive. It * initiates the timer associated with ID to fire at wall_time @@ -267,7 +238,6 @@ rtems_status_code rtems_timer_fire_when( * Timer Server in the context of a task NOT IN THE CONTEXT of the * clock tick interrupt. */ - rtems_status_code rtems_timer_server_fire_when( Objects_Id id, rtems_time_of_day *wall_time, @@ -275,48 +245,42 @@ rtems_status_code rtems_timer_server_fire_when( void *user_data ); -/* - * rtems_timer_reset - * - * DESCRIPTION: +/** + * @brief rtems_timer_reset * * This routine implements the rtems_timer_reset directive. It is used * to reinitialize the interval timer associated with ID just as if * rtems_timer_fire_after were re-invoked with the same arguments that * were used to initiate this timer. */ - rtems_status_code rtems_timer_reset( Objects_Id id ); -/* - * rtems_timer_initiate_server - * - * DESCRIPTION: +/** + * @brief rtems_timer_initiate_server * * This routine implements the rtems_timer_initiate_server directive. * It creates and starts the server that executes task-based timers. * It must be invoked before any task-based timers can be initiated. */ - -#define RTEMS_TIMER_SERVER_DEFAULT_PRIORITY -1 - rtems_status_code rtems_timer_initiate_server( uint32_t priority, uint32_t stack_size, rtems_attribute attribute_set ); -/* - * rtems_timer_get_information - * - * DESCRIPTION: - * - * This routine implements the rtems_timer_get_information directive. - * This directive returns information about the timer. +/** + * This is the default value for the priority of the Timer Server. + * When given this priority, a special high priority not accessible + * via the Classic API is used. */ +#define RTEMS_TIMER_SERVER_DEFAULT_PRIORITY -1 +/** + * This is the structure filled in by the timer get information + * service. + */ typedef struct { Timer_Classes the_class; Watchdog_Interval initial; @@ -324,17 +288,22 @@ typedef struct { Watchdog_Interval stop_time; } rtems_timer_information; +/** + * @brief rtems_timer_get_information + * + * This routine implements the rtems_timer_get_information directive. + * This directive returns information about the timer. + */ rtems_status_code rtems_timer_get_information( Objects_Id id, rtems_timer_information *the_info ); -/* +/** * Macros and routines that expose the mechanisms required to service * the Timer Server timer. These stop the timer, synchronize it with * the current time, and restart it. */ - extern Watchdog_Control _Timer_Seconds_timer; #define _Timer_Server_stop_ticks_timer() \ @@ -343,7 +312,18 @@ extern Watchdog_Control _Timer_Seconds_timer; #define _Timer_Server_stop_seconds_timer() \ _Watchdog_Remove( &_Timer_Seconds_timer ); +/** + * This is a helper function which processes the ticks chain when + * needed. It advances time for the ticks chain which results in + * timers firing. + */ void _Timer_Server_process_ticks_chain(void); + +/** + * This is a helper function which processes the seconds chain when + * needed. It advances time for the seconds chain which results in + * timers firing. + */ void _Timer_Server_process_seconds_chain(void); #define _Timer_Server_reset_ticks_timer() \ @@ -370,5 +350,7 @@ void _Timer_Server_process_seconds_chain(void); } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/include/rtems/rtems/types.h b/cpukit/rtems/include/rtems/rtems/types.h index 310c979ef9..3a04f8e7d8 100644 --- a/cpukit/rtems/include/rtems/rtems/types.h +++ b/cpukit/rtems/include/rtems/rtems/types.h @@ -1,11 +1,10 @@ /** * @file rtems/rtems/types.h + * + * This include file defines the types used by the RTEMS API. */ -/* - * This include file defines the types used by the RTEMS API. - * - * COPYRIGHT (c) 1989-1999. +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -18,6 +17,13 @@ #ifndef _RTEMS_RTEMS_TYPES_H #define _RTEMS_RTEMS_TYPES_H +/** + * @defgroup ClassicTypes Classic API Types + * + * This encapsulates functionality which XXX + */ +/**@{*/ + #ifdef __cplusplus extern "C" { #endif @@ -50,19 +56,16 @@ typedef Context_Control rtems_context; typedef Context_Control_fp rtems_context_fp; typedef CPU_Interrupt_frame rtems_interrupt_frame; -/* +/** * Region information block */ - typedef Heap_Information_block region_information_block; -/* +/** * Time related */ - typedef Watchdog_Interval rtems_interval; - /** * The following record defines the time of control block. This * control block is used to maintain the current time of day. @@ -86,16 +89,14 @@ typedef struct { uint32_t ticks; } rtems_time_of_day; -/* +/** * Define the type for an RTEMS API task mode. */ - typedef Modes_Control rtems_mode; /* * MPCI related entries */ - #if defined(RTEMS_MULTIPROCESSING) typedef MP_packet_Classes rtems_mp_packet_classes; typedef MP_packet_Prefix rtems_packet_prefix; @@ -115,5 +116,7 @@ typedef MPCI_Control rtems_mpci_table; } #endif +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/inline/rtems/rtems/asr.inl b/cpukit/rtems/inline/rtems/rtems/asr.inl index bd3b37e060..43bbbea5b5 100644 --- a/cpukit/rtems/inline/rtems/rtems/asr.inl +++ b/cpukit/rtems/inline/rtems/rtems/asr.inl @@ -1,12 +1,11 @@ /** * @file rtems/rtems/asr.inl - */ - -/* + * * This include file contains the implemenation of all routines * associated with the asynchronous signal handler which are inlined. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -21,15 +20,16 @@ #include -/*PAGE - * - * _ASR_Initialize - * - * DESCRIPTION: +/** + * @addtogroup ClassicASR + * @{ + */ + +/** + * @brief ASR_Initialize * * This routine initializes the given RTEMS_ASR information record. */ - RTEMS_INLINE_ROUTINE void _ASR_Initialize ( ASR_Information *information ) @@ -42,17 +42,13 @@ RTEMS_INLINE_ROUTINE void _ASR_Initialize ( information->nest_level = 0; } -/*PAGE - * - * _ASR_Swap_signals - * - * DESCRIPTION: +/** + * @brief ASR_Swap_signals * * This routine atomically swaps the pending and posted signal * sets. This is done when the thread alters its mode in such a * way that the RTEMS_ASR disable/enable flag changes. */ - RTEMS_INLINE_ROUTINE void _ASR_Swap_signals ( ASR_Information *information ) @@ -67,16 +63,12 @@ RTEMS_INLINE_ROUTINE void _ASR_Swap_signals ( _ISR_Enable( _level ); } -/*PAGE - * - * _ASR_Is_null_handler - * - * DESCRIPTION: +/** + * @brief ASR_Is_null_handler * * This function returns TRUE if the given asr_handler is NULL and * FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _ASR_Is_null_handler ( rtems_asr_entry asr_handler ) @@ -84,16 +76,12 @@ RTEMS_INLINE_ROUTINE boolean _ASR_Is_null_handler ( return asr_handler == NULL; } -/*PAGE - * - * _ASR_Are_signals_pending - * - * DESCRIPTION: +/** + * @brief ASR_Are_signals_pending * * This function returns TRUE if there are signals pending in the * given RTEMS_ASR information record and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _ASR_Are_signals_pending ( ASR_Information *information ) @@ -101,18 +89,14 @@ RTEMS_INLINE_ROUTINE boolean _ASR_Are_signals_pending ( return information->signals_posted != 0; } -/*PAGE - * - * _ASR_Post_signals - * - * DESCRIPTION: +/** + * @brief ASR_Post_signals * * This routine posts the given signals into the signal_set * passed in. The result is returned to the user in signal_set. * * NOTE: This must be implemented as a macro. */ - RTEMS_INLINE_ROUTINE void _ASR_Post_signals( rtems_signal_set signals, rtems_signal_set *signal_set @@ -125,6 +109,7 @@ RTEMS_INLINE_ROUTINE void _ASR_Post_signals( _ISR_Enable( _level ); } +/**@}*/ #endif /* end of include file */ diff --git a/cpukit/rtems/inline/rtems/rtems/attr.inl b/cpukit/rtems/inline/rtems/rtems/attr.inl index 54dd93d729..9e8012728a 100644 --- a/cpukit/rtems/inline/rtems/rtems/attr.inl +++ b/cpukit/rtems/inline/rtems/rtems/attr.inl @@ -1,11 +1,11 @@ /** * @file rtems/rtems/attr.inl + * + * This include file contains all of the inlined routines associated + * with attributes. */ /* - * This include file contains all of the inlined routines associated - * with attributes. - * * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * @@ -19,16 +19,17 @@ #ifndef _RTEMS_RTEMS_ATTR_INL #define _RTEMS_RTEMS_ATTR_INL -/*PAGE - * - * _Attributes_Set - * - * DESCRIPTION: +/** + * @addtogroup ClassicAttributes + * @{ + */ + +/** + * @brief Attributes_Set * * This function sets the requested new_attributes in the attribute_set * passed in. The result is returned to the user. */ - RTEMS_INLINE_ROUTINE rtems_attribute _Attributes_Set ( rtems_attribute new_attributes, rtems_attribute attribute_set @@ -37,16 +38,12 @@ RTEMS_INLINE_ROUTINE rtems_attribute _Attributes_Set ( return attribute_set | new_attributes; } -/*PAGE - * - * _Attributes_Clear - * - * DESCRIPTION: +/** + * @brief Attributes_Clear * * This function clears the requested new_attributes in the attribute_set * passed in. The result is returned to the user. */ - RTEMS_INLINE_ROUTINE rtems_attribute _Attributes_Clear ( rtems_attribute attribute_set, rtems_attribute mask @@ -55,16 +52,12 @@ RTEMS_INLINE_ROUTINE rtems_attribute _Attributes_Clear ( return attribute_set & ~mask; } -/*PAGE - * - * _Attributes_Is_floating_point - * - * DESCRIPTION: +/** + * @brief Attributes_Is_floating_point * * This function returns TRUE if the floating point attribute is * enabled in the attribute_set and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Attributes_Is_floating_point( rtems_attribute attribute_set ) @@ -72,17 +65,13 @@ RTEMS_INLINE_ROUTINE boolean _Attributes_Is_floating_point( return ( attribute_set & RTEMS_FLOATING_POINT ); } -/*PAGE - * - * _Attributes_Is_global - * - * DESCRIPTION: +#if defined(RTEMS_MULTIPROCESSING) +/** + * @brief Attributes_Is_global * * This function returns TRUE if the global object attribute is * enabled in the attribute_set and FALSE otherwise. */ - -#if defined(RTEMS_MULTIPROCESSING) RTEMS_INLINE_ROUTINE boolean _Attributes_Is_global( rtems_attribute attribute_set ) @@ -91,16 +80,12 @@ RTEMS_INLINE_ROUTINE boolean _Attributes_Is_global( } #endif -/*PAGE - * - * _Attributes_Is_priority - * - * DESCRIPTION: +/** + * @brief Attributes_Is_priority * * This function returns TRUE if the priority attribute is * enabled in the attribute_set and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Attributes_Is_priority( rtems_attribute attribute_set ) @@ -108,16 +93,12 @@ RTEMS_INLINE_ROUTINE boolean _Attributes_Is_priority( return ( attribute_set & RTEMS_PRIORITY ); } -/*PAGE - * - * _Attributes_Is_binary_semaphore - * - * DESCRIPTION: +/** + * @brief Attributes_Is_binary_semaphore * * This function returns TRUE if the binary semaphore attribute is * enabled in the attribute_set and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Attributes_Is_binary_semaphore( rtems_attribute attribute_set ) @@ -125,16 +106,12 @@ RTEMS_INLINE_ROUTINE boolean _Attributes_Is_binary_semaphore( return ((attribute_set & RTEMS_SEMAPHORE_CLASS) == RTEMS_BINARY_SEMAPHORE); } -/*PAGE - * - * _Attributes_Is_simple_binary_semaphore - * - * DESCRIPTION: +/** + * @brief Attributes_Is_simple_binary_semaphore * * This function returns TRUE if the simple binary semaphore attribute is * enabled in the attribute_set and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Attributes_Is_simple_binary_semaphore( rtems_attribute attribute_set ) @@ -143,16 +120,12 @@ RTEMS_INLINE_ROUTINE boolean _Attributes_Is_simple_binary_semaphore( ((attribute_set & RTEMS_SEMAPHORE_CLASS) == RTEMS_SIMPLE_BINARY_SEMAPHORE); } -/*PAGE - * - * _Attributes_Is_counting_semaphore - * - * DESCRIPTION: +/** + * @brief Attributes_Is_counting_semaphore * * This function returns TRUE if the counting semaphore attribute is * enabled in the attribute_set and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Attributes_Is_counting_semaphore( rtems_attribute attribute_set ) @@ -160,16 +133,12 @@ RTEMS_INLINE_ROUTINE boolean _Attributes_Is_counting_semaphore( return ((attribute_set & RTEMS_SEMAPHORE_CLASS) == RTEMS_COUNTING_SEMAPHORE); } -/*PAGE - * - * _Attributes_Is_inherit_priority - * - * DESCRIPTION: +/** + * @brief Attributes_Is_inherit_priority * * This function returns TRUE if the priority inheritance attribute * is enabled in the attribute_set and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Attributes_Is_inherit_priority( rtems_attribute attribute_set ) @@ -177,16 +146,12 @@ RTEMS_INLINE_ROUTINE boolean _Attributes_Is_inherit_priority( return ( attribute_set & RTEMS_INHERIT_PRIORITY ); } -/*PAGE - * - * _Attributes_Is_priority_ceiling - * - * DESCRIPTION: +/** + * @brief Attributes_Is_priority_ceiling * * This function returns TRUE if the priority ceiling attribute * is enabled in the attribute_set and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Attributes_Is_priority_ceiling( rtems_attribute attribute_set ) @@ -194,16 +159,12 @@ RTEMS_INLINE_ROUTINE boolean _Attributes_Is_priority_ceiling( return ( attribute_set & RTEMS_PRIORITY_CEILING ); } -/*PAGE - * - * _Attributes_Is_barrier_automatic - * - * DESCRIPTION: +/** + * @brief Attributes_Is_barrier_automatic * * This function returns TRUE if the barrier automatic release * attribute is enabled in the attribute_set and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Attributes_Is_barrier_automatic( rtems_attribute attribute_set ) @@ -211,16 +172,12 @@ RTEMS_INLINE_ROUTINE boolean _Attributes_Is_barrier_automatic( return ( attribute_set & RTEMS_BARRIER_AUTOMATIC_RELEASE ); } -/*PAGE - * - * _Attributes_Is_system_task - * - * DESCRIPTION: +/** + * @brief Attributes_Is_system_task * * This function returns TRUE if the system task attribute * is enabled in the attribute_set and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Attributes_Is_system_task( rtems_attribute attribute_set ) @@ -228,5 +185,7 @@ RTEMS_INLINE_ROUTINE boolean _Attributes_Is_system_task( return ( attribute_set & RTEMS_SYSTEM_TASK ); } +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/inline/rtems/rtems/barrier.inl b/cpukit/rtems/inline/rtems/rtems/barrier.inl index e296b88e72..e690da2469 100644 --- a/cpukit/rtems/inline/rtems/rtems/barrier.inl +++ b/cpukit/rtems/inline/rtems/rtems/barrier.inl @@ -1,12 +1,11 @@ /** * @file rtems/rtems/barrier.inl - */ - -/* + * * This file contains the static inlin implementation of the inlined * routines from the Barrier Manager. - * - * COPYRIGHT (c) 1989-2006. + */ + +/* COPYRIGHT (c) 1989-2006. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,6 +18,11 @@ #ifndef _RTEMS_RTEMS_BARRIER_INL #define _RTEMS_RTEMS_BARRIER_INL +/** + * @addtogroup ClassicBarrier + * @{ + */ + /** * @brief _Barrier_Allocate * @@ -75,5 +79,7 @@ RTEMS_INLINE_ROUTINE boolean _Barrier_Is_null ( return ( the_barrier == NULL ); } +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/inline/rtems/rtems/dpmem.inl b/cpukit/rtems/inline/rtems/rtems/dpmem.inl index f80d2ebaf5..2c3bee2741 100644 --- a/cpukit/rtems/inline/rtems/rtems/dpmem.inl +++ b/cpukit/rtems/inline/rtems/rtems/dpmem.inl @@ -1,12 +1,11 @@ /** * @file rtems/rtems/dpmem.inl - */ - -/* + * * This include file contains the inline routine used in conjunction * with the Dual Ported Memory Manager - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,17 +18,17 @@ #ifndef _RTEMS_RTEMS_DPMEM_INL #define _RTEMS_RTEMS_DPMEM_INL +/** + * @addtogroup ClassicDPMEM + * @{ + */ -/*PAGE - * - * _Dual_ported_memory_Allocate - * - * DESCRIPTION: +/** + * @brief Dual_ported_memory_Allocate * * This routine allocates a port control block from the inactive chain * of free port control blocks. */ - RTEMS_INLINE_ROUTINE Dual_ported_memory_Control *_Dual_ported_memory_Allocate ( void ) { @@ -37,16 +36,12 @@ RTEMS_INLINE_ROUTINE Dual_ported_memory_Control _Objects_Allocate( &_Dual_ported_memory_Information ); } -/*PAGE - * - * _Dual_ported_memory_Free - * - * DESCRIPTION: +/** + * @brief Dual_ported_memory_Free * * This routine frees a port control block to the inactive chain * of free port control blocks. */ - RTEMS_INLINE_ROUTINE void _Dual_ported_memory_Free ( Dual_ported_memory_Control *the_port ) @@ -54,11 +49,8 @@ RTEMS_INLINE_ROUTINE void _Dual_ported_memory_Free ( _Objects_Free( &_Dual_ported_memory_Information, &the_port->Object ); } -/*PAGE - * - * _Dual_ported_memory_Get - * - * DESCRIPTION: +/** + * @brief Dual_ported_memory_Get * * This function maps port IDs to port control blocks. If ID * corresponds to a local port, then it returns the_port control @@ -67,7 +59,6 @@ RTEMS_INLINE_ROUTINE void _Dual_ported_memory_Free ( * local port, location is set to OBJECTS_ERROR and the_port is * undefined. */ - RTEMS_INLINE_ROUTINE Dual_ported_memory_Control *_Dual_ported_memory_Get ( Objects_Id id, Objects_Locations *location @@ -77,15 +68,11 @@ RTEMS_INLINE_ROUTINE Dual_ported_memory_Control *_Dual_ported_memory_Get ( _Objects_Get( &_Dual_ported_memory_Information, id, location ); } -/*PAGE - * - * _Dual_ported_memory_Is_null - * - * DESCRIPTION: +/** + * @brief Dual_ported_memory_Is_null * * This function returns TRUE if the_port is NULL and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Dual_ported_memory_Is_null( Dual_ported_memory_Control *the_port ) @@ -93,5 +80,7 @@ RTEMS_INLINE_ROUTINE boolean _Dual_ported_memory_Is_null( return ( the_port == NULL ); } +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/inline/rtems/rtems/event.inl b/cpukit/rtems/inline/rtems/rtems/event.inl index 0ad4bc0be3..02155e3268 100644 --- a/cpukit/rtems/inline/rtems/rtems/event.inl +++ b/cpukit/rtems/inline/rtems/rtems/event.inl @@ -1,12 +1,11 @@ /** * @file rtems/rtems/event.inl - */ - -/* + * * This include file contains the static inline implementation of * macros for the Event Manager. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,5 +18,12 @@ #ifndef _RTEMS_RTEMS_EVENT_INL #define _RTEMS_RTEMS_EVENT_INL +/** + * @addtogroup ClassicEvent + * @{ + */ + +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/inline/rtems/rtems/eventset.inl b/cpukit/rtems/inline/rtems/rtems/eventset.inl index dff78bdce0..917df94f89 100644 --- a/cpukit/rtems/inline/rtems/rtems/eventset.inl +++ b/cpukit/rtems/inline/rtems/rtems/eventset.inl @@ -1,11 +1,10 @@ /** * @file rtems/rtems/eventset.inl + * + * This include file contains the information pertaining to event sets. */ -/* - * This include file contains the information pertaining to event sets. - * - * COPYRIGHT (c) 1989-2008. +/* COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -18,16 +17,17 @@ #ifndef _RTEMS_RTEMS_EVENTSET_INL #define _RTEMS_RTEMS_EVENTSET_INL -/*PAGE - * - * _Event_sets_Is_empty - * - * DESCRIPTION: +/** + * @addtogroup ClassicEventSet + * @{ + */ + +/** + * @brief Event_sets_Is_empty * * This function returns TRUE if on events are posted in the event_set, * and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Event_sets_Is_empty( rtems_event_set the_event_set ) @@ -35,16 +35,12 @@ RTEMS_INLINE_ROUTINE boolean _Event_sets_Is_empty( return ( the_event_set == 0 ); } -/*PAGE - * - * _Event_sets_Post - * - * DESCRIPTION: +/** + * @brief Event_sets_Post * * This routine posts the given new_events into the event_set * passed in. The result is returned to the user in event_set. */ - RTEMS_INLINE_ROUTINE void _Event_sets_Post( rtems_event_set the_new_events, rtems_event_set *the_event_set @@ -57,16 +53,12 @@ RTEMS_INLINE_ROUTINE void _Event_sets_Post( _ISR_Enable( level ); } -/*PAGE - * - * _Event_sets_Get - * - * DESCRIPTION: +/** + * @brief Event_sets_Get * * This function returns the events in event_condition which are * set in event_set. */ - RTEMS_INLINE_ROUTINE rtems_event_set _Event_sets_Get( rtems_event_set the_event_set, rtems_event_set the_event_condition @@ -75,16 +67,12 @@ RTEMS_INLINE_ROUTINE rtems_event_set _Event_sets_Get( return ( the_event_set & the_event_condition ); } -/*PAGE - * - * _Event_sets_Clear - * - * DESCRIPTION: +/** + * @brief Event_sets_Clear * * This function removes the events in mask from the event_set * passed in. The result is returned to the user in event_set. */ - RTEMS_INLINE_ROUTINE rtems_event_set _Event_sets_Clear( rtems_event_set the_event_set, rtems_event_set the_mask @@ -93,5 +81,7 @@ RTEMS_INLINE_ROUTINE rtems_event_set _Event_sets_Clear( return ( the_event_set & ~(the_mask) ); } +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/inline/rtems/rtems/message.inl b/cpukit/rtems/inline/rtems/rtems/message.inl index 06ccc32e1e..98665c5dac 100644 --- a/cpukit/rtems/inline/rtems/rtems/message.inl +++ b/cpukit/rtems/inline/rtems/rtems/message.inl @@ -1,12 +1,11 @@ /** * @file rtems/rtems/message.inl - */ - -/* + * * This include file contains the static inline implementation of all * inlined routines in the Message Manager. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -21,16 +20,17 @@ #include -/*PAGE - * - * _Message_queue_Is_null - * - * DESCRIPTION: +/** + * @addtogroup ClassicMessageQueue + * @{ + */ + +/** + * @brief Message_queue_Is_null * * This function places the_message at the rear of the outstanding * messages on the_message_queue. */ - RTEMS_INLINE_ROUTINE boolean _Message_queue_Is_null ( Message_queue_Control *the_message_queue ) @@ -39,16 +39,12 @@ RTEMS_INLINE_ROUTINE boolean _Message_queue_Is_null ( } -/*PAGE - * - * _Message_queue_Free - * - * DESCRIPTION: +/** + * @brief Message_queue_Free * * This routine deallocates a message queue control block into * the inactive chain of free message queue control blocks. */ - RTEMS_INLINE_ROUTINE void _Message_queue_Free ( Message_queue_Control *the_message_queue ) @@ -56,11 +52,8 @@ RTEMS_INLINE_ROUTINE void _Message_queue_Free ( _Objects_Free( &_Message_queue_Information, &the_message_queue->Object ); } -/*PAGE - * - * _Message_queue_Get - * - * DESCRIPTION: +/** + * @brief Message_queue_Get * * This function maps message queue IDs to message queue control * blocks. If ID corresponds to a local message queue, then it @@ -71,7 +64,6 @@ RTEMS_INLINE_ROUTINE void _Message_queue_Free ( * Otherwise, location is set to OBJECTS_ERROR and * the_message_queue is undefined. */ - RTEMS_INLINE_ROUTINE Message_queue_Control *_Message_queue_Get ( Objects_Id id, Objects_Locations *location @@ -81,5 +73,7 @@ RTEMS_INLINE_ROUTINE Message_queue_Control *_Message_queue_Get ( _Objects_Get( &_Message_queue_Information, id, location ); } +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/inline/rtems/rtems/modes.inl b/cpukit/rtems/inline/rtems/rtems/modes.inl index eef7a3d9f3..9656de2dab 100644 --- a/cpukit/rtems/inline/rtems/rtems/modes.inl +++ b/cpukit/rtems/inline/rtems/rtems/modes.inl @@ -1,12 +1,11 @@ /** * @file rtems/rtems/modes.inl - */ - -/* + * * This include file contains the static inline implementation of the * inlined routines in the Mode Handler - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,16 +18,17 @@ #ifndef _RTEMS_RTEMS_MODES_INL #define _RTEMS_RTEMS_MODES_INL -/*PAGE - * - * _Modes_Mask_changed - * - * DESCRIPTION: +/** + * @addtogroup ClassicModes + * @{ + */ + +/** + * @brief Modes_Mask_changed * * This function returns TRUE if any of the mode flags in mask * are set in mode_set, and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Modes_Mask_changed ( Modes_Control mode_set, Modes_Control masks @@ -37,16 +37,12 @@ RTEMS_INLINE_ROUTINE boolean _Modes_Mask_changed ( return ( mode_set & masks ); } -/*PAGE - * - * _Modes_Is_asr_disabled - * - * DESCRIPTION: +/** + * @brief Modes_Is_asr_disabled * * This function returns TRUE if mode_set indicates that Asynchronous * Signal Processing is disabled, and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Modes_Is_asr_disabled ( Modes_Control mode_set ) @@ -54,16 +50,12 @@ RTEMS_INLINE_ROUTINE boolean _Modes_Is_asr_disabled ( return (mode_set & RTEMS_ASR_MASK) == RTEMS_NO_ASR; } -/*PAGE - * - * _Modes_Is_preempt - * - * DESCRIPTION: +/** + * @brief Modes_Is_preempt * * This function returns TRUE if mode_set indicates that preemption * is enabled, and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Modes_Is_preempt ( Modes_Control mode_set ) @@ -71,16 +63,12 @@ RTEMS_INLINE_ROUTINE boolean _Modes_Is_preempt ( return (mode_set & RTEMS_PREEMPT_MASK) == RTEMS_PREEMPT; } -/*PAGE - * - * _Modes_Is_timeslice - * - * DESCRIPTION: +/** + * @brief Modes_Is_timeslice * * This function returns TRUE if mode_set indicates that timeslicing * is enabled, and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Modes_Is_timeslice ( Modes_Control mode_set ) @@ -88,15 +76,11 @@ RTEMS_INLINE_ROUTINE boolean _Modes_Is_timeslice ( return (mode_set & RTEMS_TIMESLICE_MASK) == RTEMS_TIMESLICE; } -/*PAGE - * - * _Modes_Get_interrupt_level - * - * DESCRIPTION: +/** + * @brief Modes_Get_interrupt_level * * This function returns the interrupt level portion of the mode_set. */ - RTEMS_INLINE_ROUTINE ISR_Level _Modes_Get_interrupt_level ( Modes_Control mode_set ) @@ -104,16 +88,12 @@ RTEMS_INLINE_ROUTINE ISR_Level _Modes_Get_interrupt_level ( return ( mode_set & RTEMS_INTERRUPT_MASK ); } -/*PAGE - * - * _Modes_Set_interrupt_level - * - * DESCRIPTION: +/** + * @brief Modes_Set_interrupt_level * * This routine sets the current interrupt level to that specified * in the mode_set. */ - RTEMS_INLINE_ROUTINE void _Modes_Set_interrupt_level ( Modes_Control mode_set ) @@ -121,18 +101,14 @@ RTEMS_INLINE_ROUTINE void _Modes_Set_interrupt_level ( _ISR_Set_level( _Modes_Get_interrupt_level( mode_set ) ); } -/*PAGE - * - * _Modes_Change - * - * DESCRIPTION: +/** + * @brief Modes_Change * * This routine changes the modes in old_mode_set indicated by * mask to the requested values in new_mode_set. The resulting * mode set is returned in out_mode_set and the modes that changed * is returned in changed. */ - RTEMS_INLINE_ROUTINE void _Modes_Change ( Modes_Control old_mode_set, Modes_Control new_mode_set, @@ -150,5 +126,7 @@ RTEMS_INLINE_ROUTINE void _Modes_Change ( *out_mode_set = _out_mode; } +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/inline/rtems/rtems/options.inl b/cpukit/rtems/inline/rtems/rtems/options.inl index 1aa5ba6e0d..7bc10de9ca 100644 --- a/cpukit/rtems/inline/rtems/rtems/options.inl +++ b/cpukit/rtems/inline/rtems/rtems/options.inl @@ -1,12 +1,11 @@ /** * @file rtems/rtems/options.inl - */ - -/* + * * This file contains the static inline implementation of the inlined * routines from the Options Handler. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,16 +18,17 @@ #ifndef _RTEMS_RTEMS_OPTIONS_INL #define _RTEMS_RTEMS_OPTIONS_INL -/*PAGE - * - * _Options_Is_no_wait - * - * DESCRIPTION: +/** + * @addtogroup ClassicOptions + * @{ + */ + +/** + * @brief Options_Is_no_wait * * This function returns TRUE if the RTEMS_NO_WAIT option is enabled in * option_set, and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Options_Is_no_wait ( rtems_option option_set ) @@ -36,16 +36,12 @@ RTEMS_INLINE_ROUTINE boolean _Options_Is_no_wait ( return (option_set & RTEMS_NO_WAIT); } -/*PAGE - * - * _Options_Is_any - * - * DESCRIPTION: +/** + * @brief Options_Is_any * * This function returns TRUE if the RTEMS_EVENT_ANY option is enabled in * OPTION_SET, and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Options_Is_any ( rtems_option option_set ) @@ -53,5 +49,7 @@ RTEMS_INLINE_ROUTINE boolean _Options_Is_any ( return (option_set & RTEMS_EVENT_ANY); } +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/inline/rtems/rtems/part.inl b/cpukit/rtems/inline/rtems/rtems/part.inl index 1e8f3b2f8d..7674c48e18 100644 --- a/cpukit/rtems/inline/rtems/rtems/part.inl +++ b/cpukit/rtems/inline/rtems/rtems/part.inl @@ -1,12 +1,11 @@ /** * @file rtems/rtems/part.inl - */ - -/* + * * This file contains the macro implementation of all inlined routines * in the Partition Manager. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,17 +18,18 @@ #ifndef _RTEMS_RTEMS_PART_INL #define _RTEMS_RTEMS_PART_INL -/*PAGE - * - * _Partition_Allocate_buffer - * - * DESCRIPTION: +/** + * @addtogroup ClassicPart + * @{ + */ + +/** + * @brief Partition_Allocate_buffer * * This function attempts to allocate a buffer from the_partition. * If successful, it returns the address of the allocated buffer. * Otherwise, it returns NULL. */ - RTEMS_INLINE_ROUTINE void *_Partition_Allocate_buffer ( Partition_Control *the_partition ) @@ -37,15 +37,11 @@ RTEMS_INLINE_ROUTINE void *_Partition_Allocate_buffer ( return _Chain_Get( &the_partition->Memory ); } -/*PAGE - * - * _Partition_Free_buffer - * - * DESCRIPTION: +/** + * @brief Partition_Free_buffer * * This routine frees the_buffer to the_partition. */ - RTEMS_INLINE_ROUTINE void _Partition_Free_buffer ( Partition_Control *the_partition, Chain_Node *the_buffer @@ -54,16 +50,12 @@ RTEMS_INLINE_ROUTINE void _Partition_Free_buffer ( _Chain_Append( &the_partition->Memory, the_buffer ); } -/*PAGE - * - * _Partition_Is_buffer_on_boundary - * - * DESCRIPTION: +/** + * @brief Partition_Is_buffer_on_boundary * * This function returns TRUE if the_buffer is on a valid buffer * boundary for the_partition, and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Partition_Is_buffer_on_boundary ( void *the_buffer, Partition_Control *the_partition @@ -79,16 +71,12 @@ RTEMS_INLINE_ROUTINE boolean _Partition_Is_buffer_on_boundary ( return ((offset % the_partition->buffer_size) == 0); } -/*PAGE - * - * _Partition_Is_buffer_valid - * - * DESCRIPTION: +/** + * @brief Partition_Is_buffer_valid * * This function returns TRUE if the_buffer is a valid buffer from * the_partition, otherwise FALSE is returned. */ - RTEMS_INLINE_ROUTINE boolean _Partition_Is_buffer_valid ( Chain_Node *the_buffer, Partition_Control *the_partition @@ -106,17 +94,13 @@ RTEMS_INLINE_ROUTINE boolean _Partition_Is_buffer_valid ( ); } -/*PAGE - * - * _Partition_Is_buffer_size_aligned - * - * DESCRIPTION: +/** + * @brief Partition_Is_buffer_size_aligned * * This function returns TRUE if the use of the specified buffer_size * will result in the allocation of buffers whose first byte is * properly aligned, and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Partition_Is_buffer_size_aligned ( uint32_t buffer_size ) @@ -124,31 +108,23 @@ RTEMS_INLINE_ROUTINE boolean _Partition_Is_buffer_size_aligned ( return ((buffer_size % CPU_PARTITION_ALIGNMENT) == 0); } -/*PAGE - * - * _Partition_Allocate - * - * DESCRIPTION: +/** + * @brief Partition_Allocate * * This function allocates a partition control block from * the inactive chain of free partition control blocks. */ - RTEMS_INLINE_ROUTINE Partition_Control *_Partition_Allocate ( void ) { return (Partition_Control *) _Objects_Allocate( &_Partition_Information ); } -/*PAGE - * - * _Partition_Free - * - * DESCRIPTION: +/** + * @brief Partition_Free * * This routine frees a partition control block to the * inactive chain of free partition control blocks. */ - RTEMS_INLINE_ROUTINE void _Partition_Free ( Partition_Control *the_partition ) @@ -156,11 +132,8 @@ RTEMS_INLINE_ROUTINE void _Partition_Free ( _Objects_Free( &_Partition_Information, &the_partition->Object ); } -/*PAGE - * - * _Partition_Get - * - * DESCRIPTION: +/** + * @brief Partition_Get * * This function maps partition IDs to partition control blocks. * If ID corresponds to a local partition, then it returns @@ -170,7 +143,6 @@ RTEMS_INLINE_ROUTINE void _Partition_Free ( * and the_partition is undefined. Otherwise, location is set * to OBJECTS_ERROR and the_partition is undefined. */ - RTEMS_INLINE_ROUTINE Partition_Control *_Partition_Get ( Objects_Id id, Objects_Locations *location @@ -180,16 +152,12 @@ RTEMS_INLINE_ROUTINE Partition_Control *_Partition_Get ( _Objects_Get( &_Partition_Information, id, location ); } -/*PAGE - * - * _Partition_Is_null - * - * DESCRIPTION: +/** + * @brief Partition_Is_null * * This function returns TRUE if the_partition is NULL * and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Partition_Is_null ( Partition_Control *the_partition ) @@ -197,5 +165,7 @@ RTEMS_INLINE_ROUTINE boolean _Partition_Is_null ( return ( the_partition == NULL ); } +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/inline/rtems/rtems/ratemon.inl b/cpukit/rtems/inline/rtems/rtems/ratemon.inl index bae2940617..7f2d9703fd 100644 --- a/cpukit/rtems/inline/rtems/rtems/ratemon.inl +++ b/cpukit/rtems/inline/rtems/rtems/ratemon.inl @@ -1,12 +1,11 @@ /** * @file rtems/rtems/ratemon.inl - */ - -/* + * * This file contains the static inline implementation of the inlined * routines in the Rate Monotonic Manager. - * - * COPYRIGHT (c) 1989-2007. + */ + +/* COPYRIGHT (c) 1989-2007. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,32 +18,29 @@ #ifndef _RTEMS_RTEMS_RATEMON_INL #define _RTEMS_RTEMS_RATEMON_INL -/*PAGE - * - * _Rate_monotonic_Allocate - * - * DESCRIPTION: +/** + * @addtogroup ClassicRateMon + * @{ + */ + +/** + * @brief Rate_monotonic_Allocate * * This function allocates a period control block from * the inactive chain of free period control blocks. */ - RTEMS_INLINE_ROUTINE Rate_monotonic_Control *_Rate_monotonic_Allocate( void ) { return (Rate_monotonic_Control *) _Objects_Allocate( &_Rate_monotonic_Information ); } -/*PAGE - * - * _Rate_monotonic_Free - * - * DESCRIPTION: +/** + * @brief Rate_monotonic_Free * * This routine allocates a period control block from * the inactive chain of free period control blocks. */ - RTEMS_INLINE_ROUTINE void _Rate_monotonic_Free ( Rate_monotonic_Control *the_period ) @@ -52,11 +48,8 @@ RTEMS_INLINE_ROUTINE void _Rate_monotonic_Free ( _Objects_Free( &_Rate_monotonic_Information, &the_period->Object ); } -/*PAGE - * - * _Rate_monotonic_Get - * - * DESCRIPTION: +/** + * @brief Rate_monotonic_Get * * This function maps period IDs to period control blocks. * If ID corresponds to a local period, then it returns @@ -64,7 +57,6 @@ RTEMS_INLINE_ROUTINE void _Rate_monotonic_Free ( * is set to OBJECTS_LOCAL. Otherwise, location is set * to OBJECTS_ERROR and the_period is undefined. */ - RTEMS_INLINE_ROUTINE Rate_monotonic_Control *_Rate_monotonic_Get ( Objects_Id id, Objects_Locations *location @@ -74,16 +66,12 @@ RTEMS_INLINE_ROUTINE Rate_monotonic_Control *_Rate_monotonic_Get ( _Objects_Get( &_Rate_monotonic_Information, id, location ); } -/*PAGE - * - * _Rate_monotonic_Is_active - * - * DESCRIPTION: +/** + * @brief Rate_monotonic_Is_active * * This function returns TRUE if the_period is in the ACTIVE state, * and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Rate_monotonic_Is_active ( Rate_monotonic_Control *the_period ) @@ -91,16 +79,12 @@ RTEMS_INLINE_ROUTINE boolean _Rate_monotonic_Is_active ( return (the_period->state == RATE_MONOTONIC_ACTIVE); } -/*PAGE - * - * _Rate_monotonic_Is_inactive - * - * DESCRIPTION: +/** + * @brief Rate_monotonic_Is_inactive * * This function returns TRUE if the_period is in the ACTIVE state, * and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Rate_monotonic_Is_inactive ( Rate_monotonic_Control *the_period ) @@ -108,16 +92,12 @@ RTEMS_INLINE_ROUTINE boolean _Rate_monotonic_Is_inactive ( return (the_period->state == RATE_MONOTONIC_INACTIVE); } -/*PAGE - * - * _Rate_monotonic_Is_expired - * - * DESCRIPTION: +/** + * @brief Rate_monotonic_Is_expired * * This function returns TRUE if the_period is in the EXPIRED state, * and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Rate_monotonic_Is_expired ( Rate_monotonic_Control *the_period ) @@ -125,15 +105,11 @@ RTEMS_INLINE_ROUTINE boolean _Rate_monotonic_Is_expired ( return (the_period->state == RATE_MONOTONIC_EXPIRED); } -/*PAGE - * - * _Rate_monotonic_Is_null - * - * DESCRIPTION: +/** + * @brief Rate_monotonic_Is_null * * This function returns TRUE if the_period is NULL and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Rate_monotonic_Is_null ( Rate_monotonic_Control *the_period ) @@ -141,5 +117,7 @@ RTEMS_INLINE_ROUTINE boolean _Rate_monotonic_Is_null ( return (the_period == NULL); } +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/inline/rtems/rtems/region.inl b/cpukit/rtems/inline/rtems/rtems/region.inl index 412efec203..efc77f8db2 100644 --- a/cpukit/rtems/inline/rtems/rtems/region.inl +++ b/cpukit/rtems/inline/rtems/rtems/region.inl @@ -1,12 +1,11 @@ /** * @file rtems/rtems/region.inl - */ - -/* + * * This file contains the macro implementation of the inlined * routines from the Region Manager. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,31 +18,28 @@ #ifndef _RTEMS_RTEMS_REGION_INL #define _RTEMS_RTEMS_REGION_INL -/*PAGE - * - * _Region_Allocate - * - * DESCRIPTION: +/** + * @addtogroup ClassicRegion + * @{ + */ + +/** + * @brief Region_Allocate * * This function allocates a region control block from * the inactive chain of free region control blocks. */ - RTEMS_INLINE_ROUTINE Region_Control *_Region_Allocate( void ) { return (Region_Control *) _Objects_Allocate( &_Region_Information ); } -/*PAGE - * - * _Region_Free - * - * DESCRIPTION: +/** + * @brief Region_Free * * This routine frees a region control block to the * inactive chain of free region control blocks. */ - RTEMS_INLINE_ROUTINE void _Region_Free ( Region_Control *the_region ) @@ -51,11 +47,8 @@ RTEMS_INLINE_ROUTINE void _Region_Free ( _Objects_Free( &_Region_Information, &the_region->Object ); } -/*PAGE - * - * _Region_Get - * - * DESCRIPTION: +/** + * @brief Region_Get * * This function maps region IDs to region control blocks. * If ID corresponds to a local region, then it returns @@ -63,7 +56,6 @@ RTEMS_INLINE_ROUTINE void _Region_Free ( * is set to OBJECTS_LOCAL. Otherwise, location is set * to OBJECTS_ERROR and the_region is undefined. */ - RTEMS_INLINE_ROUTINE Region_Control *_Region_Get ( Objects_Id id, Objects_Locations *location @@ -73,17 +65,13 @@ RTEMS_INLINE_ROUTINE Region_Control *_Region_Get ( _Objects_Get_no_protection( &_Region_Information, id, location ); } -/*PAGE - * - * _Region_Allocate_segment - * - * DESCRIPTION: +/** + * @brief Region_Allocate_segment * * This function attempts to allocate a segment from the_region. * If successful, it returns the address of the allocated segment. * Otherwise, it returns NULL. */ - RTEMS_INLINE_ROUTINE void *_Region_Allocate_segment ( Region_Control *the_region, uint32_t size @@ -92,15 +80,11 @@ RTEMS_INLINE_ROUTINE void *_Region_Allocate_segment ( return _Heap_Allocate( &the_region->Memory, size ); } -/*PAGE - * - * _Region_Free_segment - * - * DESCRIPTION: +/** + * @brief Region_Free_segment * * This function frees the_segment to the_region. */ - RTEMS_INLINE_ROUTINE boolean _Region_Free_segment ( Region_Control *the_region, void *the_segment @@ -109,15 +93,11 @@ RTEMS_INLINE_ROUTINE boolean _Region_Free_segment ( return _Heap_Free( &the_region->Memory, the_segment ); } -/*PAGE - * - * _Region_Is_null - * - * DESCRIPTION: +/** + * @brief Region_Is_null * * This function returns TRUE if the_region is NULL and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Region_Is_null ( Region_Control *the_region ) diff --git a/cpukit/rtems/inline/rtems/rtems/sem.inl b/cpukit/rtems/inline/rtems/rtems/sem.inl index fd1924017f..3ae3666faf 100644 --- a/cpukit/rtems/inline/rtems/rtems/sem.inl +++ b/cpukit/rtems/inline/rtems/rtems/sem.inl @@ -1,12 +1,11 @@ /** * @file rtems/rtems/sem.inl - */ - -/* + * * This file contains the static inlin implementation of the inlined * routines from the Semaphore Manager. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,31 +18,28 @@ #ifndef _RTEMS_RTEMS_SEM_INL #define _RTEMS_RTEMS_SEM_INL -/*PAGE - * - * _Semaphore_Allocate - * - * DESCRIPTION: +/** + * @addtogroup ClassicSem + * @{ + */ + +/** + * @brief Semaphore_Allocate * * This function allocates a semaphore control block from * the inactive chain of free semaphore control blocks. */ - RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Allocate( void ) { return (Semaphore_Control *) _Objects_Allocate( &_Semaphore_Information ); } -/*PAGE - * - * _Semaphore_Free - * - * DESCRIPTION: +/** + * @brief Semaphore_Free * * This routine frees a semaphore control block to the * inactive chain of free semaphore control blocks. */ - RTEMS_INLINE_ROUTINE void _Semaphore_Free ( Semaphore_Control *the_semaphore ) @@ -51,11 +47,8 @@ RTEMS_INLINE_ROUTINE void _Semaphore_Free ( _Objects_Free( &_Semaphore_Information, &the_semaphore->Object ); } -/*PAGE - * - * _Semaphore_Get - * - * DESCRIPTION: +/** + * @brief Semaphore_Get * * This function maps semaphore IDs to semaphore control blocks. * If ID corresponds to a local semaphore, then it returns @@ -65,7 +58,6 @@ RTEMS_INLINE_ROUTINE void _Semaphore_Free ( * and the_semaphore is undefined. Otherwise, location is set * to OBJECTS_ERROR and the_semaphore is undefined. */ - RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Get ( Objects_Id id, Objects_Locations *location @@ -85,15 +77,11 @@ RTEMS_INLINE_ROUTINE Semaphore_Control *_Semaphore_Get_interrupt_disable ( _Objects_Get_isr_disable( &_Semaphore_Information, id, location, level ); } -/*PAGE - * - * _Semaphore_Is_null - * - * DESCRIPTION: +/** + * @brief Semaphore_Is_null * * This function returns TRUE if the_semaphore is NULL and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Semaphore_Is_null ( Semaphore_Control *the_semaphore ) @@ -101,5 +89,7 @@ RTEMS_INLINE_ROUTINE boolean _Semaphore_Is_null ( return ( the_semaphore == NULL ); } +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/inline/rtems/rtems/status.inl b/cpukit/rtems/inline/rtems/rtems/status.inl index c1e5d998cb..cf8bfffeea 100644 --- a/cpukit/rtems/inline/rtems/rtems/status.inl +++ b/cpukit/rtems/inline/rtems/rtems/status.inl @@ -1,12 +1,11 @@ /** * @file rtems/rtems/status.inl - */ - -/* + * * This include file contains the implementations of the inlined * routines for the status package. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,16 +18,17 @@ #ifndef _RTEMS_RTEMS_STATUS_INL #define _RTEMS_RTEMS_STATUS_INL -/*PAGE - * - * rtems_is_status_successful - * - * DESCRIPTION: +/** + * @addtogroup ClassicStatus + * @{ + */ + +/** + * @brief tems_is_status_successful * * This function returns TRUE if the status code is equal to RTEMS_SUCCESSFUL, * and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean rtems_is_status_successful( rtems_status_code code ) @@ -36,16 +36,12 @@ RTEMS_INLINE_ROUTINE boolean rtems_is_status_successful( return (code == RTEMS_SUCCESSFUL); } -/*PAGE - * - * rtems_are_statuses_equal - * - * DESCRIPTION: +/** + * @brief tems_are_statuses_equal * * This function returns TRUE if the status code1 is equal to code2, * and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean rtems_are_statuses_equal( rtems_status_code code1, rtems_status_code code2 @@ -54,5 +50,7 @@ RTEMS_INLINE_ROUTINE boolean rtems_are_statuses_equal( return (code1 == code2); } +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/inline/rtems/rtems/support.inl b/cpukit/rtems/inline/rtems/rtems/support.inl index 4c507b0daf..f8c24aef05 100644 --- a/cpukit/rtems/inline/rtems/rtems/support.inl +++ b/cpukit/rtems/inline/rtems/rtems/support.inl @@ -1,12 +1,11 @@ /** * @file rtems/rtems/support.inl - */ - -/* + * * This include file contains the static inline implementation of all * of the inlined routines specific to the RTEMS API. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,15 +18,16 @@ #ifndef _RTEMS_RTEMS_SUPPORT_INL #define _RTEMS_RTEMS_SUPPORT_INL -/*PAGE - * +/** + * @addtogroup ClassicSupport + * @{ + */ + +/** * rtems_is_name_valid * - * DESCRIPTION: - * * This function returns TRUE if the name is valid, and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE rtems_boolean rtems_is_name_valid ( rtems_name name ) @@ -35,16 +35,12 @@ RTEMS_INLINE_ROUTINE rtems_boolean rtems_is_name_valid ( return ( name != 0 ); } -/*PAGE - * +/** * rtems_name_to_characters * - * DESCRIPTION: - * * This function breaks the object name into the four component * characters C1, C2, C3, and C4. */ - RTEMS_INLINE_ROUTINE void rtems_name_to_characters( rtems_name name, char *c1, @@ -59,5 +55,7 @@ RTEMS_INLINE_ROUTINE void rtems_name_to_characters( *c4 = name & 0xff; } +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/inline/rtems/rtems/tasks.inl b/cpukit/rtems/inline/rtems/rtems/tasks.inl index 143662c609..4b705c2e24 100644 --- a/cpukit/rtems/inline/rtems/rtems/tasks.inl +++ b/cpukit/rtems/inline/rtems/rtems/tasks.inl @@ -1,12 +1,11 @@ /** * @file rtems/rtems/tasks.inl - */ - -/* + * * This file contains the static inline implementation of all inlined * routines in the with RTEMS Tasks Manager. - * - * COPYRIGHT (c) 1989-2008. + */ + +/* COPYRIGHT (c) 1989-2008. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,31 +18,28 @@ #ifndef _RTEMS_RTEMS_TASKS_INL #define _RTEMS_RTEMS_TASKS_INL -/*PAGE - * - * _RTEMS_tasks_Allocate - * - * DESCRIPTION: +/** + * @addtogroup ClassicTasks + * @{ + */ + +/** + * @brief RTEMS_tasks_Allocate * * This function allocates a task control block from * the inactive chain of free task control blocks. */ - RTEMS_INLINE_ROUTINE Thread_Control *_RTEMS_tasks_Allocate( void ) { return (Thread_Control *) _Objects_Allocate( &_RTEMS_tasks_Information ); } -/*PAGE - * - * _RTEMS_tasks_Free - * - * DESCRIPTION: +/** + * @brief RTEMS_tasks_Free * * This routine frees a task control block to the * inactive chain of free task control blocks. */ - RTEMS_INLINE_ROUTINE void _RTEMS_tasks_Free ( Thread_Control *the_task ) @@ -54,15 +50,11 @@ RTEMS_INLINE_ROUTINE void _RTEMS_tasks_Free ( ); } -/*PAGE - * - * _RTEMS_tasks_Priority_to_Core - * - * DESCRIPTION: +/** + * @brief RTEMS_tasks_Priority_to_Core * * This function converts an RTEMS API priority into a core priority. */ - RTEMS_INLINE_ROUTINE Priority_Control _RTEMS_tasks_Priority_to_Core( rtems_task_priority priority ) @@ -70,16 +62,12 @@ RTEMS_INLINE_ROUTINE Priority_Control _RTEMS_tasks_Priority_to_Core( return (Priority_Control) priority; } -/*PAGE - * - * _RTEMS_tasks_Priority_is_valid - * - * DESCRIPTION: +/** + * @brief RTEMS_tasks_Priority_is_valid * * This function returns TRUE if the_priority is a valid user task priority * and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _RTEMS_tasks_Priority_is_valid ( rtems_task_priority the_priority ) @@ -88,5 +76,7 @@ RTEMS_INLINE_ROUTINE boolean _RTEMS_tasks_Priority_is_valid ( ( the_priority <= RTEMS_MAXIMUM_PRIORITY ) ); } +/**@}*/ + #endif /* end of include file */ diff --git a/cpukit/rtems/inline/rtems/rtems/timer.inl b/cpukit/rtems/inline/rtems/rtems/timer.inl index 6660af6e40..884e46e2b5 100644 --- a/cpukit/rtems/inline/rtems/rtems/timer.inl +++ b/cpukit/rtems/inline/rtems/rtems/timer.inl @@ -1,12 +1,11 @@ /** * @file rtems/rtems/timer.inl - */ - -/* + * * This file contains the static inline implementation of the inlined routines * from the Timer Manager. - * - * COPYRIGHT (c) 1989-1999. + */ + +/* COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -19,31 +18,28 @@ #ifndef _RTEMS_RTEMS_TIMER_INL #define _RTEMS_RTEMS_TIMER_INL -/*PAGE - * - * _Timer_Allocate - * - * DESCRIPTION: +/** + * @addtogroup ClassicTimer + * @{ + */ + +/** + * @brief Timer_Allocate * * This function allocates a timer control block from * the inactive chain of free timer control blocks. */ - RTEMS_INLINE_ROUTINE Timer_Control *_Timer_Allocate( void ) { return (Timer_Control *) _Objects_Allocate( &_Timer_Information ); } -/*PAGE - * - * _Timer_Free - * - * DESCRIPTION: +/** + * @brief Timer_Free * * This routine frees a timer control block to the * inactive chain of free timer control blocks. */ - RTEMS_INLINE_ROUTINE void _Timer_Free ( Timer_Control *the_timer ) @@ -51,11 +47,8 @@ RTEMS_INLINE_ROUTINE void _Timer_Free ( _Objects_Free( &_Timer_Information, &the_timer->Object ); } -/*PAGE - * - * _Timer_Get - * - * DESCRIPTION: +/** + * @brief Timer_Get * * This function maps timer IDs to timer control blocks. * If ID corresponds to a local timer, then it returns @@ -63,7 +56,6 @@ RTEMS_INLINE_ROUTINE void _Timer_Free ( * is set to OBJECTS_LOCAL. Otherwise, location is set * to OBJECTS_ERROR and the returned value is undefined. */ - RTEMS_INLINE_ROUTINE Timer_Control *_Timer_Get ( Objects_Id id, Objects_Locations *location @@ -73,16 +65,12 @@ RTEMS_INLINE_ROUTINE Timer_Control *_Timer_Get ( _Objects_Get( &_Timer_Information, id, location ); } -/*PAGE - * - * _Timer_Is_interval_class - * - * DESCRIPTION: +/** + * @brief Timer_Is_interval_class * * This function returns TRUE if the class is that of an INTERVAL * timer, and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Timer_Is_interval_class ( Timer_Classes the_class ) @@ -90,16 +78,12 @@ RTEMS_INLINE_ROUTINE boolean _Timer_Is_interval_class ( return (the_class == TIMER_INTERVAL) || (the_class == TIMER_INTERVAL_ON_TASK); } -/*PAGE - * - * _Timer_Is_time_of_day_class - * - * DESCRIPTION: +/** + * @brief Timer_Is_time_of_day_class * * This function returns TRUE if the class is that of an INTERVAL * timer, and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Timer_Is_timer_of_day_class ( Timer_Classes the_class ) @@ -107,16 +91,12 @@ RTEMS_INLINE_ROUTINE boolean _Timer_Is_timer_of_day_class ( return ( the_class == TIMER_TIME_OF_DAY ); } -/*PAGE - * - * _Timer_Is_dormant_class - * - * DESCRIPTION: +/** + * @brief Timer_Is_dormant_class * * This function returns TRUE if the class is that of a DORMANT * timer, and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Timer_Is_dormant_class ( Timer_Classes the_class ) @@ -124,15 +104,11 @@ RTEMS_INLINE_ROUTINE boolean _Timer_Is_dormant_class ( return ( the_class == TIMER_DORMANT ); } -/*PAGE - * - * _Timer_Is_null - * - * DESCRIPTION: +/** + * @brief Timer_Is_null * * This function returns TRUE if the_timer is NULL and FALSE otherwise. */ - RTEMS_INLINE_ROUTINE boolean _Timer_Is_null ( Timer_Control *the_timer ) @@ -140,5 +116,7 @@ RTEMS_INLINE_ROUTINE boolean _Timer_Is_null ( return ( the_timer == NULL ); } +/**@}*/ + #endif /* end of include file */ -- cgit v1.2.3