summaryrefslogtreecommitdiffstats
path: root/c-user/user-extensions
diff options
context:
space:
mode:
Diffstat (limited to 'c-user/user-extensions')
-rw-r--r--c-user/user-extensions/background.rst15
-rw-r--r--c-user/user-extensions/directives.rst24
-rw-r--r--c-user/user-extensions/index.rst2
-rw-r--r--c-user/user-extensions/introduction.rst2
4 files changed, 21 insertions, 22 deletions
diff --git a/c-user/user-extensions/background.rst b/c-user/user-extensions/background.rst
index 2dc2577..c1430a9 100644
--- a/c-user/user-extensions/background.rst
+++ b/c-user/user-extensions/background.rst
@@ -109,15 +109,10 @@ and release the extension buffers.
Order of Invocation
-------------------
-The user extensions are invoked in either `forward` or `reverse` order. In
-forward order, the user extensions of initial extension sets are invoked before
-the user extensions of the dynamic extension sets. The forward order of
-initial extension sets is defined by the initial extension sets table index.
-The forward order of dynamic extension sets is defined by the order in which
-the dynamic extension sets were created. The reverse order is defined
-accordingly. By invoking the user extensions in this order, extensions can be
-built upon one another. At the following system events, the user extensions
-are invoked in `forward` order
+The user extensions are invoked in either :term:`extension forward order` or
+:term:`extension reverse order`. By invoking the user extensions in these
+orders, extensions can be built upon one another. At the following system
+events, the user extensions are invoked in `forward` order
- thread creation,
@@ -148,7 +143,7 @@ installed after the Standard C Library will operate correctly even if they
utilize the C Library because the C Library's thread delete extension is
invoked after that of the other thread delete extensions.
-.. index:: rtems_task_create_extension
+.. index:: rtems_task_create_extension()
Thread Create Extension
-----------------------
diff --git a/c-user/user-extensions/directives.rst b/c-user/user-extensions/directives.rst
index 9aa1e9d..2c5648b 100644
--- a/c-user/user-extensions/directives.rst
+++ b/c-user/user-extensions/directives.rst
@@ -1,6 +1,6 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
-.. Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+.. Copyright (C) 2020, 2021 embedded brains GmbH & Co. KG
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
.. This file is part of the RTEMS quality process and was automatically
@@ -64,9 +64,9 @@ Creates an extension set.
set.
``id``
- This parameter is the pointer to an object identifier variable. When the
- directive call is successful, the identifier of the created extension set
- will be stored in this variable.
+ This parameter is the pointer to an :ref:`InterfaceRtemsId` object. When
+ the directive call is successful, the identifier of the created extension
+ set will be stored in this object.
.. rubric:: DESCRIPTION:
@@ -102,11 +102,15 @@ The extension set is initialized using the extension table specified in
.. rubric:: NOTES:
-The user-provided extension set table is not used after the return of the
+The user-provided extension table is not used after the return of the
directive.
-Newly created extension sets are immediately installed and are invoked upon the
-next system event supporting an extension.
+Each extension of the extension table is optional and may be `NULL
+<https://en.cppreference.com/w/c/types/NULL>`_. All extensions except the task
+switch extension of the extension table are atomically and immediately
+installed. A task switch extension is separately installed after the other
+extensions. The extensions of the extension table are invoked upon the next
+system event supporting an extension.
An alternative to dynamically created extension sets are initial extensions,
see :ref:`CONFIGURE_INITIAL_EXTENSIONS`. Initial extensions are recommended
@@ -215,9 +219,9 @@ Identifies an extension set by the object name.
This parameter is the object name to look up.
``id``
- This parameter is the pointer to an object identifier variable. When the
- directive call is successful, the object identifier of an object with the
- specified name will be stored in this variable.
+ This parameter is the pointer to an :ref:`InterfaceRtemsId` object. When
+ the directive call is successful, the object identifier of an object with
+ the specified name will be stored in this object.
.. rubric:: DESCRIPTION:
diff --git a/c-user/user-extensions/index.rst b/c-user/user-extensions/index.rst
index 56aa9c4..54b0649 100644
--- a/c-user/user-extensions/index.rst
+++ b/c-user/user-extensions/index.rst
@@ -1,6 +1,6 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
-.. Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
+.. Copyright (C) 2020 embedded brains GmbH & Co. KG
.. index:: user extensions
diff --git a/c-user/user-extensions/introduction.rst b/c-user/user-extensions/introduction.rst
index 6284242..fab79e7 100644
--- a/c-user/user-extensions/introduction.rst
+++ b/c-user/user-extensions/introduction.rst
@@ -1,6 +1,6 @@
.. SPDX-License-Identifier: CC-BY-SA-4.0
-.. Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
+.. Copyright (C) 2020, 2021 embedded brains GmbH & Co. KG
.. Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
.. This file is part of the RTEMS quality process and was automatically