To make the documentation readable from the source I want to get rid of the substitutions for the project name an code name. This does not add any values and makes it unreadable when looking at the text files directly. It also causes some issues when people use those without actually knowing what they represent, resulting in some weird and redundant language. Change-Id: I09e8cbbee7c1141a7a77d3ffff59cdae2b52050c Signed-off-by: Anas Nashif <anas.nashif@intel.com>
56 lines
1.8 KiB
ReStructuredText
56 lines
1.8 KiB
ReStructuredText
.. _groups:
|
|
|
|
Doxygen Groups
|
|
##############
|
|
|
|
The Zephyr Kernel's in-code documentation implements Doxygen groups.
|
|
The comments regarding the various services are contained in their respective groups.
|
|
The services groups are then contained in one of two main groups: either microkernel or nanokernel.
|
|
Each group can contain other groups, functions, variables, enums, typedefs and defines.
|
|
|
|
.. note:: Compound entities such as: clases, files and namespaces can be put into multiple groups;
|
|
however, variables, functions, typedefs and enums can only be member of one group.
|
|
|
|
Defining Groups
|
|
***************
|
|
|
|
There are different ways to define groups and members.
|
|
You must define a group using the directive :literal:`@defgroup <GroupLabel>`,
|
|
where :literal:`<GroupLabel>` is replaced with the name of the specific group.
|
|
This label serves as reference when adding or pulling information to that group.
|
|
Keep in mind that the label must be a single word.
|
|
The desired entities must be inside the comment block that uses the syntax :literal:`@{` &
|
|
:literal:`@}`
|
|
|
|
|
|
.. code-block:: C
|
|
|
|
/** @defgroup <GroupLabel> Group Name
|
|
* Detailed Description of the Group
|
|
* @{
|
|
*/
|
|
|
|
/* @brief Brief description of the entity*/
|
|
<entity1>
|
|
|
|
/* @brief Brief description of the entity*/
|
|
<entity2>
|
|
|
|
/** @} */ // End of GroupLabel
|
|
|
|
If you need to add more information that is not listed inside the group block,
|
|
you must use :literal:`@addtogroup <GroupLabel>`.
|
|
|
|
|
|
Example:
|
|
|
|
.. code-block:: C
|
|
|
|
/** @addtogroup <GroupLabel>
|
|
* Optional: This line adds information to the GroupLabel Detailed Description of the Group
|
|
* @{
|
|
*/
|
|
|
|
/* The entities you want to add must be inserted inside before the close block*/
|
|
|
|
/** @} // End of addtogroup GroupLabel |