summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/user/ChangeLog6
-rw-r--r--doc/user/userext.t30
2 files changed, 34 insertions, 2 deletions
diff --git a/doc/user/ChangeLog b/doc/user/ChangeLog
index 1d9eb9c397..c23a37339d 100644
--- a/doc/user/ChangeLog
+++ b/doc/user/ChangeLog
@@ -1,3 +1,9 @@
+2002-04-12 Chris Johns <ccj@acm.org>
+
+ * doc/user/userext.t: Per PR138, updated the documentation to show
+ how to obtain an extension table index. Also provided some extra
+ background on the user extension API.
+
2002-04-03 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* io.t: Fix typo @sybsection.
diff --git a/doc/user/userext.t b/doc/user/userext.t
index 641d5d3f9c..08ac6beb20 100644
--- a/doc/user/userext.t
+++ b/doc/user/userext.t
@@ -119,7 +119,15 @@ of these extension sets could be written and installed
independently of the others.
All user extensions are optional and RTEMS places no
-naming restrictions on the user.
+naming restrictions on the user. The user extension entry points
+are copied into an internal RTEMS structure. This means the user
+does not need to keep the table after creating it, and changing the
+handler entry points dynamically in a table once created has no
+effect. Creating a table local to a function can save space in
+space limited applications.
+
+Extension switches do not effect the context switch overhead if
+no switch handler is installed.
@subsection TCB Extension Area
@@ -134,7 +142,25 @@ to utilize the notepad locations associated with each task
although this may conflict with application usage of those
particular notepads.
-The TCB extension is an array of pointers in the TCB.
+The TCB extension is an array of pointers in the TCB. The
+index into the table can be obtained from the extension id
+returned when the extension is created:
+
+@findex rtems extensions table index
+@ifset is-C
+@example
+@group
+index = rtems_get_index(extension_id);
+@end group
+@end example
+@end ifset
+
+@ifset is-Ada
+@example
+There is currently no example for Ada.
+@end example
+@end ifset
+
The number of pointers in the area is the same as the number of
user extension sets configured. This allows an application to
augment the TCB with user-defined information. For example, an