From 6c5640131fca82624f72b2bd33b5b5f46156626e Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Sun, 12 Nov 2017 14:34:48 +1100 Subject: c-user: Fix index locations. Update #3229. --- c-user/user_extensions.rst | 61 +++++++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 30 deletions(-) (limited to 'c-user/user_extensions.rst') 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() ` 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() ` 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() `. 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() `, :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() ` 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 `. 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 -- cgit v1.2.3