summaryrefslogtreecommitdiffstats
path: root/c-user/user_extensions.rst
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2017-11-12 14:34:48 +1100
committerChris Johns <chrisj@rtems.org>2017-11-12 14:34:48 +1100
commit6c5640131fca82624f72b2bd33b5b5f46156626e (patch)
treeeca99c4c65ff8a3767a26a49f7aeca0af7eedfa0 /c-user/user_extensions.rst
parentAdd indexes to all documents. (diff)
downloadrtems-docs-6c5640131fca82624f72b2bd33b5b5f46156626e.tar.bz2
c-user: Fix index locations.
Update #3229.
Diffstat (limited to 'c-user/user_extensions.rst')
-rw-r--r--c-user/user_extensions.rst61
1 files changed, 31 insertions, 30 deletions
diff --git a/c-user/user_extensions.rst b/c-user/user_extensions.rst
index f51e6d6..84af815 100644
--- a/c-user/user_extensions.rst
+++ b/c-user/user_extensions.rst
@@ -5,12 +5,11 @@
.. COMMENT: All rights reserved.
.. _User Extensions Manager:
+.. index:: user extensions
User Extensions Manager
***********************
-.. index:: user extensions
-
Introduction
============
@@ -62,11 +61,12 @@ dynamic memory allocations and object creation/deletion. Some user extensions
are invoked with thread dispatching disabled. The fatal error extension is
invoked in an arbitrary context.
-Extension Sets
---------------
.. index:: user extension set
.. index:: rtems_extensions_table
+Extension Sets
+--------------
+
User extensions are maintained as a set. All user extensions are optional and
may be `NULL`. Together a set of these user extensions typically performs a
specific functionality such as performance monitoring or debugger support. The
@@ -86,9 +86,10 @@ extension set is defined via the following structure.
rtems_task_terminate_extension thread_terminate;
} rtems_extensions_table;
+.. index:: TCB extension area
+
TCB Extension Area
------------------
-.. index:: TCB extension area
There is no system-provided storage for the initial extension sets.
@@ -169,6 +170,8 @@ 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
+
Thread Create Extension
-----------------------
@@ -176,8 +179,6 @@ The thread create extension is invoked during thread creation, for example
via :ref:`rtems_task_create() <rtems_task_create>` or :c:func:`pthread_create`.
The thread create extension is defined as follows.
-.. index:: rtems_task_create_extension
-
.. code-block:: c
typedef bool ( *rtems_task_create_extension )(
@@ -202,6 +203,8 @@ must return :c:data:`true`.
The thread create extension is invoked in forward order with thread dispatching
enabled (except during system initialization).
+.. index:: rtems_task_start_extension
+
Thread Start Extension
----------------------
@@ -209,8 +212,6 @@ The thread start extension is invoked during a thread start, for example
via :ref:`rtems_task_start() <rtems_task_start>` or :c:func:`pthread_create`.
The thread start extension is defined as follows.
-.. index:: rtems_task_start_extension
-
.. code-block:: c
typedef void ( *rtems_task_start_extension )(
@@ -228,6 +229,8 @@ invoked.
The thread start extension is invoked in forward order with thread dispatching
disabled.
+.. index:: rtems_task_restart_extension
+
Thread Restart Extension
------------------------
@@ -235,8 +238,6 @@ The thread restart extension is invoked during a thread restart, for example
via :ref:`rtems_task_restart() <rtems_task_start>`.
The thread restart extension is defined as follows.
-.. index:: rtems_task_restart_extension
-
.. code-block:: c
typedef void ( *rtems_task_restart_extension )(
@@ -254,6 +255,8 @@ dispatching enabled (except during system initialization). The thread life is
protected. Thread restart and delete requests issued by thread restart
extensions lead to recursion.
+.. index:: rtems_task_switch_extension
+
Thread Switch Extension
-----------------------
@@ -261,8 +264,6 @@ The thread switch extension is invoked before the context switch from the
currently executing thread to the heir thread. The thread switch extension is
defined as follows.
-.. index:: rtems_task_switch_extension
-
.. code-block:: c
typedef void ( *rtems_task_switch_extension )(
@@ -280,14 +281,14 @@ SMP lock is owned.
The context switches initiated through the multitasking start are not covered
by the thread switch extension.
+.. index:: rtems_task_begin_extension
+
Thread Begin Extension
----------------------
The thread begin extension is invoked during a thread begin before the thread
entry function is called. The thread begin extension is defined as follows.
-.. index:: rtems_task_begin_extension
-
.. code-block:: c
typedef void ( *rtems_task_begin_extension )(
@@ -303,14 +304,14 @@ The thread begin extension is invoked in forward order with thread dispatching
enabled. The thread switch extension may be called multiple times for this
thread before the thread begin extension is invoked.
+.. index:: rtems_task_exitted_extension
+
Thread Exitted Extension
------------------------
The thread exitted extension is invoked once the thread entry function returns.
The thread exitted extension is defined as follows.
-.. index:: rtems_task_exitted_extension
-
.. code-block:: c
typedef void ( *rtems_task_exitted_extension )(
@@ -322,6 +323,8 @@ thread.
This extension is invoked in forward order with thread dispatching enabled.
+.. index:: rtems_task_terminate_extension
+
Thread Termination Extension
----------------------------
@@ -331,8 +334,6 @@ due to calls of :ref:`rtems_task_delete() <rtems_task_delete>`,
:c:func:`pthread_exit`, or :c:func:`pthread_cancel`. The thread termination
extension is defined as follows.
-.. index:: rtems_task_terminate_extension
-
.. code-block:: c
typedef void ( *rtems_task_terminate_extension )(
@@ -351,6 +352,8 @@ The thread terminate extension is invoked in reverse order with thread
dispatching enabled. The thread life is protected. Thread restart and delete
requests issued by thread terminate extensions lead to recursion.
+.. index:: rtems_task_delete_extension
+
Thread Delete Extension
-----------------------
@@ -358,8 +361,6 @@ The thread delete extension is invoked in case a zombie thread is killed. A
thread becomes a zombie thread after it terminated. The thread delete
extension is defined as follows.
-.. index:: rtems_task_delete_extension
-
.. code-block:: c
typedef void ( *rtems_task_delete_extension )(
@@ -383,14 +384,14 @@ must first terminate and this may take some time. The thread delete extension
is invoked by :ref:`rtems_task_create() <rtems_task_create>` or similar as a
result of a lazy garbage collection of zombie threads.
+.. index:: rtems_fatal_extension
+
Fatal Error Extension
---------------------
The fatal error extension is invoked during :ref:`system termination
<Terminate>`. The fatal error extension is defined as follows.
-.. index:: rtems_fatal_extension
-
.. code-block:: c
typedef void( *rtems_fatal_extension )(
@@ -424,11 +425,11 @@ sequence, related constants, usage, and status codes.
\clearpage
.. _rtems_extension_create:
+.. index:: create an extension set
+.. index:: rtems_extension_create
EXTENSION_CREATE - Create a extension set
-----------------------------------------
-.. index:: create an extension set
-.. index:: rtems_extension_create
CALLING SEQUENCE:
.. code-block:: c
@@ -472,13 +473,13 @@ NOTES:
\clearpage
.. _rtems_extension_ident:
-
-EXTENSION_IDENT - Get ID of a extension set
--------------------------------------------
.. index:: get ID of an extension set
.. index:: obtain ID of an extension set
.. index:: rtems_extension_ident
+EXTENSION_IDENT - Get ID of a extension set
+-------------------------------------------
+
CALLING SEQUENCE:
.. code-block:: c
@@ -513,11 +514,11 @@ NOTES:
\clearpage
.. _rtems_extension_delete:
+.. index:: delete an extension set
+.. index:: rtems_extension_delete
EXTENSION_DELETE - Delete a extension set
-----------------------------------------
-.. index:: delete an extension set
-.. index:: rtems_extension_delete
CALLING SEQUENCE:
.. code-block:: c