summaryrefslogtreecommitdiffstats
path: root/doc/user
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1997-05-31 15:55:10 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1997-05-31 15:55:10 +0000
commita94c5a5d6992b6dca9afec09352ab80db4643078 (patch)
tree09da48a21cc739f0871774d815761a536591e7fe /doc/user
parentChanged bitwise OR's used to build up option and attribute sets (diff)
downloadrtems-a94c5a5d6992b6dca9afec09352ab80db4643078.tar.bz2
Changed bitwise OR's used to build up option and attribute sets
to be correct in either C or Ada. Added the interrupt disable, enable, flash, and is in progress directives. changed "97" to "1997"
Diffstat (limited to '')
-rw-r--r--doc/user/bsp.t4
-rw-r--r--doc/user/c_user.texi15
-rw-r--r--doc/user/clock.t30
-rw-r--r--doc/user/conf.t16
-rw-r--r--doc/user/dirstat.texi54
-rw-r--r--doc/user/event.t57
-rw-r--r--doc/user/fatal.t2
-rw-r--r--doc/user/intr.t172
-rw-r--r--doc/user/io.t3
-rw-r--r--doc/user/mp.t2
-rw-r--r--doc/user/msg.t33
-rw-r--r--doc/user/overview.t6
-rw-r--r--doc/user/part.t4
-rw-r--r--doc/user/preface.texi2
-rw-r--r--doc/user/region.t24
-rw-r--r--doc/user/rtmon.t12
-rw-r--r--doc/user/schedule.t8
-rw-r--r--doc/user/sem.t39
-rw-r--r--doc/user/signal.t16
-rw-r--r--doc/user/task.t87
-rw-r--r--doc/user/timer.t2
-rw-r--r--doc/user/userext.t6
22 files changed, 388 insertions, 206 deletions
diff --git a/doc/user/bsp.t b/doc/user/bsp.t
index 85b87f1078..8cc23a7d1e 100644
--- a/doc/user/bsp.t
+++ b/doc/user/bsp.t
@@ -94,7 +94,7 @@ following requirements:
must leave the processor in the most privileged, or supervisory,
state.
-@item Must allocate a stack of at least MINIMUM_STACK_SIZE
+@item Must allocate a stack of at least @code{MINIMUM_STACK_SIZE}
bytes and initialize the stack pointer for the
initialize_executive directive.
@@ -139,7 +139,7 @@ stack usage must account for the following requirements:
@end itemize
The size of the interrupt stack must be greater than
-or equal to the constant MINIMUM_STACK_SIZE.
+or equal to the constant @code{MINIMUM_STACK_SIZE}.
@ifinfo
@node Processors with a Separate Interrupt Stack, Processors without a Separate Interrupt Stack, Interrupt Stack Requirements, Board Support Packages Reset and Initialization
diff --git a/doc/user/c_user.texi b/doc/user/c_user.texi
index 3ad9da82da..d0cde03f30 100644
--- a/doc/user/c_user.texi
+++ b/doc/user/c_user.texi
@@ -39,10 +39,11 @@ END-INFO-DIR-ENTRY
@c
@set is-C
@clear is-Ada
-@set RTEMS-LANGUAGE C
-@set RTEMS-STRUCTURE structure
-@set RTEMS-ROUTINE function
-@c the language is @value{RTEMS-LANGUAGE}
+@set LANGUAGE C
+@set STRUCTURE structure
+@set ROUTINE function
+@set OR |
+@c the language is @value{LANGUAGE}
@c NOTE: don't use underscore in the name
@c
@@ -51,8 +52,8 @@ END-INFO-DIR-ENTRY
@c
@set edition 4.1.0a
-@set update-date 1 June 97
-@set update-month June 97
+@set update-date 1 June 1997
+@set update-month June 1997
@c
@c I don't really like having a short title page. --joel
@@ -64,7 +65,7 @@ END-INFO-DIR-ENTRY
@titlepage
@finalout
-@title RTEMS Applications C User's Guide
+@title RTEMS C User's Guide
@subtitle Edition @value{edition}, for RTEMS 4.1.0
@sp 1
@subtitle @value{update-month}
diff --git a/doc/user/clock.t b/doc/user/clock.t
index aaf9f3b9cc..acc84796e9 100644
--- a/doc/user/clock.t
+++ b/doc/user/clock.t
@@ -5,7 +5,7 @@
@c
@ifinfo
-@node Clock Manager, Clock Manager Introduction, INTERRUPT_CATCH - Establish an ISR, Top
+@node Clock Manager, Clock Manager Introduction, INTERRUPT_IS_IN_PROGRESS - Is an ISR in Progress, Top
@end ifinfo
@chapter Clock Manager
@ifinfo
@@ -239,11 +239,19 @@ dependent on the option selected by the caller. The following
options are available:
@itemize @bullet
-@item CLOCK_GET_TOD - obtain native style date and time
-@item CLOCK_GET_TIME_VALUE - obtain UNIX-style date and time
-@item CLOCK_GET_TICKS_SINCE_BOOT - obtain number of ticks since RTEMS was initialized
-@item CLOCK_GET_SECONDS_SINCE_EPOCH - obtain number of seconds since RTEMS epoch
-@item CLOCK_GET_TICKS_PER_SECOND - obtain number of clock ticks per second
+@item @code{CLOCK_GET_TOD} - obtain native style date and time
+
+@item @code{CLOCK_GET_TIME_VALUE} - obtain UNIX-style date and time
+
+@item @code{CLOCK_GET_TICKS_SINCE_BOOT} - obtain number of ticks
+since RTEMS was initialized
+
+@item @code{CLOCK_GET_SECONDS_SINCE_EPOCH} - obtain number of seconds
+since RTEMS epoch
+
+@item @code{CLOCK_GET_TICKS_PER_SECOND} - obtain number of clock ticks
+per second
+
@end itemize
Calendar time operations will return an error code if
@@ -354,13 +362,13 @@ procedure Clock_Get (
This directive obtains the system date and time. If
the caller is attempting to obtain the date and time (i.e.
-option is set to either CLOCK_GET_SECONDS_SINCE_EPOCH,
-CLOCK_GET_TOD, or CLOCK_GET_TIME_VALUE) and the date and time
+option is set to either @code{CLOCK_GET_SECONDS_SINCE_EPOCH},
+@code{CLOCK_GET_TOD}, or @code{CLOCK_GET_TIME_VALUE}) and the date and time
has not been set with a previous call to clock_set, then the
-NOT_DEFINED status code is returned. The caller can always
+@code{NOT_DEFINED} status code is returned. The caller can always
obtain the number of ticks per second (option is
-CLOCK_GET_TICKS_PER_SECOND) and the number of ticks since the
-executive was initialized option is CLOCK_GET_TICKS_SINCE_BOOT).
+@code{CLOCK_GET_TICKS_PER_SECOND}) and the number of ticks since the
+executive was initialized option is @code{CLOCK_GET_TICKS_SINCE_BOOT}).
@subheading NOTES:
diff --git a/doc/user/conf.t b/doc/user/conf.t
index 20b88cd1ac..1412c3c849 100644
--- a/doc/user/conf.t
+++ b/doc/user/conf.t
@@ -35,7 +35,7 @@ configure the number of device drivers or which APIs may be used.
THe address of the user-defined Configuration Table is passed as an
argument to the initialize_executive directive, which MUST be
the first RTEMS directive called. The RTEMS Configuration Table
-is defined in the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
+is defined in the following @value{LANGUAGE} @value{STRUCTURE}:
@ifset is-C
@example
@@ -151,7 +151,7 @@ The RTEMS API Configuration Table is used to configure the
managers which constitute the RTEMS API for a particular application.
For example, the user can configure the maximum number of tasks for
this application. The RTEMS API Configuration Table is defined in
-the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
+the following @value{LANGUAGE} @value{STRUCTURE}:
@ifset is-C
@example
@@ -244,7 +244,7 @@ The POSIX API Configuration Table is used to configure the
managers which constitute the POSIX API for a particular application.
For example, the user can configure the maximum number of threads for
this application. The POSIX API Configuration Table is defined in
-the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
+the following @value{LANGUAGE} @value{STRUCTURE}:
@ifset is-C
@example
@@ -486,7 +486,7 @@ device driver required by the application. The number of
entries is defined in the number_of_device_drivers entry in the
Configuration Table. The format of each entry in the Device
Driver Table is defined in
-the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
+the following @value{LANGUAGE} @value{STRUCTURE}:
@ifset is-C
@example
@@ -543,7 +543,7 @@ is the address of the entry point called by io_control.
@end table
Driver entry points configured as NULL will always
-return a status code of SUCCESSFUL. No user code will be
+return a status code of @code{SUCCESSFUL}. No user code will be
executed in this situation.
A typical declaration for a Device Driver Table might appear as follows:
@@ -754,7 +754,7 @@ Table. Further details regarding many of the entries in the
Multiprocessor Configuration Table will be provided in the
Multiprocessing chapter. The format of the Multiprocessor
Configuration Table is defined in
-the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
+the following @value{LANGUAGE} @value{STRUCTURE}:
@ifset is-C
@example
@@ -829,7 +829,7 @@ regarding its entries can be found in the next section.
@section Multiprocessor Communications Interface Table
The format of this table is defined in
-the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
+the following @value{LANGUAGE} @value{STRUCTURE}:
@ifset is-C
@example
@@ -970,7 +970,7 @@ the RTEMS RAM Workspace.
The starting address of the RTEMS RAM Workspace must
be aligned on a four-byte boundary. Failure to properly align
the workspace area will result in the fatal_error_occurred
-directive being invoked with the INVALID_ADDRESS error code.
+directive being invoked with the @code{INVALID_ADDRESS} error code.
A worksheet is provided in the Memory Requirements
chapter of the Applications Supplement document for a specific
diff --git a/doc/user/dirstat.texi b/doc/user/dirstat.texi
index b703ec5043..8a998a28ce 100644
--- a/doc/user/dirstat.texi
+++ b/doc/user/dirstat.texi
@@ -9,32 +9,32 @@
@end ifinfo
@chapter Directive Status Codes
@table @b
-@item @b{SUCCESSFUL} - successful completion
-@item @b{TASK_EXITTED} - returned from a task
-@item @b{MP_NOT_CONFIGURED} - multiprocessing not configured
-@item @b{INVALID_NAME} - invalid object name
-@item @b{INVALID_ID} - invalid object id
-@item @b{TOO_MANY} - too many
-@item @b{TIMEOUT} - timed out waiting
-@item @b{OBJECT_WAS_DELETED} - object was deleted while waiting
-@item @b{INVALID_SIZE} - invalid specified size
-@item @b{INVALID_ADDRESS} - invalid address specified
-@item @b{INVALID_NUMBER} - number was invalid
-@item @b{NOT_DEFINED} - item not initialized
-@item @b{RESOURCE_IN_USE} - resources outstanding
-@item @b{UNSATISFIED} - request not satisfied
-@item @b{INCORRECT_STATE} - task is in wrong state
-@item @b{ALREADY_SUSPENDED} - task already in state
-@item @b{ILLEGAL_ON_SELF} - illegal for calling task
-@item @b{ILLEGAL_ON_REMOTE_OBJECT} - illegal for remote object
-@item @b{CALLED_FROM_ISR} - invalid environment
-@item @b{INVALID_PRIORITY} - invalid task priority
-@item @b{INVALID_CLOCK} - invalid time buffer
-@item @b{INVALID_NODE} - invalid node id
-@item @b{NOT_CONFIGURED} - directive not configured
-@item @b{NOT_OWNER_OF_RESOURCE} - not owner of resource
-@item @b{NOT_IMPLEMENTED} - directive not implemented
-@item @b{INTERNAL_ERROR} - RTEMS inconsistency detected
-@item @b{NO_MEMORY} - could not get enough memory
+@item @code{SUCCESSFUL} - successful completion
+@item @code{TASK_EXITTED} - returned from a task
+@item @code{MP_NOT_CONFIGURED} - multiprocessing not configured
+@item @code{INVALID_NAME} - invalid object name
+@item @code{INVALID_ID} - invalid object id
+@item @code{TOO_MANY} - too many
+@item @code{TIMEOUT} - timed out waiting
+@item @code{OBJECT_WAS_DELETED} - object was deleted while waiting
+@item @code{INVALID_SIZE} - invalid specified size
+@item @code{INVALID_ADDRESS} - invalid address specified
+@item @code{INVALID_NUMBER} - number was invalid
+@item @code{NOT_DEFINED} - item not initialized
+@item @code{RESOURCE_IN_USE} - resources outstanding
+@item @code{UNSATISFIED} - request not satisfied
+@item @code{INCORRECT_STATE} - task is in wrong state
+@item @code{ALREADY_SUSPENDED} - task already in state
+@item @code{ILLEGAL_ON_SELF} - illegal for calling task
+@item @code{ILLEGAL_ON_REMOTE_OBJECT} - illegal for remote object
+@item @code{CALLED_FROM_ISR} - invalid environment
+@item @code{INVALID_PRIORITY} - invalid task priority
+@item @code{INVALID_CLOCK} - invalid time buffer
+@item @code{INVALID_NODE} - invalid node id
+@item @code{NOT_CONFIGURED} - directive not configured
+@item @code{NOT_OWNER_OF_RESOURCE} - not owner of resource
+@item @code{NOT_IMPLEMENTED} - directive not implemented
+@item @code{INTERNAL_ERROR} - RTEMS inconsistency detected
+@item @code{NO_MEMORY} - could not get enough memory
@end table
diff --git a/doc/user/event.t b/doc/user/event.t
index 7fa45e4b22..9c656e0e82 100644
--- a/doc/user/event.t
+++ b/doc/user/event.t
@@ -78,9 +78,9 @@ not received. An event condition is used to specify the events
which the task desires to receive and the algorithm which will
be used to determine when the request is satisfied. An event
condition is satisfied based upon one of two algorithms which
-are selected by the user. The EVENT_ANY algorithm states that
+are selected by the user. The @code{EVENT_ANY} algorithm states that
an event condition is satisfied when at least a single requested
-event is posted. The EVENT_ALL algorithm states that an event
+event is posted. The @code{EVENT_ALL} algorithm states that an event
condition is satisfied when every requested event is posted.
@ifinfo
@@ -89,16 +89,17 @@ condition is satisfied when every requested event is posted.
@subsection Building an Event Set or Condition
An event set or condition is built by a bitwise OR of
-the desired events. The set of valid events is EVENT_0 through
-EVENT_31. If an event is not explicitly specified in the set or
+the desired events. The set of valid events is @code{EVENT_0} through
+@code{EVENT_31}. If an event is not explicitly specified in the set or
condition, then it is not present. Events are specifically
designed to be mutually exclusive, therefore bitwise OR and
addition operations are equivalent as long as each event appears
exactly once in the event set list.
For example, when sending the event set consisting of
-EVENT_6, EVENT_15, and EVENT_31, the event parameter to the
-event_send directive should be EVENT_6 | EVENT_15 | EVENT_31.
+@code{EVENT_6}, @code{EVENT_15}, and @code{EVENT_31},
+the event parameter to the event_send directive should be
+@code{EVENT_6 @value{OR} EVENT_15 @value{OR} EVENT_31}.
@ifinfo
@node Building an EVENT_RECEIVE Option Set, Event Manager Operations, Building an Event Set or Condition, Event Manager Background
@@ -110,10 +111,10 @@ desired option components. The set of valid options for the
event_receive directive are listed in the following table:
@itemize @bullet
-@item WAIT - task will wait for event (default)
-@item NO_WAIT - task should not wait
-@item EVENT_ALL - return after all events (default)
-@item EVENT_ANY - return after any events
+@item @code{WAIT} - task will wait for event (default)
+@item @code{NO_WAIT} - task should not wait
+@item @code{EVENT_ALL} - return after all events (default)
+@item @code{EVENT_ANY} - return after any events
@end itemize
Option values are specifically designed to be
@@ -122,14 +123,15 @@ are equivalent as long as each option appears exactly once in
the component list. An option listed as a default is not
required to appear in the option list, although it is a good
programming practice to specify default options. If all
-defaults are desired, the option DEFAULT_OPTIONS should be
+defaults are desired, the option @code{DEFAULT_OPTIONS} should be
specified on this call.
This example demonstrates the option parameter needed
to poll for all events in a particular event condition to
arrive. The option parameter passed to the event_receive
-directive should be either EVENT_ALL | NO_WAIT or NO_WAIT. The
-option parameter can be set to NO_WAIT because EVENT_ALL is the
+directive should be either @code{EVENT_ALL @value{OR} NO_WAIT}
+or @code{NO_WAIT}. The option parameter can be set to
+@code{NO_WAIT} because @code{EVENT_ALL} is the
default condition for event_receive.
@ifinfo
@@ -194,7 +196,7 @@ satisfied, then one of the following situations applies:
@item By default, the calling task will wait forever for the
event condition to be satisfied.
-@item Specifying the NO_WAIT option forces an immediate return
+@item Specifying the @code{NO_WAIT} option forces an immediate return
with an error status code.
@item Specifying a timeout limits the period the task will
@@ -218,10 +220,11 @@ the calling task but the event set is left unaltered.
A task can receive all of the currently pending
events by calling the event_receive directive with a value of
-ALL_EVENTS for the input event condition and NO_WAIT | EVENT_ANY
+@code{ALL_EVENTS} for the input event condition and
+@code{NO_WAIT @value{OR} EVENT_ANY}
for the option set. The pending events are returned to the
calling task and the event set is cleared. If no events are
-pending then the UNSATISFIED status code will be returned.
+pending then the @code{UNSATISFIED} status code will be returned.
@ifinfo
@node Event Manager Directives, EVENT_SEND - Send event set to a task, Receiving all Pending Events, Event Manager
@@ -282,7 +285,7 @@ events, then the events sent are left pending.
@subheading NOTES:
-Specifying SELF for id results in the event set being
+Specifying @code{SELF} for id results in the event set being
sent to the calling task.
Identical events sent to a task are not queued. In
@@ -330,18 +333,18 @@ procedure Event_Receive (
@subheading DIRECTIVE STATUS CODES:
@code{SUCCESSFUL} - event received successfully@*
-@code{UNSATISFIED} - input event not satisfied (NO_WAIT)@*
+@code{UNSATISFIED} - input event not satisfied (@code{NO_WAIT})@*
@code{TIMEOUT} - timed out waiting for event
@subheading DESCRIPTION:
This directive attempts to receive the event
condition specified in event_in. If event_in is set to
-PENDING_EVENTS, then the current pending events are returned in
-event_out and left pending. The WAIT and NO_WAIT options in the
+@code{PENDING_EVENTS}, then the current pending events are returned in
+event_out and left pending. The @code{WAIT} and @code{NO_WAIT} options in the
option_set parameter are used to specify whether or not the task
is willing to wait for the event condition to be satisfied.
-EVENT_ANY and EVENT_ALL are used in the option_set parameter are
+@code{EVENT_ANY} and @code{EVENT_ALL} are used in the option_set parameter are
used to specify whether a single event or the complete event set
is necessary to satisfy the event condition. The event_out
parameter is returned to the calling task with the value that
@@ -350,13 +353,13 @@ corresponds to the events in event_in that were satisfied.
If pending events satisfy the event condition, then
event_out is set to the satisfied events and the pending events
in the event condition are cleared. If the event condition is
-not satisfied and NO_WAIT is specified, then event_out is set to
+not satisfied and @code{NO_WAIT} is specified, then event_out is set to
the currently satisfied events. If the calling task chooses to
wait, then it will block waiting for the event condition.
If the calling task must wait for the event condition
to be satisfied, then the timeout parameter is used to specify
-the maximum interval to wait. If it is set to NO_TIMEOUT, then
+the maximum interval to wait. If it is set to @code{NO_TIMEOUT}, then
the calling task will wait forever.
@subheading NOTES:
@@ -369,9 +372,9 @@ The following event receive option constants are defined by
RTEMS:
@itemize @bullet
-@item WAIT task will wait for event (default)
-@item NO_WAIT task should not wait
-@item EVENT_ALL return after all events (default)
-@item EVENT_ANY return after any events
+@item @code{WAIT} task will wait for event (default)
+@item @code{NO_WAIT} task should not wait
+@item @code{EVENT_ALL} return after all events (default)
+@item @code{EVENT_ANY} return after any events
@end itemize
diff --git a/doc/user/fatal.t b/doc/user/fatal.t
index 9d85e8297d..8d319ad42d 100644
--- a/doc/user/fatal.t
+++ b/doc/user/fatal.t
@@ -90,7 +90,7 @@ The fatal_error_occurred directive is invoked when a
fatal error is detected. Before invoking any user-supplied
fatal error handlers or the RTEMS fatal error handler, the
fatal_error_occurred directive stores useful information in the
-variable _Internal_errors_What_happened. This structure
+variable @code{_Internal_errors_What_happened}. This structure
contains three pieces of information:
@itemize @bullet
diff --git a/doc/user/intr.t b/doc/user/intr.t
index 2ea796b7c6..d2226df3f6 100644
--- a/doc/user/intr.t
+++ b/doc/user/intr.t
@@ -56,7 +56,7 @@ The interrupt manager allows the application to
connect a function to a hardware interrupt vector. When an
interrupt occurs, the processor will automatically vector to
RTEMS. RTEMS saves and restores all registers which are not
-preserved by the normal @value{RTEMS-LANGUAGE} calling convention
+preserved by the normal @value{LANGUAGE} calling convention
for the target
processor and invokes the user's ISR. The user's ISR is
responsible for processing the interrupt, clearing the interrupt
@@ -265,6 +265,10 @@ made from an ISR:
@ifinfo
@menu
* INTERRUPT_CATCH - Establish an ISR::
+* INTERRUPT_DISABLE - Disable Interrupts::
+* INTERRUPT_ENABLE - Enable Interrupts::
+* INTERRUPT_FLASH - Flash Interrupts::
+* INTERRUPT_IS_IN_PROGRESS - Is an ISR in Progress::
@end menu
@end ifinfo
@@ -275,7 +279,7 @@ constants, usage, and status codes.
@page
@ifinfo
-@node INTERRUPT_CATCH - Establish an ISR, Clock Manager, Interrupt Manager Directives, Interrupt Manager Directives
+@node INTERRUPT_CATCH - Establish an ISR, INTERRUPT_DISABLE - Disable Interrupts, Interrupt Manager Directives, Interrupt Manager Directives
@end ifinfo
@subsection INTERRUPT_CATCH - Establish an ISR
@@ -317,6 +321,166 @@ returned in old_isr_handler.
@subheading NOTES:
-This directive will not cause the calling task to be
-preempted.
+This directive will not cause the calling task to be preempted.
+
+@page
+@ifinfo
+@node INTERRUPT_DISABLE - Disable Interrupts, INTERRUPT_ENABLE - Enable Interrupts, INTERRUPT_CATCH - Establish an ISR, Interrupt Manager Directives
+@end ifinfo
+@subsection INTERRUPT_DISABLE - Disable Interrupts
+
+@subheading CALLING SEQUENCE:
+
+@ifset is-C
+@example
+void rtems_interrupt_disable(
+ rtems_isr_level level
+);
+@end example
+@end ifset
+
+@ifset is-Ada
+@example
+function Interrupt_Disable
+return RTEMS.ISR_Level;
+@end example
+@end ifset
+
+@subheading DIRECTIVE STATUS CODES:
+
+NONE
+
+@subheading DESCRIPTION:
+
+This directive disables all maskable interrupts and returns
+the previous @code{level}. A later invocation of the
+@code{rtems_interrupt_enable} directive should be used to
+restore the interrupt level.
+
+@subheading NOTES:
+
+This directive will not cause the calling task to be preempted.
+
+@ifset is-C
+@b{This directive is implemented as a macro which modifies the @code{level}
+parameter.}
+@end ifset
+
+@page
+@ifinfo
+@node INTERRUPT_ENABLE - Enable Interrupts, INTERRUPT_FLASH - Flash Interrupts, INTERRUPT_DISABLE - Disable Interrupts, Interrupt Manager Directives
+@end ifinfo
+@subsection INTERRUPT_ENABLE - Enable Interrupts
+
+@subheading CALLING SEQUENCE:
+
+@ifset is-C
+@example
+void rtems_interrupt_enable(
+ rtems_isr_level level
+);
+@end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Interrupt_Enable (
+ Level : in RTEMS.ISR_Level
+);
+@end example
+@end ifset
+
+@subheading DIRECTIVE STATUS CODES:
+
+NONE
+
+@subheading DESCRIPTION:
+
+This directive enables maskable interrupts to the @code{level}
+which was returned by a previous call to @code{rtems_interrupt_disable}.
+Immediately prior to invoking this directive, maskable interrupts should
+be disabled by a call to @code{rtems_interrupt_disable} and will be enabled
+when this directive returns to the caller.
+
+@subheading NOTES:
+
+This directive will not cause the calling task to be preempted.
+
+
+@page
+@ifinfo
+@node INTERRUPT_FLASH - Flash Interrupts, INTERRUPT_IS_IN_PROGRESS - Is an ISR in Progress, INTERRUPT_ENABLE - Enable Interrupts, Interrupt Manager Directives
+@end ifinfo
+@subsection INTERRUPT_FLASH - Flash Interrupts
+
+@subheading CALLING SEQUENCE:
+
+@ifset is-C
+@example
+void rtems_interrupt_flash(
+ rtems_isr_level level
+);
+@end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Interrupt_Flash (
+ Level : in RTEMS.ISR_Level
+);
+@end example
+@end ifset
+
+@subheading DIRECTIVE STATUS CODES:
+
+NONE
+
+@subheading DESCRIPTION:
+
+This directive temporarily enables maskable interrupts to the @code{level}
+which was returned by a previous call to @code{rtems_interrupt_disable}.
+Immediately prior to invoking this directive, maskable interrupts should
+be disabled by a call to @code{rtems_interrupt_disable} and will be redisabled
+when this directive returns to the caller.
+
+@subheading NOTES:
+
+This directive will not cause the calling task to be preempted.
+
+@page
+@ifinfo
+@node INTERRUPT_IS_IN_PROGRESS - Is an ISR in Progress, Clock Manager, INTERRUPT_FLASH - Flash Interrupts, Interrupt Manager Directives
+@end ifinfo
+@subsection INTERRUPT_IS_IN_PROGRESS - Is an ISR in Progress
+
+@subheading CALLING SEQUENCE:
+
+@ifset is-C
+@example
+rtems_boolean rtems_interrupt_is_in_progress( void );
+@end example
+@end ifset
+
+@ifset is-Ada
+@example
+function Interrupt_Is_In_Progress
+return RTEMS.Boolean;
+@end example
+@end ifset
+
+@subheading DIRECTIVE STATUS CODES:
+
+NONE
+
+@subheading DESCRIPTION:
+
+This directive returns @code{TRUE} if the processor is currently
+servicing an interrupt and @code{FALSE} otherwise. A return value
+of @code{TRUE} indicates that the caller is an interrupt service
+routine, @b{NOT} a task. The directives available to an interrupt
+service routine are restricted.
+
+@subheading NOTES:
+
+This directive will not cause the calling task to be preempted.
diff --git a/doc/user/io.t b/doc/user/io.t
index 8b899e7d8f..916931498f 100644
--- a/doc/user/io.t
+++ b/doc/user/io.t
@@ -77,7 +77,7 @@ entry points:
If the device driver does not support a particular
entry point, then that entry in the Configuration Table should
-be NULL. RTEMS will return SUCCESSFUL as the executive's and
+be NULL. RTEMS will return @code{SUCCESSFUL} as the executive's and
zero (0) as the device driver's return code for these device
driver entry points.
@@ -383,6 +383,7 @@ rtems_status_code rtems_io_lookup_name(
procedure IO_Lookup_Name (
Name : in String;
Device_Info : out RTEMS.Driver_Name_t;
+ Result : out RTEMS.Status_Codes
);
@end example
@end ifset
diff --git a/doc/user/mp.t b/doc/user/mp.t
index 9fa3b4d3bb..7f21b6952b 100644
--- a/doc/user/mp.t
+++ b/doc/user/mp.t
@@ -599,7 +599,7 @@ must be aware of the following:
@item Packets are composed of both RTEMS and application data.
All RTEMS data is treated as thirty-two (32) bit unsigned
-quantities and is in the first MINIMUM_UNSIGNED32S_TO_CONVERT
+quantities and is in the first @code{MINIMUM_UNSIGNED32S_TO_CONVERT}
thirty-two (32) quantities of the packet.
@item The RTEMS data component of the packet must be in native
diff --git a/doc/user/msg.t b/doc/user/msg.t
index 1dcd90d59e..2bcf110c0d 100644
--- a/doc/user/msg.t
+++ b/doc/user/msg.t
@@ -100,17 +100,18 @@ queue attributes is provided in the following table:
An attribute listed as a default is not required to
appear in the attribute list, although it is a good programming
practice to specify default attributes. If all defaults are
-desired, the attribute DEFAULT_ATTRIBUTES should be specified on
+desired, the attribute @code{DEFAULT_ATTRIBUTES} should be specified on
this call.
This example demonstrates the attribute_set parameter
needed to create a local message queue with the task priority
waiting queue discipline. The attribute_set parameter to the
-message_queue_create directive could be either PRIORITY or LOCAL
-| PRIORITY. The attribute_set parameter can be set to PRIORITY
-because LOCAL is the default for all created message queues. If
+message_queue_create directive could be either
+@code{PRIORITY} or @code{LOCAL @value{OR} PRIORITY}.
+The attribute_set parameter can be set to @code{PRIORITY}
+because @code{LOCAL} is the default for all created message queues. If
a similar message queue were to be known globally, then the
-attribute_set parameter would be GLOBAL | PRIORITY.
+attribute_set parameter would be @code{GLOBAL @value{OR} PRIORITY}.
@ifinfo
@node Building a MESSAGE_QUEUE_RECEIVE Option Set, Message Manager Operations, Building a Message Queue's Attribute Set, Message Manager Background
@@ -123,19 +124,19 @@ message_queue_receive directive are listed in the following
table:
@itemize @bullet
-@item WAIT - task will wait for a message (default)
-@item NO_WAIT - task should not wait
+@item @code{WAIT} - task will wait for a message (default)
+@item @code{NO_WAIT} - task should not wait
@end itemize
An option listed as a default is not required to
appear in the option OR list, although it is a good programming
practice to specify default options. If all defaults are
-desired, the option DEFAULT_OPTIONS should be specified on this
+desired, the option @code{DEFAULT_OPTIONS} should be specified on this
call.
This example demonstrates the option parameter needed
to poll for a message to arrive. The option parameter passed to
-the message_queue_receive directive should be NO_WAIT.
+the message_queue_receive directive should be @code{NO_WAIT}.
@ifinfo
@node Message Manager Operations, Creating a Message Queue, Building a MESSAGE_QUEUE_RECEIVE Option Set, Message Manager
@@ -203,7 +204,7 @@ applies:
@item By default, the calling task will wait forever for the
message to arrive.
-@item Specifying the NO_WAIT option forces an immediate return
+@item Specifying the @code{NO_WAIT} option forces an immediate return
with an error status code.
@item Specifying a timeout limits the period the task will
@@ -421,7 +422,7 @@ related directives to access the message queue.
This directive will not cause the running task to be
preempted.
-If node is SEARCH_ALL_NODES, all nodes are searched
+If node is @code{SEARCH_ALL_NODES}, all nodes are searched
with the local node being searched first. All other nodes are
searched with the lowest numbered node searched first.
@@ -729,7 +730,7 @@ procedure Message_Queue_Receive (
@subheading DESCRIPTION:
This directive receives a message from the message
-queue specified in id. The WAIT and NO_WAIT options of the
+queue specified in id. The @code{WAIT} and @code{NO_WAIT} options of the
options parameter allow the calling task to specify whether to
wait for a message to become available or return immediately.
For either option, if there is at least one message in the
@@ -751,7 +752,7 @@ A task choosing to wait at the queue can optionally
specify a timeout value in the timeout parameter. The timeout
parameter specifies the maximum interval to wait before the
calling task desires to be unblocked. If it is set to
-NO_TIMEOUT, then the calling task will wait forever.
+@code{NO_TIMEOUT}, then the calling task will wait forever.
@subheading NOTES:
@@ -759,15 +760,15 @@ The following message receive option constants are
defined by RTEMS:
@itemize @bullet
-@item WAIT - task will wait for a message (default)
-@item NO_WAIT - task should not wait
+@item @code{WAIT} - task will wait for a message (default)
+@item @code{NO_WAIT} - task should not wait
@end itemize
Receiving a message from a global message queue which
does not reside on the local node will generate a request to the
remote node to obtain a message from the specified message
-queue. If no message is available and WAIT was specified, then
+queue. If no message is available and @code{WAIT} was specified, then
the task must be blocked until a message is posted. A proxy is
allocated on the remote node to represent the task until the
message is posted.
diff --git a/doc/user/overview.t b/doc/user/overview.t
index ac49683682..8ec1675e6f 100644
--- a/doc/user/overview.t
+++ b/doc/user/overview.t
@@ -54,7 +54,7 @@ following features:
@end itemize
This manual describes the usage of RTEMS for
-applications written in the @value{RTEMS-LANGUAGE} programming language. Those
+applications written in the @value{LANGUAGE} programming language. Those
implementation details that are processor dependent are provided
in the Applications Supplement documents. A supplement
document which addresses specific architectural issues that
@@ -409,8 +409,8 @@ software developers. Although some background is provided, it
is assumed that the reader is familiar with the concepts of task
management as well as intertask communication and
synchronization. Since directives, user related data
-structures, and examples are presented in @value{RTEMS-LANGUAGE}, a basic
-understanding of the @value{RTEMS-LANGUAGE} programming language
+structures, and examples are presented in @value{LANGUAGE}, a basic
+understanding of the @value{LANGUAGE} programming language
is required to fully
understand the material presented. However, because of the
similarity of the Ada and C RTEMS implementations, users will
diff --git a/doc/user/part.t b/doc/user/part.t
index 65281d204e..7a977eb8b4 100644
--- a/doc/user/part.t
+++ b/doc/user/part.t
@@ -86,7 +86,7 @@ are equivalent as long as each attribute appears exactly once in
the component list. An attribute listed as a default is not
required to appear in the attribute list, although it is a good
programming practice to specify default attributes. If all
-defaults are desired, the attribute DEFAULT_ATTRIBUTES should be
+defaults are desired, the attribute @code{DEFAULT_ATTRIBUTES} should be
specified on this call. The attribute_set parameter should be
GLOBAL to indicate that the partition is to be known globally.
@@ -323,7 +323,7 @@ with other partition related directives to access the partition.
This directive will not cause the running task to be
preempted.
-If node is SEARCH_ALL_NODES, all nodes are searched
+If node is @code{SEARCH_ALL_NODES}, all nodes are searched
with the local node being searched first. All other nodes are
searched with the lowest numbered node searched first.
diff --git a/doc/user/preface.texi b/doc/user/preface.texi
index 41cf740053..808b453430 100644
--- a/doc/user/preface.texi
+++ b/doc/user/preface.texi
@@ -181,6 +181,6 @@ Once approved, RTEMS will be made compliant.
This document is a detailed users guide for a
functionally compliant real-time multiprocessor executive. It
describes the user interface and run-time behavior of Release
-@value{RTEMS-RELEASE} of the @value{RTEMS-LANGUAGE} interface
+@value{RELEASE} of the @value{LANGUAGE} interface
to RTEMS.
diff --git a/doc/user/region.t b/doc/user/region.t
index 4d9578723c..bd26696922 100644
--- a/doc/user/region.t
+++ b/doc/user/region.t
@@ -98,7 +98,7 @@ are equivalent as long as each attribute appears exactly once in
the component list. An attribute listed as a default is not
required to appear in the attribute list, although it is a good
programming practice to specify default attributes. If all
-defaults are desired, the attribute DEFAULT_ATTRIBUTES should be
+defaults are desired, the attribute @code{DEFAULT_ATTRIBUTES} should be
specified on this call.
This example demonstrates the attribute_set parameter
@@ -116,8 +116,8 @@ desired option components. The set of valid options for the
region_get_segment directive are listed in the following table:
@itemize @bullet
-@item WAIT - task will wait for semaphore (default)
-@item NO_WAIT - task should not wait
+@item @code{WAIT} - task will wait for semaphore (default)
+@item @code{NO_WAIT} - task should not wait
@end itemize
Option values are specifically designed to be
@@ -126,12 +126,12 @@ are equivalent as long as each option appears exactly once in
the component list. An option listed as a default is not
required to appear in the option list, although it is a good
programming practice to specify default options. If all
-defaults are desired, the option DEFAULT_OPTIONS should be
+defaults are desired, the option @code{DEFAULT_OPTIONS} should be
specified on this call.
This example demonstrates the option parameter needed
to poll for a segment. The option parameter passed to the
-region_get_segment directive should be NO_WAIT.
+region_get_segment directive should be @code{NO_WAIT}.
@ifinfo
@node Region Manager Operations, Creating a Region, Building an Option Set, Region Manager
@@ -216,7 +216,7 @@ following situations applies:
@itemize @bullet
@item By default, the calling task will wait forever to acquire the segment.
-@item Specifying the NO_WAIT option forces an immediate return
+@item Specifying the @code{NO_WAIT} option forces an immediate return
with an error status code.
@item Specifying a timeout limits the interval the task will
@@ -347,7 +347,7 @@ segment is constructed in the region.
Specifying PRIORITY in attribute_set causes tasks
waiting for a segment to be serviced according to task priority.
Specifying FIFO in attribute_set or selecting
-DEFAULT_ATTRIBUTES will cause waiting tasks to be serviced in
+@code{DEFAULT_ATTRIBUTES} will cause waiting tasks to be serviced in
First In-First Out order.
The starting_address parameter must be aligned on a
@@ -553,13 +553,13 @@ the size of maximum segment which is possible for this region@*
This directive obtains a variable size segment from
the region specified by id. The address of the allocated
-segment is returned in segment. The WAIT and NO_WAIT components
+segment is returned in segment. The @code{WAIT} and @code{NO_WAIT} components
of the options parameter are used to specify whether the calling
tasks wish to wait for a segment to become available or return
immediately if no segment is available. For either option, if a
sufficiently sized segment is available, then the segment is
successfully acquired by returning immediately with the
-SUCCESSFUL status code.
+@code{SUCCESSFUL} status code.
If the calling task chooses to return immediately and
a segment large enough is not available, then an error code
@@ -574,7 +574,7 @@ placed at the rear of the wait queue.
The timeout parameter specifies the maximum interval
that a task is willing to wait to obtain a segment. If timeout
-is set to NO_TIMEOUT, then the calling task will wait forever.
+is set to @code{NO_TIMEOUT}, then the calling task will wait forever.
@subheading NOTES:
@@ -586,8 +586,8 @@ The following segment acquisition option constants
are defined by RTEMS:
@itemize @bullet
-@item WAIT - task will wait for semaphore (default)
-@item NO_WAIT - task should not wait
+@item @code{WAIT} - task will wait for semaphore (default)
+@item @code{NO_WAIT} - task should not wait
@end itemize
@page
diff --git a/doc/user/rtmon.t b/doc/user/rtmon.t
index e11ff63cd8..086c572a3a 100644
--- a/doc/user/rtmon.t
+++ b/doc/user/rtmon.t
@@ -729,18 +729,18 @@ returns immediately with a timeout error status.
@subsection Obtaining a Period's Status
If the rate_monotonic_period directive is invoked
-with a period of PERIOD_STATUS ticks, the current state of the
+with a period of @code{PERIOD_STATUS} ticks, the current state of the
specified rate monotonic period will be returned. The following
table details the relationship between the period's status and
the directive status code returned by the rate_monotonic_period
directive:
@itemize @bullet
-@item SUCCESSFUL - period is running
+@item @code{SUCCESSFUL} - period is running
-@item TIMEOUT - period has expired
+@item @code{TIMEOUT} - period has expired
-@item NOT_DEFINED - period has never been initiated
+@item @code{NOT_DEFINED} - period has never been initiated
@end itemize
Obtaining the status of a rate monotonic period does
@@ -1149,7 +1149,7 @@ reinitiating the period with the specified period. If id was
not running (either expired or never initiated), the period is
immediately initiated and the directive returns immediately.
-If invoked with a period of PERIOD_STATUS ticks, the
+If invoked with a period of @code{PERIOD_STATUS} ticks, the
current state of id will be returned. The directive status
indicates the current state of the period. This does not alter
the state or period of the period.
@@ -1217,7 +1217,7 @@ type Rate_Monotonic_Period_Status is
@end example
@end ifset
-If the period's state is RATE_MONOTONIC_INACTIVE, both
+If the period's state is @code{RATE_MONOTONIC_INACTIVE}, both
ticks_since_last_period and ticks_executed_since_last_period
will be set to 0. Otherwise, ticks_since_last_period will
contain the number of clock ticks which have occurred since
diff --git a/doc/user/schedule.t b/doc/user/schedule.t
index 5781a670b7..6007a89244 100644
--- a/doc/user/schedule.t
+++ b/doc/user/schedule.t
@@ -165,7 +165,7 @@ entire timeslice.
The final mechanism for altering the RTEMS scheduling
algorithm is called manual round-robin. Manual round-robin is
invoked by using the task_wake_after directive with a time
-interval of YIELD_PROCESSOR. This allows a task to give up the
+interval of @code{YIELD_PROCESSOR}. This allows a task to give up the
processor and be immediately returned to the ready chain at the
end of its priority group. If no other tasks of the same
priority are ready to run, then the task does not lose control
@@ -193,12 +193,12 @@ saved or restored for a context switch is located either in the
TCB or on the task's stacks.
Tasks that utilize a numeric coprocessor and are
-created with the FLOATING_POINT attribute require additional
+created with the @code{FLOATING_POINT} attribute require additional
operations during a context switch. These additional operations
are necessary to save and restore the floating point context of
-FLOATING_POINT tasks. To avoid unnecessary save and restore
+@code{FLOATING_POINT} tasks. To avoid unnecessary save and restore
operations, the state of the numeric coprocessor is only saved
-when a FLOATING_POINT task is dispatched and that task was not
+when a @code{FLOATING_POINT} task is dispatched and that task was not
the last task to utilize the coprocessor.
@ifinfo
diff --git a/doc/user/sem.t b/doc/user/sem.t
index 256781978a..762778f4aa 100644
--- a/doc/user/sem.t
+++ b/doc/user/sem.t
@@ -228,17 +228,18 @@ are equivalent as long as each attribute appears exactly once in
the component list. An attribute listed as a default is not
required to appear in the attribute list, although it is a good
programming practice to specify default attributes. If all
-defaults are desired, the attribute DEFAULT_ATTRIBUTES should be
+defaults are desired, the attribute @code{DEFAULT_ATTRIBUTES} should be
specified on this call.
This example demonstrates the attribute_set parameter
needed to create a local semaphore with the task priority
waiting queue discipline. The attribute_set parameter passed to
-the semaphore_create directive could be either PRIORITY or LOCAL
-| PRIORITY. The attribute_set parameter can be set to PRIORITY
-because LOCAL is the default for all created tasks. If a
+the semaphore_create directive could be either
+@code{PRIORITY} or @code{LOCAL @value{OR} PRIORITY}.
+The attribute_set parameter can be set to @code{PRIORITY}
+because @code{LOCAL} is the default for all created tasks. If a
similar semaphore were to be known globally, then the
-attribute_set parameter would be GLOBAL | PRIORITY.
+attribute_set parameter would be @code{GLOBAL @value{OR} PRIORITY}.
@ifinfo
@node Building a SEMAPHORE_OBTAIN Option Set, Semaphore Manager Operations, Building a Semaphore's Attribute Set, Semaphore Manager Background
@@ -250,8 +251,8 @@ desired option components. The set of valid options for the
semaphore_obtain directive are listed in the following table:
@itemize @bullet
-@item WAIT - task will wait for semaphore (default)
-@item NO_WAIT - task should not wait
+@item @code{WAIT} - task will wait for semaphore (default)
+@item @code{NO_WAIT} - task should not wait
@end itemize
Option values are specifically designed to be
@@ -260,12 +261,12 @@ are equivalent as long as each attribute appears exactly once in
the component list. An option listed as a default is not
required to appear in the list, although it is a good
programming practice to specify default options. If all
-defaults are desired, the option DEFAULT_OPTIONS should be
+defaults are desired, the option @code{DEFAULT_OPTIONS} should be
specified on this call.
This example demonstrates the option parameter needed
to poll for a semaphore. The option parameter passed to the
-semaphore_obtain directive should be NO_WAIT.
+semaphore_obtain directive should be @code{NO_WAIT}.
@ifinfo
@node Semaphore Manager Operations, Creating a Semaphore, Building a SEMAPHORE_OBTAIN Option Set, Semaphore Manager
@@ -342,7 +343,7 @@ one of the following situations applies:
@item By default, the calling task will wait forever to
acquire the semaphore.
-@item Specifying NO_WAIT forces an immediate return with an
+@item Specifying @code{NO_WAIT} forces an immediate return with an
error status code.
@item Specifying a timeout limits the interval the task will
@@ -560,7 +561,7 @@ by other semaphore related directives to access the semaphore.
This directive will not cause the running task to be
preempted.
-If node is SEARCH_ALL_NODES, all nodes are searched
+If node is @code{SEARCH_ALL_NODES}, all nodes are searched
with the local node being searched first. All other nodes are
searched with the lowest numbered node searched first.
@@ -672,11 +673,11 @@ procedure Semaphore_Obtain (
@subheading DESCRIPTION:
This directive acquires the semaphore specified by
-id. The WAIT and NO_WAIT components of the options parameter
+id. The @code{WAIT} and @code{NO_WAIT} components of the options parameter
indicate whether the calling task wants to wait for the
semaphore to become available or return immediately if the
-semaphore is not currently available. With either WAIT or
-NO_WAIT, if the current semaphore count is positive, then it is
+semaphore is not currently available. With either @code{WAIT} or
+@code{NO_WAIT}, if the current semaphore count is positive, then it is
decremented by one and the semaphore is successfully acquired by
returning immediately with a successful return code.
@@ -702,8 +703,8 @@ task obtaining the semaphore is elevated to that of the ceiling.
The timeout parameter specifies the maximum interval
the calling task is willing to be blocked waiting for the
-semaphore. If it is set to NO_TIMEOUT, then the calling task
-will wait forever. If the semaphore is available or the NO_WAIT
+semaphore. If it is set to @code{NO_TIMEOUT}, then the calling task
+will wait forever. If the semaphore is available or the @code{NO_WAIT}
option component is set, then timeout is ignored.
@subheading NOTES:
@@ -711,14 +712,14 @@ The following semaphore acquisition option constants
are defined by RTEMS:
@itemize @bullet
-@item WAIT - task will wait for semaphore (default)
-@item NO_WAIT - task should not wait
+@item @code{WAIT} - task will wait for semaphore (default)
+@item @code{NO_WAIT} - task should not wait
@end itemize
Attempting to obtain a global semaphore which does not reside on
the local node will generate a request to the remote node to
access the semaphore. If the semaphore is not available and
-NO_WAIT was not specified, then the task must be blocked until
+@code{NO_WAIT} was not specified, then the task must be blocked until
the semaphore is released. A proxy is allocated on the remote
node to represent the task until the semaphore is released.
diff --git a/doc/user/signal.t b/doc/user/signal.t
index 394ffc6032..ff870a69a6 100644
--- a/doc/user/signal.t
+++ b/doc/user/signal.t
@@ -98,17 +98,18 @@ result, does not have a task mode.
@subsection Building a Signal Set
A signal set is built by a bitwise OR of the desired
-signals. The set of valid signals is SIGNAL_0 through
-SIGNAL_31. If a signal is not explicitly specified in the
+signals. The set of valid signals is @code{SIGNAL_0} through
+@code{SIGNAL_31}. If a signal is not explicitly specified in the
signal set, then it is not present. Signal values are
specifically designed to be mutually exclusive, therefore
bitwise OR and addition operations are equivalent as long as
each signal appears exactly once in the component list.
This example demonstrates the signal parameter used
-when sending the signal set consisting of SIGNAL_6, SIGNAL_15,
-and SIGNAL_31. The signal parameter provided to the signal_send
-directive should be SIGNAL_6 | SIGNAL_15 | SIGNAL_31.
+when sending the signal set consisting of
+@code{SIGNAL_6}, @code{SIGNAL_15}, and @code{SIGNAL_31}.
+The signal parameter provided to the signal_send directive should be
+@code{SIGNAL_6 @value{OR} SIGNAL_15 @value{OR} SIGNAL_31}.
@ifinfo
@node Building an ASR's Mode, Signal Manager Operations, Building a Signal Set, Signal Manager Background
@@ -144,7 +145,8 @@ on this call.
This example demonstrates the mode parameter used
with the signal_catch to establish an ASR which executes at
interrupt level three and is non-preemptible. The mode should
-be set to INTERRUPT_LEVEL(3) | NO_PREEMPT to indicate the
+be set to
+@code{INTERRUPT_LEVEL(3) @value{OR} NO_PREEMPT} to indicate the
desired processor mode and interrupt level.
@ifinfo
@@ -231,7 +233,7 @@ software interrupts parallels that of hardware interrupts. As a
result, the differences between the formats of ASRs and ISRs is
limited to the meaning of the single argument passed to an ASR.
The ASR should have the following calling sequence and adhere to
-@value{RTEMS-LANGUAGE} calling conventions:
+@value{LANGUAGE} calling conventions:
@ifset is-C
@example
diff --git a/doc/user/task.t b/doc/user/task.t
index 0d623141d9..a7c729872c 100644
--- a/doc/user/task.t
+++ b/doc/user/task.t
@@ -278,12 +278,12 @@ single argument as an index into an array of parameter blocks.
@end ifinfo
@subsection Floating Point Considerations
-Creating a task with the FLOATING_POINT flag results in
+Creating a task with the @code{FLOATING_POINT} flag results in
additional memory being allocated for the TCB to store the state
of the numeric coprocessor during task switches. This
-additional memory is NOT allocated for NO_FLOATING_POINT tasks.
-Saving and restoring the context of a FLOATING_POINT task takes
-longer than that of a NO_FLOATING_POINT task because of the
+additional memory is @b{NOT} allocated for @code{NO_FLOATING_POINT} tasks.
+Saving and restoring the context of a @code{FLOATING_POINT} task takes
+longer than that of a @code{NO_FLOATING_POINT} task because of the
relatively large amount of time required for the numeric
coprocessor to save or restore its computational state.
@@ -291,41 +291,41 @@ Since RTEMS was designed specifically for embedded military
applications which are floating point intensive, the executive
is optimized to avoid unnecessarily saving and restoring the
state of the numeric coprocessor. The state of the numeric
-coprocessor is only saved when a FLOATING_POINT task is
+coprocessor is only saved when a @code{FLOATING_POINT} task is
dispatched and that task was not the last task to utilize the
-coprocessor. In a system with only one FLOATING_POINT task, the
+coprocessor. In a system with only one @code{FLOATING_POINT} task, the
state of the numeric coprocessor will never be saved or
restored.
-Although the overhead imposed by FLOATING_POINT tasks is
+Although the overhead imposed by @code{FLOATING_POINT} tasks is
minimal, some applications may wish to completely avoid the
-overhead associated with FLOATING_POINT tasks and still utilize
+overhead associated with @code{FLOATING_POINT} tasks and still utilize
a numeric coprocessor. By preventing a task from being
preempted while performing a sequence of floating point
-operations, a NO_FLOATING_POINT task can utilize the numeric
-coprocessor without incurring the overhead of a FLOATING_POINT
+operations, a @code{NO_FLOATING_POINT} task can utilize the numeric
+coprocessor without incurring the overhead of a @code{FLOATING_POINT}
context switch. This approach also avoids the allocation of a
floating point context area. However, if this approach is taken
by the application designer, NO tasks should be created as
-FLOATING_POINT tasks. Otherwise, the floating point context
+@code{FLOATING_POINT} tasks. Otherwise, the floating point context
will not be correctly maintained because RTEMS assumes that the
state of the numeric coprocessor will not be altered by
-NO_FLOATING_POINT tasks.
+@code{NO_FLOATING_POINT} tasks.
If the supported processor type does not have hardware floating
capabilities or a standard numeric coprocessor, RTEMS will not
provide built-in support for hardware floating point on that
processor. In this case, all tasks are considered
-NO_FLOATING_POINT whether created as FLOATING_POINT or
-NO_FLOATING_POINT tasks. A floating point emulation software
+@code{NO_FLOATING_POINT} whether created as @code{FLOATING_POINT} or
+@code{NO_FLOATING_POINT} tasks. A floating point emulation software
library must be utilized for floating point operations.
On some processors, it is possible to disable the floating point
unit dynamically. If this capability is supported by the target
processor, then RTEMS will utilize this capability to enable the
floating point unit only for tasks which are created with the
-FLOATING_POINT attribute. The consequence of a
-NO_FLOATING_POINT task attempting to access the floating point
+@code{FLOATING_POINT} attribute. The consequence of a
+@code{NO_FLOATING_POINT} task attempting to access the floating point
unit is CPU dependent but will i general result in an exception
condition.
@@ -351,16 +351,17 @@ equivalent as long as each attribute appears exactly once in the
component list. A component listed as a default is not required
to appear in the component list, although it is a good
programming practice to specify default components. If all
-defaults are desired, then DEFAULT_ATTRIBUTES should be used.
+defaults are desired, then @code{DEFAULT_ATTRIBUTES} should be used.
This example demonstrates the attribute_set parameter needed to
create a local task which utilizes the numeric coprocessor. The
-attribute_set parameter could be FLOATING_POINT or LOCAL |
-FLOATING_POINT. The attribute_set parameter can be set to
-FLOATING_POINT because LOCAL is the default for all created
+attribute_set parameter could be @code{FLOATING_POINT} or
+@code{LOCAL @value{OR} FLOATING_POINT}.
+The attribute_set parameter can be set to
+@code{FLOATING_POINT} because @code{LOCAL} is the default for all created
tasks. If the task were global and used the numeric
-coprocessor, then the attribute_set parameter would be GLOBAL |
-FLOATING_POINT.
+coprocessor, then the attribute_set parameter would be
+@code{GLOBAL @value{OR} FLOATING_POINT}.
@ifinfo
@node Building a Mode and Mask, Task Manager Operations, Building a Task's Attribute Set, Task Manager Background
@@ -449,16 +450,16 @@ long as each mode appears exactly once in the component list. A
mode component listed as a default is not required to appear in
the mode component list, although it is a good programming
practice to specify default components. If all defaults are
-desired, the mode DEFAULT_MODES and the mask ALL_MODE_MASKS
+desired, the mode @code{DEFAULT_MODES} and the mask @code{ALL_MODE_MASKS}
should be used.
The following example demonstrates the mode and mask parameters
used with the task_mode directive to place a task at interrupt
level 3 and make it non-preemptible. The mode should be set to
-INTERRUPT_LEVEL(3) | NO_PREEMPT to indicate the desired
+@code{INTERRUPT_LEVEL(3) @value{RTEMSOR} NO_PREEMPT} to indicate the desired
preemption mode and interrupt level, while the mask parameter
-should be set to INTERRUPT_MASK | NO_PREEMPT_MASK to indicate
-that the calling task's interrupt level and preemption mode are
+should be set to @code{INTERRUPT_MASK @value{RTEMSOR} NO_PREEMPT_MASK}
+to indicate that the calling task's interrupt level and preemption mode are
being altered.
@ifinfo
@@ -566,7 +567,7 @@ The task_wake_after directive creates a sleep timer which allows
a task to go to sleep for a specified interval. The task is
blocked until the delay interval has elapsed, at which time the
task is unblocked. A task calling the task_wake_after directive
-with a delay interval of YIELD_PROCESSOR ticks will yield the
+with a delay interval of @code{YIELD_PROCESSOR} ticks will yield the
processor to any other ready task of equal or greater priority
and remain ready to execute.
@@ -725,10 +726,10 @@ This directive creates a task which resides on the local node.
It allocates and initializes a TCB, a stack, and an optional
floating point context area. The mode parameter contains values
which sets the task's initial execution mode. The
-FLOATING_POINT attribute should be specified if the created task
+@code{FLOATING_POINT} attribute should be specified if the created task
is to use a numeric coprocessor. For performance reasons, it is
recommended that tasks not using the numeric coprocessor should
-specify the NO_FLOATING_POINT attribute. If the GLOBAL
+specify the @code{NO_FLOATING_POINT} attribute. If the GLOBAL
attribute is specified, the task can be accessed from remote
nodes. The task id, returned in id, is used in other task
related directives to access the task. When created, a task is
@@ -744,8 +745,8 @@ RTEMS supports a maximum of 256 interrupt levels which are
mapped onto the interrupt levels actually supported by the
target processor.
-The requested stack size should be at least MINIMUM_STACK_SIZE
-bytes. The value of MINIMUM_STACK_SIZE is processor dependent.
+The requested stack size should be at least @code{MINIMUM_STACK_SIZE}
+bytes. The value of @code{MINIMUM_STACK_SIZE} is processor dependent.
Application developers should consider the stack usage of the
device drivers when calculating the stack size required for
tasks which utilize the driver.
@@ -820,7 +821,7 @@ procedure Task_Ident (
@subheading DESCRIPTION:
This directive obtains the task id associated with the task name
specified in name. A task may obtain its own id by specifying
-SELF or its own task name in name. If the task name is not
+@code{SELF} or its own task name in name. If the task name is not
unique, then the task id returned will match one of the tasks
with that name. However, this task id is not guaranteed to
correspond to the desired task. The task id, returned in id, is
@@ -829,7 +830,7 @@ used in other task related directives to access the task.
@subheading NOTES:
This directive will not cause the running task to be preempted.
-If node is SEARCH_ALL_NODES, all nodes are searched with the
+If node is @code{SEARCH_ALL_NODES}, all nodes are searched with the
local node being searched first. All other nodes are searched
with the lowest numbered node searched first.
@@ -944,7 +945,7 @@ task, and allowing that task to release resources back to RTEMS
and then delete itself.
@subheading NOTES:
-If id is SELF, the calling task will be restarted and will not
+If id is @code{SELF}, the calling task will be restarted and will not
return from this directive.
The calling task will be preempted if its preemption mode is
@@ -987,7 +988,7 @@ procedure Task_Delete (
This directive deletes a task, either the calling task or
another task, as specified by id. RTEMS stops the execution of
the task and reclaims the stack memory, any allocated delay or
-timeout timers, the TCB, and, if the task is FLOATING_POINT, its
+timeout timers, the TCB, and, if the task is @code{FLOATING_POINT}, its
floating point context area. RTEMS does not reclaim the
following resources: region segments, partition buffers,
semaphores, timers, or rate monotonic periods.
@@ -1002,7 +1003,7 @@ resources before deletion. A task can be directed to release
its resources and delete itself by restarting it with a special
argument or by sending it a message, an event, or a signal.
-Deletion of the current task (SELF) will force RTEMS to select
+Deletion of the current task (@code{SELF}) will force RTEMS to select
another task to execute.
When a global task is deleted, the task id must be transmitted
@@ -1051,7 +1052,7 @@ the task_resume directive for this task and any blocked state
has been removed.
@subheading NOTES:
-The requesting task can suspend itself by specifying SELF as id.
+The requesting task can suspend itself by specifying @code{SELF} as id.
In this case, the task will be suspended and a successful
return code will be returned when the task is resumed.
@@ -1140,7 +1141,7 @@ procedure Task_Set_Priority (
@subheading DESCRIPTION:
This directive manipulates the priority of the task specified by
-id. An id of SELF is used to indicate the calling task. When
+id. An id of @code{SELF} is used to indicate the calling task. When
new_priority is not equal to CURRENT_PRIORITY, the specified
task's previous priority is returned in old_priority. When
new_priority is CURRENT_PRIORITY, the specified task's current
@@ -1333,14 +1334,14 @@ location of the task specified by id.
@subheading NOTES:
This directive will not cause the running task to be preempted.
-If id is set to SELF, the calling task accesses its own notepad.
+If id is set to @code{SELF}, the calling task accesses its own notepad.
@c This version of the paragraph avoids the overfull hbox error.
@c The constants NOTEPAD_0 through NOTEPAD_15 can be used to access the
@c sixteen notepad locations.
The sixteen notepad locations can be accessed using the constants
-NOTEPAD_0 through NOTEPAD_15.
+@code{NOTEPAD_0} through @code{NOTEPAD_15}.
Getting a note of a global task which does not reside on the
local node will generate a request to the remote node to obtain
@@ -1385,7 +1386,7 @@ This directive sets the notepad entry for the task specified by
id to the value note.
@subheading NOTES:
-If id is set to SELF, the calling task accesses its own notepad
+If id is set to @code{SELF}, the calling task accesses its own notepad
locations.
This directive will not cause the running task to be preempted.
@@ -1395,7 +1396,7 @@ This directive will not cause the running task to be preempted.
@c sixteen notepad locations.
The sixteen notepad locations can be accessed using the constants
-NOTEPAD_0 through NOTEPAD_15.
+@code{NOTEPAD_0} through @code{NOTEPAD_15}.
Setting a notepad location of a global task which does not
reside on the local node will generate a request to the remote
@@ -1440,7 +1441,7 @@ Setting the system date and time with the clock_set directive
has no effect on a task_wake_after blocked task.
A task may give up the processor and remain in the ready state
-by specifying a value of YIELD_PROCESSOR in ticks.
+by specifying a value of @code{YIELD_PROCESSOR} in ticks.
The maximum timer interval that can be specified is the maximum
value which can be represented by the rtems_unsigned32 type.
diff --git a/doc/user/timer.t b/doc/user/timer.t
index 515736e740..d5c5166fc2 100644
--- a/doc/user/timer.t
+++ b/doc/user/timer.t
@@ -74,7 +74,7 @@ sometimes referred to as a "keep alive" or a "deadman" timer.
@end ifinfo
@subsection Timer Service Routines
-The timer service routine should adhere to @value{RTEMS-LANGUAGE} calling
+The timer service routine should adhere to @value{LANGUAGE} calling
conventions and have a prototype similar to the following::
@ifset is-C
diff --git a/doc/user/userext.t b/doc/user/userext.t
index 8c6a319bee..dc49b03e65 100644
--- a/doc/user/userext.t
+++ b/doc/user/userext.t
@@ -198,8 +198,8 @@ directives to obtain and release the extension buffers.
The sections that follow will contain a description
of each extension. Each section will contain a prototype of a
function with the appropriate calling sequence for the
-corresponding extension. The names given for the @value{RTEMS-LANGUAGE}
-@value{RTEMS-ROUTINE} and
+corresponding extension. The names given for the @value{LANGUAGE}
+@value{ROUTINE} and
its arguments are all defined by the user. The names used in
the examples were arbitrarily chosen and impose no naming
conventions on the user.
@@ -496,7 +496,7 @@ recover, then a fatal error may be reported. If the user does
not provide a TASK_EXITTED extension or the provided handler
returns control to RTEMS, then the RTEMS default handler will be
used. This default handler invokes the directive
-fatal_error_occurred with the TASK_EXITTED directive status.
+fatal_error_occurred with the @code{TASK_EXITTED} directive status.
@lowersections