diff --git a/doc/Makefile.am b/doc/Makefile.am index dca8fed7d..66e8aa3aa 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -47,6 +47,7 @@ EXTRA_DIST = \ $(srcdir)/images/ot-contrib-synopsys.png \ $(srcdir)/images/ot-contrib-ti.png \ $(srcdir)/images/ot-contrib-zephyr.png \ + $(srcdir)/ot_api_doc.h \ $(NULL) # @@ -77,6 +78,9 @@ CLEANFILES = \ if OPENTHREAD_BUILD_DOCS +openthreaddir = $(includedir)/openthread +dist_openthread_HEADERS = ot_api_doc.h + all-local: html/index.html # diff --git a/doc/ot_api_doc.h b/doc/ot_api_doc.h new file mode 100644 index 000000000..bfec2cd85 --- /dev/null +++ b/doc/ot_api_doc.h @@ -0,0 +1,164 @@ +/* + * Copyright (c) 2020, The OpenThread Authors. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the copyright holder nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +/** + * @file + * @brief + * This file defines the Doxygen group structure for OpenThread documentation. + */ + +/** + * @defgroup api API + * @brief + * This module includes the application programming interface to the OpenThread stack. + * + * @{ + * + * @defgroup api-error Error + * + * @defgroup api-execution Execution + * + * @{ + * + * @defgroup api-instance Instance + * @defgroup api-tasklets Tasklets + * + * @} + * + * @defgroup api-net IPv6 Networking + * @{ + * + * @defgroup api-dns DNSv6 + * @defgroup api-icmp6 ICMPv6 + * @defgroup api-ip6 IPv6 + * @defgroup api-udp-group UDP + * + * @{ + * + * @defgroup api-udp UDP + * @defgroup api-udp-forward UDP Forward + * + * @} + * + * @} + * + * @defgroup api-link Link + * + * @{ + * + * @defgroup api-link-link Link + * @defgroup api-link-raw Raw Link + * + * @} + * + * @defgroup api-message Message + * + * @defgroup api-thread Thread + * + * @{ + * + * @defgroup api-border-agent Border Agent + * @defgroup api-border-router Border Router + * @defgroup api-commissioner Commissioner + * @defgroup api-thread-general General + * @brief This module includes functions for all Thread roles. + * @defgroup api-joiner Joiner + * @defgroup api-thread-router Router/Leader + * @brief This module includes functions for Thread Routers and Leaders. + * @defgroup api-server Server + * + * @} + * + * @defgroup api-addons Add-Ons + * + * @{ + * + * @defgroup api-channel-manager Channel Manager + * @defgroup api-channel-monitor Channel Monitoring + * @defgroup api-child-supervision Child Supervision + * @defgroup api-coap-group CoAP + * + * @{ + * + * @defgroup api-coap CoAP + * @defgroup api-coap-secure CoAP Secure + * + * @} + * + * @defgroup api-cli Command Line Interface + * @defgroup api-crypto Crypto + * @defgroup api-entropy Entropy Source + * @defgroup api-factory-diagnostics Factory Diagnostics + * @defgroup api-heap Heap + * @defgroup api-jam-detection Jam Detection + * @defgroup api-logging Logging + * @defgroup api-ncp Network Co-Processor + * @defgroup api-network-time Network Time Synchronization + * @defgroup api-random-group Random Number Generator + * + * @{ + * + * @defgroup api-random-crypto RNG Cryptographic + * @defgroup api-random-non-crypto RNG Non-cryptographic + * + * @} + * + * @defgroup api-sntp SNTP + * + * @} + * + * @} + * + */ + +/** + * @defgroup platform Platform Abstraction + * @brief + * This module includes the platform abstraction used by the OpenThread stack. + * + * @{ + * + * @defgroup plat-alarm Alarm + * @defgroup plat-ble BLE Host + * @defgroup plat-entropy Entropy + * @defgroup plat-factory-diagnostics Factory Diagnostics + * @defgroup plat-logging Logging + * @defgroup plat-memory Memory + * @defgroup plat-messagepool Message Pool + * @defgroup plat-misc Miscellaneous + * @defgroup plat-radio Radio + * @defgroup plat-settings Settings + * @defgroup plat-spi-slave SPI Slave + * @defgroup plat-time Time Service + * @defgroup plat-toolchain Toolchain + * @defgroup plat-uart UART + * + * @} + * + */ + diff --git a/include/openthread/error.h b/include/openthread/error.h index 3d7b74931..e1019a2a4 100644 --- a/include/openthread/error.h +++ b/include/openthread/error.h @@ -41,136 +41,6 @@ extern "C" { #endif -/** - * @defgroup api API - * @brief - * This module includes the application programming interface to the OpenThread stack. - * - * @{ - * - * @defgroup api-error Error - * - * @defgroup api-execution Execution - * - * @{ - * - * @defgroup api-instance Instance - * @defgroup api-tasklets Tasklets - * - * @} - * - * @defgroup api-net IPv6 Networking - * @{ - * - * @defgroup api-dns DNSv6 - * @defgroup api-icmp6 ICMPv6 - * @defgroup api-ip6 IPv6 - * @defgroup api-udp-group UDP - * - * @{ - * - * @defgroup api-udp UDP - * @defgroup api-udp-forward UDP Forward - * - * @} - * - * @} - * - * @defgroup api-link Link - * - * @{ - * - * @defgroup api-link-link Link - * @defgroup api-link-raw Raw Link - * - * @} - * - * @defgroup api-message Message - * - * @defgroup api-thread Thread - * - * @{ - * - * @defgroup api-border-agent Border Agent - * @defgroup api-border-router Border Router - * @defgroup api-commissioner Commissioner - * @defgroup api-thread-general General - * @brief This module includes functions for all Thread roles. - * @defgroup api-joiner Joiner - * @defgroup api-thread-router Router/Leader - * @brief This module includes functions for Thread Routers and Leaders. - * @defgroup api-server Server - * - * @} - * - * @defgroup api-addons Add-Ons - * - * @{ - * - * @defgroup api-channel-manager Channel Manager - * @defgroup api-channel-monitor Channel Monitoring - * @defgroup api-child-supervision Child Supervision - * @defgroup api-coap-group CoAP - * - * @{ - * - * @defgroup api-coap CoAP - * @defgroup api-coap-secure CoAP Secure - * - * @} - * - * @defgroup api-cli Command Line Interface - * @defgroup api-crypto Crypto - * @defgroup api-entropy Entropy Source - * @defgroup api-factory-diagnostics Factory Diagnostics - * @defgroup api-heap Heap - * @defgroup api-jam-detection Jam Detection - * @defgroup api-logging Logging - * @defgroup api-ncp Network Co-Processor - * @defgroup api-network-time Network Time Synchronization - * @defgroup api-random-group Random Number Generator - * - * @{ - * - * @defgroup api-random-crypto RNG Cryptographic - * @defgroup api-random-non-crypto RNG Non-cryptographic - * - * @} - * - * @defgroup api-sntp SNTP - * - * @} - * - * @} - * - */ - -/** - * @defgroup platform Platform Abstraction - * @brief - * This module includes the platform abstraction used by the OpenThread stack. - * - * @{ - * - * @defgroup plat-alarm Alarm - * @defgroup plat-ble BLE Host - * @defgroup plat-entropy Entropy - * @defgroup plat-factory-diagnostics Factory Diagnostics - * @defgroup plat-logging Logging - * @defgroup plat-memory Memory - * @defgroup plat-messagepool Message Pool - * @defgroup plat-misc Miscellaneous - * @defgroup plat-radio Radio - * @defgroup plat-settings Settings - * @defgroup plat-spi-slave SPI Slave - * @defgroup plat-time Time Service - * @defgroup plat-toolchain Toolchain - * @defgroup plat-uart UART - * - * @} - * - */ - /** * @addtogroup api-error *