[rtems-docs commit] c-user: Add user extensions glossary terms

Sebastian Huber sebh at rtems.org
Thu Apr 22 05:13:41 UTC 2021


Module:    rtems-docs
Branch:    master
Commit:    dae533801987d8635db40b79ad17917e06a5f260
Changeset: http://git.rtems.org/rtems-docs/commit/?id=dae533801987d8635db40b79ad17917e06a5f260

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Wed Apr 21 13:22:30 2021 +0200

c-user: Add user extensions glossary terms

---

 c-user/glossary.rst                   | 40 +++++++++++++++++++++++++++++++++--
 c-user/user-extensions/background.rst | 13 ++++--------
 2 files changed, 42 insertions(+), 11 deletions(-)

diff --git a/c-user/glossary.rst b/c-user/glossary.rst
index 71a0242..16ddcef 100644
--- a/c-user/glossary.rst
+++ b/c-user/glossary.rst
@@ -233,6 +233,12 @@ Glossary
         A term used to describe memory which can be accessed at two different
         addresses.
 
+    dynamic extension sets
+        The dynamic extension sets are a list of :term:`user extensions`.  The list
+        is defined by the system services used by the application and directive calls
+        such as :c:func:`rtems_extension_create`.  See also
+        :term:`initial extension sets`.
+
     EARS
         This term is an acronym for Easy Approach to Requirements Syntax.
 
@@ -286,6 +292,26 @@ Glossary
         An object known by all nodes in a multiprocessor system.  An object
         created with the GLOBAL attribute will be exported.
 
+    extension forward order
+        The :term:`user extensions` may be invoked in extension forward order.  In
+        forward order, all user extensions of the :term:`initial extension sets` are
+        invoked before all user extensions of the :term:`dynamic extension sets`.
+        In the initial extension sets the order is defined by the table index.  The
+        user extension with the lowest table index is invoked first.  In the dynamic
+        extension sets the order is defined by the registration order.  The first
+        registered user extension is invoked first.  See also
+        :term:`extension reverse order`.
+
+    extension reverse order
+        The :term:`user extensions` may be invoked in extension reverse order.  In
+        reverse order, all user extensions of the :term:`dynamic extension sets` are
+        invoked before all user extensions of the :term:`initial extension sets`.
+        In the dynamic extension sets the order is defined by the registration order.
+        The last registered user extension is invoked first.  In the initial
+        extension sets the order is defined by the table index.  The user extension
+        with the highest table index is invoked first.  See also
+        :term:`extension forward order`.
+
     external address
         The address used to access dual-ported memory by all the nodes in a
         system which do not own the memory.
@@ -371,6 +397,13 @@ Glossary
         An ineligible scheduler of a :term:`task` is a :term:`scheduler` which is
         not an :term:`eligible scheduler`.
 
+    initial extension sets
+        The initial extension sets are a table of :term:`user extensions`.  The table
+        is defined by the application configuration for example through the
+        :ref:`CONFIGURE_INITIAL_EXTENSIONS` application configuration option.  The
+        initial extension sets cannot be altered during runtime through directive
+        calls.  See also :term:`dynamic extension sets`.
+
     interface
         A specification of the methodology used to connect multiple independent
         subsystems.
@@ -991,8 +1024,11 @@ Glossary
         A table which contains the entry points for each user extensions.
 
     user extensions
-        Software routines provided by the application to enhance the
-        functionality of RTEMS.
+        User extensions are software routines provided by the application to enhance
+        the functionality of RTEMS.  An active user extension is either in the
+        :term:`initial extension sets` or the :term:`dynamic extension sets`.  User
+        extensions are invoked in :term:`extension forward order` or
+        :term:`extension reverse order`.
 
     User Initialization Tasks Table
         A table which contains the information needed to create and start each of
diff --git a/c-user/user-extensions/background.rst b/c-user/user-extensions/background.rst
index 2dc2577..5aa747b 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,
 



More information about the vc mailing list