Index: doc/user/c_user.texi
===================================================================
--- doc/user/c_user.texi	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/c_user.texi	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -38,5 +38,9 @@
 @c variable substitution info:
 @c
-@c @set RTEMS-LANGUAGE 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}
 @c NOTE:  don't use underscore in the name
Index: doc/user/clock.t
===================================================================
--- doc/user/clock.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/clock.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -70,4 +70,5 @@
 and time structure for the native time and date format:
 
+@ifset is-C
 @example
 struct rtems_tod_control @{
@@ -83,4 +84,20 @@
 typedef struct rtems_tod_control rtems_time_of_day;
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+type Time_Of_Day is
+   record
+      Year    : RTEMS.Unsigned32; -- year, A.D.
+      Month   : RTEMS.Unsigned32; -- month, 1 .. 12
+      Day     : RTEMS.Unsigned32; -- day, 1 .. 31
+      Hour    : RTEMS.Unsigned32; -- hour, 0 .. 23
+      Minute  : RTEMS.Unsigned32; -- minute, 0 .. 59
+      Second  : RTEMS.Unsigned32; -- second, 0 .. 59
+      Ticks   : RTEMS.Unsigned32; -- elapsed ticks between seconds
+   end record;
+@end example
+@end ifset
 
 
@@ -92,4 +109,5 @@
 following structure:
 
+@ifset is-C
 @example
 @group
@@ -97,8 +115,18 @@
   rtems_unsigned32 seconds;       /* seconds since RTEMS epoch*/
   rtems_unsigned32 microseconds;  /* since last second        */
-@} rtems_clock_time_value_control;
+@} rtems_clock_time_value;
 @end group
 @end example
-
+@end ifset
+
+@ifset is-Ada
+@example
+type Clock_Time_Value is
+   record
+      Seconds      : Unsigned32;
+      Microseconds : Unsigned32;
+   end record;
+@end example
+@end ifset
 
 The seconds field in this structure is the number of
@@ -247,4 +275,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_clock_set(
@@ -252,4 +281,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Clock_Set (
+   Time_Buffer : in     RTEMS.Time_Of_Day;
+   Result      :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -289,4 +328,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_clock_get(
@@ -295,4 +335,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Clock_Get (
+   Option      : in     RTEMS.Clock_Get_Options;
+   Time_Buffer : in     RTEMS.Address;
+   Result      :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -330,7 +381,17 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_clock_tick( void );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Clock_Tick (
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
Index: doc/user/concepts.t
===================================================================
--- doc/user/concepts.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/concepts.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -84,5 +84,4 @@
 
 @ifset use-ascii
-ASCII
 @example
 @group
Index: doc/user/conf.t
===================================================================
--- doc/user/conf.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/conf.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -36,5 +36,5 @@
 argument to the initialize_executive directive, which MUST be
 the first RTEMS directive called.  The RTEMS Configuration Table
-is defined in the following C structure:
+is defined in the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
 
 @example
@@ -127,5 +127,5 @@
 For example, the user can configure the maximum number of tasks for 
 this application. The RTEMS API Configuration Table is defined in 
-the following C structure:
+the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
 
 @example
@@ -197,5 +197,5 @@
 For example, the user can configure the maximum number of threads for
 this application. The POSIX API Configuration Table is defined in
-the following C structure:
+the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
  
 @example
@@ -352,5 +352,6 @@
 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 C structure:
+Driver Table is defined in 
+the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
 
 @example
@@ -542,5 +543,6 @@
 Multiprocessor Configuration Table will be provided in the
 Multiprocessing chapter.  The format of the Multiprocessor
-Configuration Table is defined in the following C structure:
+Configuration Table is defined in 
+the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
 
 @example
@@ -599,5 +601,6 @@
 @section Multiprocessor Communications Interface Table
 
-The format of this table is defined in the following C structure:
+The format of this table is defined in 
+the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
 
 @example
Index: doc/user/dpmem.t
===================================================================
--- doc/user/dpmem.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/dpmem.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -148,4 +148,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_port_create(
@@ -157,4 +158,18 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Port_Create (
+   Name           : in     RTEMS.Name;
+   Internal_Start : in     RTEMS.Address;
+   External_Start : in     RTEMS.Address;
+   Length         : in     RTEMS.Unsigned32;
+   ID             :    out RTEMS.ID;
+   Result         :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -193,4 +208,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_port_ident(
@@ -199,4 +215,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Port_Ident (
+   Name   : in     RTEMS.Name;
+   ID     :    out RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -226,4 +253,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_port_delete(
@@ -231,4 +259,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Port_Delete (
+   ID     : in     RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -259,4 +297,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_port_external_to_internal(
@@ -266,4 +305,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Port_External_To_Internal (
+   ID       : in     RTEMS.ID;
+   External : in     RTEMS.Address;
+   Internal :    out RTEMS.Address;
+   Result   :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -293,4 +344,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_port_internal_to_external(
@@ -300,4 +352,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Port_Internal_To_External (
+   ID       : in     RTEMS.ID;
+   Internal : in     RTEMS.Address;
+   External :    out RTEMS.Address;
+   Result   :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -319,6 +383,2 @@
 preempted.
 
-
-
-
-
Index: doc/user/event.t
===================================================================
--- doc/user/event.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/event.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -248,4 +248,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_event_send (
@@ -254,4 +255,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Event_Send (
+   ID       : in     RTEMS.ID;
+   Event_In : in     RTEMS.Event_Set;
+   Result   :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -294,4 +306,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_event_receive (
@@ -302,4 +315,17 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Event_Receive (
+   Event_In   : in     RTEMS.Event_Set;
+   Option_Set : in     RTEMS.Option;
+   Ticks      : in     RTEMS.Interval;
+   Event_Out  :    out RTEMS.Event_Set;
+   Result     :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
Index: doc/user/fatal.t
===================================================================
--- doc/user/fatal.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/fatal.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -30,6 +30,4 @@
 @item @code{fatal_error_occurred} - Invoke the fatal error handler
 @end itemize
-
-
 
 @ifinfo
@@ -149,4 +147,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 void volatile rtems_fatal_error_occurred(
@@ -154,4 +153,13 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Fatal_Error_Occurred (
+   The_Error : in     RTEMS.Unsigned32
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES
Index: doc/user/init.t
===================================================================
--- doc/user/init.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/init.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -248,10 +248,21 @@
 @subheading CALLING SEQUENCE:
 
-@example
-rtems_interrupt_level rtems_initialize_executive_early(
+@ifset is-C
+@example
+void rtems_initialize_executive(
   rtems_configuration_table *configuration_table,
   rtems_cpu_table           *cpu_table
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Initialize_Executive(
+  Configuration_Table : in     RTEMS.Configuration_Table_Pointer;
+  CPU_Table           : in     RTEMS.CPU_Table
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -297,4 +308,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_interrupt_level rtems_initialize_executive_early(
@@ -303,4 +315,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure rtems.initialize_executive_early(
+  Configuration_Table : in     RTEMS.Configuration_Table_Pointer;
+  CPU_Table           : in     RTEMS.Cpu_Table;
+  Level               :    out RTEMS.ISR_Level
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -337,4 +360,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 void rtems_initialize_executive_late(
@@ -342,4 +366,13 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Initialize_Executive_Late(
+  BSP_Level : in    RTEMS.ISR_Level
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -382,4 +415,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 void rtems_shutdown_executive(
@@ -387,4 +421,13 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Shutdown_Executive(
+  result : in     RTEMS.Unsigned32
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
Index: doc/user/intr.t
===================================================================
--- doc/user/intr.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/intr.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -57,5 +57,6 @@
 interrupt occurs, the processor will automatically vector to
 RTEMS.  RTEMS saves and restores all registers which are not
-preserved by the normal C calling convention for the target
+preserved by the normal @value{RTEMS-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
@@ -67,4 +68,5 @@
 the following:
 
+@ifset is-C
 @example
 rtems_isr user_isr(
@@ -72,4 +74,13 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_ISR (
+  vector : in     RTEMS.Vector_Number
+);
+@end example
+@end ifset
 
 The vector number argument is provided by RTEMS to
@@ -100,5 +111,5 @@
 proper task scheduling and dispatching is to be performed:
 
-@itemize @code{ }
+@itemize @b{ }
 
 @item @b{The interrupt manager must be used for all ISRs which
@@ -120,6 +131,4 @@
 without performing any dispatch processing.  Only when the
 outermost ISR terminates will the postponed dispatching occur.
-
-
 
 @ifinfo
@@ -273,4 +282,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_interrupt_catch(
@@ -280,4 +290,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Interrupt_Catch (
+   New_ISR_handler : in     RTEMS.Address;
+   Vector          : in     RTEMS.Vector_Number;
+   Old_ISR_Handler :    out RTEMS.Address;
+   Result          :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
Index: doc/user/io.t
===================================================================
--- doc/user/io.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/io.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -150,4 +150,5 @@
 compatible with the following prototype:
 
+@ifset is-C
 @example
 rtems_device_driver io_entry(
@@ -157,6 +158,15 @@
 );
 @end example
-
-
+@end ifset
+
+@ifset is-Ada
+@example
+function IO_Entry (
+  Major          : in     RTEMS.Device_Major_Number;
+  Minor          : in     RTEMS.Device_Major_Number;
+  Argument_Block : in     RTEMS.Address
+) return RTEMS.Status_Code;
+@end example
+@end ifset
 
 The format and contents of the parameter block are
@@ -264,4 +274,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_io_initialize(
@@ -271,4 +282,17 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure IO_Initialize (
+   Major        : in     RTEMS.Device_Major_Number;
+   Minor        : in     RTEMS.Device_Minor_Number;
+   Argument     : in     RTEMS.Address;
+   Return_Value :    out RTEMS.Unsigned32;
+   Result       :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -303,4 +327,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_io_register_name(
@@ -310,4 +335,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure IO_Register_Name (
+   Name   : in     String;
+   Major  : in     RTEMS.Device_Major_Number;
+   Minor  : in     RTEMS.Device_Minor_Number;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -333,10 +370,21 @@
 @subheading CALLING SEQUENCE:
 
-@example
-rtems_status_code rtems_io_lookup(
+@ifset is-C
+@example
+rtems_status_code rtems_io_lookup_name(
   const char                *name,
   rtems_driver_name_t      **device_info
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure IO_Lookup_Name (
+   Name         : in     String;
+   Device_Info  :    out RTEMS.Driver_Name_t;
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -362,4 +410,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_io_open(
@@ -369,4 +418,17 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure IO_Open (
+   Major        : in     RTEMS.Device_Major_Number;
+   Minor        : in     RTEMS.Device_Minor_Number;
+   Argument     : in     RTEMS.Address;
+   Return_Value :    out RTEMS.Unsigned32;
+   Result       :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -395,4 +457,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_io_close(
@@ -402,4 +465,17 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure IO_Close (
+   Major        : in     RTEMS.Device_Major_Number;
+   Minor        : in     RTEMS.Device_Minor_Number;
+   Argument     : in     RTEMS.Address;
+   Return_Value :    out RTEMS.Unsigned32;
+   Result       :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -428,4 +504,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_io_read(
@@ -435,4 +512,17 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure IO_Read (
+   Major        : in     RTEMS.Device_Major_Number;
+   Minor        : in     RTEMS.Device_Minor_Number;
+   Argument     : in     RTEMS.Address;
+   Return_Value :    out RTEMS.Unsigned32;
+   Result       :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -462,4 +552,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_io_write(
@@ -469,4 +560,17 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure IO_Write (
+   Major        : in     RTEMS.Device_Major_Number;
+   Minor        : in     RTEMS.Device_Minor_Number;
+   Argument     : in     RTEMS.Address;
+   Return_Value :    out RTEMS.Unsigned32;
+   Result       :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -496,4 +600,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_io_control(
@@ -503,4 +608,17 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure IO_Control (
+   Major        : in     RTEMS.Device_Major_Number;
+   Minor        : in     RTEMS.Device_Minor_Number;
+   Argument     : in     RTEMS.Address;
+   Return_Value :    out RTEMS.Unsigned32;
+   Result       :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
Index: doc/user/mp.t
===================================================================
--- doc/user/mp.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/mp.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -341,4 +341,5 @@
 following prototype:
 
+@ifset is-C
 @example
 @group
@@ -348,4 +349,13 @@
 @end group
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_MPCI_Initialization (
+   Configuration : in     RTEMS.Configuration_Table_Pointer
+);
+@end example
+@end ifset
 
 where configuration is the address of the user's
@@ -372,4 +382,5 @@
 following prototype:
 
+@ifset is-C
 @example
 @group
@@ -379,4 +390,13 @@
 @end group
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_MPCI_Get_Packet (
+   Packet : access RTEMS.Packet_Prefix_Pointer
+);
+@end example
+@end ifset
 
 where packet is the address of a pointer to a packet.
@@ -402,4 +422,5 @@
 following prototype:
 
+@ifset is-C
 @example
 @group
@@ -409,4 +430,13 @@
 @end group
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_MPCI_Return_Packet (
+   Packet : in     RTEMS.Packet_Prefix_Pointer
+);
+@end example
+@end ifset
 
 where packet is the address of a packet.  If the
@@ -424,4 +454,5 @@
 following prototype:
 
+@ifset is-C
 @example
 @group
@@ -431,4 +462,13 @@
 @end group
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_MPCI_Receive_Packet (
+   Packet : access RTEMS.Packet_Prefix_Pointer
+);
+@end example
+@end ifset
 
 where packet is a pointer to the address of a packet
@@ -448,4 +488,5 @@
 following prototype:
 
+@ifset is-C
 @example
 @group
@@ -456,4 +497,14 @@
 @end group
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_MPCI_Send_Packet (
+   Node   : in     RTEMS.Unsigned32;
+   Packet : access RTEMS.Packet_Prefix_Pointer
+);
+@end example
+@end ifset
 
 where node is the node number of the destination and packet is the 
@@ -604,7 +655,15 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 void rtems_multiprocessing_announce( void );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Multiprocessing_Announce;
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
Index: doc/user/msg.t
===================================================================
--- doc/user/msg.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/msg.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -294,4 +294,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_message_queue_create(
@@ -303,4 +304,18 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Message_Queue_Create (
+   Name             : in     RTEMS.Name;
+   Count            : in     RTEMS.Unsigned32;
+   Max_Message_Size : in     RTEMS.Unsigned32;
+   Attribute_Set    : in     RTEMS.Attribute;
+   ID               :    out RTEMS.ID;
+   Result           :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -367,4 +382,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_message_queue_ident(
@@ -374,4 +390,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Message_Queue_Ident (
+   Name   : in     RTEMS.Name;
+   Node   : in     RTEMS.Unsigned32;
+   ID     :    out RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -414,4 +442,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_message_queue_delete(
@@ -419,4 +448,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Message_Queue_Delete (
+   ID     : in     RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -467,4 +506,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_message_queue_send(
@@ -474,4 +514,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Message_Queue_Send (
+   ID     : in     RTEMS.ID;
+   Buffer : in     RTEMS.Address;
+   Size   : in     RTEMS.Unsigned32;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -515,4 +567,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_message_queue_urgent(
@@ -522,4 +575,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Message_Queue_Urgent (
+   ID     : in     RTEMS.ID;
+   Buffer : in     RTEMS.Address;
+   Size   : in     RTEMS.Unsigned32;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -564,4 +629,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_message_queue_broadcast(
@@ -572,4 +638,17 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Message_Queue_Broadcast (
+   ID     : in     RTEMS.ID;
+   Buffer : in     RTEMS.Address;
+   Size   : in     RTEMS.Unsigned32;
+   Count  :    out RTEMS.Unsigned32;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -616,4 +695,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_message_queue_receive(
@@ -625,4 +705,18 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Message_Queue_Receive (
+   ID         : in     RTEMS.ID;
+   Buffer     : in     RTEMS.Address;
+   Option_Set : in     RTEMS.Option;
+   Timeout    : in     RTEMS.Interval;
+   Size       :    out RTEMS.Unsigned32;
+   Result     :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -687,4 +781,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_message_queue_flush(
@@ -693,4 +788,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Message_Queue_Flush (
+   ID     : in     RTEMS.ID;
+   Count  :    out RTEMS.Unsigned32;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
Index: doc/user/overview.t
===================================================================
--- doc/user/overview.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/overview.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -55,5 +55,5 @@
 
 This manual describes the usage of RTEMS for
-applications written in the C programming language.  Those
+applications written in the @value{RTEMS-LANGUAGE} programming language.  Those
 implementation details that are processor dependent are provided
 in the C Applications Supplement documents.  A supplement
@@ -410,6 +410,7 @@
 management as well as intertask communication and
 synchronization.  Since directives, user related data
-structures, and examples are presented in C, a basic
-understanding of the C programming language is required to fully
+structures, and examples are presented in @value{RTEMS-LANGUAGE}, a basic
+understanding of the @value{RTEMS-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
Index: doc/user/part.t
===================================================================
--- doc/user/part.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/part.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -195,4 +195,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_partition_create(
@@ -205,4 +206,19 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Partition_Create (
+   Name             : in     RTEMS.Name;
+   Starting_Address : in     RTEMS.Address;
+   Length           : in     RTEMS.Unsigned32;
+   Buffer_Size      : in     RTEMS.Unsigned32;
+   Attribute_Set    : in     RTEMS.Attribute;
+   ID               :    out RTEMS.ID;
+   Result           :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -268,4 +284,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_partition_ident(
@@ -275,4 +292,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Partition_Ident (
+   Name   : in     RTEMS.Name;
+   Node   : in     RTEMS.Unsigned32;
+   ID     :    out RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -315,4 +344,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_partition_delete(
@@ -320,4 +350,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Partition_Delete (
+   ID     : in     RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -358,4 +398,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_partition_get_buffer(
@@ -364,4 +405,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Partition_Get_Buffer (
+   ID     : in     RTEMS.ID;
+   Buffer :    out RTEMS.Address;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -397,4 +449,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_partition_return_buffer(
@@ -403,4 +456,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Partition_Return_Buffer (
+   ID     : in     RTEMS.ID;
+   Buffer : in     RTEMS.Address;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
Index: doc/user/preface.texi
===================================================================
--- doc/user/preface.texi	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/preface.texi	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -147,10 +147,22 @@
 Government owned, so no licensing fees are necessary.  RTEMS has
 been implemented in both the Ada and C programming languages.
-It has been ported to the Motorola MC68xxx family, the Intel
-i80386 and above, and the Intel i80960 family.  Support for
-other processor families, including RISC, CISC, and DSP, is
-planned.  Since almost all of RTEMS is written in a high level
-language, ports to additional processor families require minimal
-effort.
+It has been ported to the following processor families:
+
+@itemize @bullet
+@item Intel i80386 and above 
+@item Intel i80960
+@item Motorola MC68xxx 
+@item Motorola MC683xx
+@item MIPS
+@item PowerPC
+@item SPARC
+@item Hewlett Packard PA-RISC
+@item AMD A29K
+@item UNIX
+@end itemize
+
+Support for other processor families, including RISC, CISC, and DSP, is
+planned.  Since almost all of RTEMS is written in a high level language,
+ports to additional processor families require minimal effort.
 
 RTEMS multiprocessor support is capable of handling
@@ -170,4 +182,5 @@
 functionally compliant real-time multiprocessor executive.  It
 describes the user interface and run-time behavior of Release
-@value{RTEMS-RELEASE} of the C implementation of RTEMS.
+@value{RTEMS-RELEASE} of the @value{RTEMS-LANGUAGE} interface
+to RTEMS.
 
Index: doc/user/region.t
===================================================================
--- doc/user/region.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/region.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -295,4 +295,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_region_create(
@@ -305,4 +306,19 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Region_Create (
+   Name             : in     RTEMS.Name;
+   Starting_Address : in     RTEMS.Address;
+   Length           : in     RTEMS.Unsigned32;
+   Page_Size        : in     RTEMS.Unsigned32;
+   Attribute_Set    : in     RTEMS.Attribute;
+   ID               :    out RTEMS.ID;
+   Result           :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -360,4 +376,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_region_ident(
@@ -366,4 +383,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Region_Ident (
+   Name   : in     RTEMS.Name;
+   ID     :    out RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -393,4 +421,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_region_delete(
@@ -398,4 +427,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Region_Delete (
+   ID     : in     RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -428,4 +467,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_region_extend(
@@ -435,4 +475,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Region_Extend (
+   ID               : in     RTEMS.ID;
+   Starting_Address : in     RTEMS.Address;
+   Length           : in     RTEMS.Unsigned32;
+   Result           :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -463,4 +515,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_region_get_segment(
@@ -472,4 +525,18 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Region_Get_Segment (
+   ID         : in     RTEMS.ID;
+   Size       : in     RTEMS.Unsigned32;
+   Option_Set : in     RTEMS.Option;
+   Timeout    : in     RTEMS.Interval;
+   Segment    :    out RTEMS.Address;
+   Result     :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -532,4 +599,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_region_return_segment(
@@ -538,4 +606,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Region_Return_Segment (
+   ID      : in     RTEMS.ID;
+   Segment : in     RTEMS.Address;
+   Result  :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -576,4 +655,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_region_get_segment_size(
@@ -583,4 +663,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Region_Get_Segment_Size (
+   ID         : in     RTEMS.ID;
+   Segment    : in     RTEMS.Address;
+   Size       :    out RTEMS.Unsigned32;
+   Result     :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
Index: doc/user/rtmon.t
===================================================================
--- doc/user/rtmon.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/rtmon.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -937,4 +937,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_rate_monotonic_create(
@@ -943,4 +944,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Rate_Monotonic_Create (
+   Name   : in     RTEMS.Name;
+   ID     :    out RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -971,4 +983,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_rate_monotonic_ident(
@@ -977,4 +990,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Rate_Monotonic_Ident (
+   Name   : in     RTEMS.Name;
+   ID     :    out RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -1004,4 +1028,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_rate_monotonic_cancel(
@@ -1009,4 +1034,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Rate_Monotonic_Cancel (
+   ID     : in     RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -1037,4 +1072,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_rate_monotonic_delete(
@@ -1042,4 +1078,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Rate_Monotonic_Delete (
+   ID     : in     RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -1069,4 +1115,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_rate_monotonic_period(
@@ -1075,4 +1122,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Rate_Monotonic_Period (
+   ID      : in     RTEMS.ID;
+   Length  : in     RTEMS.Interval;
+   Result  :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -1110,10 +1168,22 @@
 @subheading CALLING SEQUENCE:
 
-@example
-rtems_status_code rtems_rate_monotonic_period(
+@ifset is-C
+@example
+rtems_status_code rtems_rate_monotonic_get_status(
   rtems_id                            id,
   rtems_rate_monotonic_period_status *status
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Rate_Monotonic_Get_Status (
+   ID      : in     RTEMS.ID;
+   Status  :    out RTEMS.Rate_Monotonic_Period_Status;
+   Result  :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -1127,4 +1197,5 @@
 the rate monotonic period id in the following data structure:
 
+@ifset is-C
 @example
 typedef struct @{
@@ -1134,4 +1205,16 @@
 @}  rtems_rate_monotonic_period_status;
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+type Rate_Monotonic_Period_Status is
+   begin
+      State                            : RTEMS.Rate_Monotonic_Period_States;
+      Ticks_Since_Last_Period          : RTEMS.Unsigned32;
+      Ticks_Executed_Since_Last_Period : RTEMS.Unsigned32;
+   end record;
+@end example
+@end ifset
 
 If the period's state is RATE_MONOTONIC_INACTIVE, both
Index: doc/user/sem.t
===================================================================
--- doc/user/sem.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/sem.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -427,4 +427,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_semaphore_create(
@@ -436,4 +437,17 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Semaphore_Create (
+   Name          : in     RTEMS.Name;
+   Count         : in     RTEMS.Unsigned32;
+   Attribute_Set : in     RTEMS.Attribute;
+   ID            :    out RTEMS.ID;
+   Result        :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -507,4 +521,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_semaphore_ident(
@@ -514,4 +529,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Semaphore_Ident (
+   Name   : in     RTEMS.Name;
+   Node   : in     RTEMS.Unsigned32;
+   ID     :    out RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -554,4 +581,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_semaphore_delete(
@@ -559,4 +587,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Semaphore_Delete (
+   ID     : in     RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -604,4 +642,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_semaphore_obtain(
@@ -611,4 +650,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Semaphore_Obtain (
+   ID         : in     RTEMS.ID;
+   Option_Set : in     RTEMS.Option;
+   Timeout    : in     RTEMS.Interval;
+   Result     :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -680,4 +731,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_semaphore_release(
@@ -685,4 +737,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Semaphore_Release (
+   ID     : in     RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
Index: doc/user/signal.t
===================================================================
--- doc/user/signal.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/signal.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -232,6 +232,7 @@
 limited to the meaning of the single argument passed to an ASR.
 The ASR should have the following calling sequence and adhere to
-C calling conventions:
-
+@value{RTEMS-LANGUAGE} calling conventions:
+
+@ifset is-C
 @example
 rtems_asr user_routine(
@@ -239,4 +240,13 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_Routine (
+  Signals : in     RTEMS.Signal_Set
+);
+@end example
+@end ifset
 
 When the ASR returns to RTEMS the mode and execution
@@ -268,4 +278,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_signal_catch(
@@ -274,4 +285,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Signal_Catch (
+   ASR_Handler : in     RTEMS.ASR_Handler;
+   Mode_Set    : in     RTEMS.Mode;
+   Result      :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -315,4 +337,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_signal_send(
@@ -321,4 +344,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Signal_Send (
+   ID         : in     RTEMS.ID;
+   Signal_Set : in     RTEMS.Signal_Set;
+   Result     :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
Index: doc/user/task.t
===================================================================
--- doc/user/task.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/task.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -255,4 +255,5 @@
 argument is:
 
+@ifset is-C
 @example
 rtems_task user_task( 
@@ -260,4 +261,13 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_Task (
+  Argument : in    RTEMS.Task_Argument_Ptr
+);
+@end example
+@end ifset
 
 Application tasks requiring more information may view this
@@ -673,4 +683,6 @@
 
 @subheading CALLING SEQUENCE:
+
+@ifset is-C
 @example
 rtems_status_code rtems_task_create(
@@ -683,4 +695,19 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Task_Create (
+   Name             : in     RTEMS.Name;
+   Initial_Priority : in     RTEMS.Task_Priority;
+   Stack_Size       : in     RTEMS.Unsigned32;
+   Initial_Modes    : in     RTEMS.Mode;
+   Attribute_Set    : in     RTEMS.Attribute;
+   ID               :    out RTEMS.ID;
+   Result           :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -764,4 +791,6 @@
 
 @subheading CALLING SEQUENCE:
+
+@ifset is-C
 @example
 rtems_status_code rtems_task_ident(
@@ -771,4 +800,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Task_Ident (
+   Name   : in     RTEMS.Name;
+   Node   : in     RTEMS.Node;
+   ID     :    out RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -808,4 +849,5 @@
 
 @subheading CALLING SEQUENCE:
+@ifset is-C
 @example
 rtems_status_code rtems_task_start(
@@ -815,4 +857,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Task_Start (
+   ID          : in     RTEMS.ID;
+   Entry_Point : in     System.Address;
+   Argument    : in     RTEMS.Task_Argument_PTR;
+   Result      :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -847,4 +901,5 @@
 
 @subheading CALLING SEQUENCE:
+@ifset is-C
 @example
 rtems_status_code rtems_task_restart(
@@ -853,4 +908,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Task_Restart (
+   ID       : in     RTEMS.ID;
+   Argument : in     RTEMS.Task_Argument_PTR;
+   Result   :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -896,4 +962,5 @@
 
 @subheading CALLING SEQUENCE:
+@ifset is-C
 @example
 rtems_status_code rtems_task_delete(
@@ -901,4 +968,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Task_Delete (
+   ID     : in     RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -944,4 +1021,5 @@
 
 @subheading CALLING SEQUENCE:
+@ifset is-C
 @example
 rtems_status_code rtems_task_suspend(
@@ -949,4 +1027,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Task_Suspend (
+   ID     : in     RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -980,4 +1068,5 @@
 
 @subheading CALLING SEQUENCE:
+@ifset is-C
 @example
 rtems_status_code rtems_task_resume(
@@ -985,4 +1074,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Task_Resume (
+   ID     : in     RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -1014,4 +1113,5 @@
 
 @subheading CALLING SEQUENCE:
+@ifset is-C
 @example
 rtems_status_code rtems_task_set_priority(
@@ -1021,4 +1121,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Task_Set_Priority (
+   ID           : in     RTEMS.ID;
+   New_Priority : in     RTEMS.Task_Priority;
+   Old_Priority :    out RTEMS.Task_Priority;
+   Result       :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -1063,4 +1175,5 @@
 
 @subheading CALLING SEQUENCE:
+@ifset is-C
 @example
 rtems_status_code rtems_task_mode(
@@ -1070,4 +1183,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Task_Delete (
+   Mode_Set          : in     RTEMS.Mode;
+   Mask              : in     RTEMS.Mode;
+   Previous_Mode_Set : in     RTEMS.Mode;
+   Result            :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -1176,4 +1301,5 @@
 
 @subheading CALLING SEQUENCE:
+@ifset is-C
 @example
 rtems_status_code rtems_task_get_note(
@@ -1183,4 +1309,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Task_Get_Note (
+   ID      : in     RTEMS.ID;
+   Notepad : in     RTEMS.Notepad_Index;
+   Note    :    out RTEMS.Unsigned32;
+   Result  :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -1217,4 +1355,5 @@
 
 @subheading CALLING SEQUENCE:
+@ifset is-C
 @example
 rtems_status_code rtems_task_set_note(
@@ -1224,4 +1363,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Task_Set_Note (
+   ID      : in     RTEMS.ID;
+   Notepad : in     RTEMS.Notepad_Index;
+   Note    : in     RTEMS.Unsigned32;
+   Result  :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -1259,4 +1410,5 @@
 
 @subheading CALLING SEQUENCE:
+@ifset is-C
 @example
 rtems_status_code rtems_task_wake_after(
@@ -1264,4 +1416,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Task_Wake_After (
+   Ticks  : in     RTEMS.Interval;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -1293,4 +1455,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_task_wake_when(
@@ -1298,4 +1461,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Task_Wake_When (
+   Time_Buffer : in     RTEMS.Time_Of_Day;
+   Result      :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
Index: doc/user/timer.t
===================================================================
--- doc/user/timer.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/timer.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -75,7 +75,8 @@
 @subsection Timer Service Routines
 
-The timer service routine should adhere to C calling
+The timer service routine should adhere to @value{RTEMS-LANGUAGE} calling
 conventions and have a prototype similar to the following::
 
+@ifset is-C
 @example
 rtems_timer_service_routine user_routine(
@@ -84,6 +85,14 @@
 );
 @end example
-
-
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_Routine(
+  Timer_ID  : in     RTEMS.ID;
+  User_Data : in     System.Address
+);
+@end example
+@end ifset
 
 Where the timer_id parameter is the RTEMS object ID
@@ -217,4 +226,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_timer_create(
@@ -223,4 +233,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Timer_Create (
+   Name   : in     RTEMS.Name;
+   ID     :    out RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -250,4 +271,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_timer_ident(
@@ -256,4 +278,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Timer_Ident (
+   Name   : in     RTEMS.Name;
+   ID     :    out RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -283,4 +316,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_timer_cancel(
@@ -288,4 +322,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Timer_Cancel (
+   ID     : in     RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -311,4 +355,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_timer_delete(
@@ -316,4 +361,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Timer_Delete (
+   ID     : in     RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -343,4 +398,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_timer_fire_after(
@@ -351,4 +407,17 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Timer_Fire_After (
+   ID        : in     RTEMS.ID;
+   Ticks     : in     RTEMS.Interval;
+   Routine   : in     RTEMS.Timer_Service_Routine;
+   User_Data : in     RTEMS.Address;
+   Result    :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -379,4 +448,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_timer_fire_when(
@@ -387,4 +457,17 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Timer_Fire_When (
+   ID        : in     RTEMS.ID;
+   Wall_Time : in     RTEMS.Time_Of_Day;
+   Routine   : in     RTEMS.Timer_Service_Routine;
+   User_Data : in     RTEMS.Address;
+   Result    :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -416,4 +499,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_timer_reset(
@@ -421,4 +505,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Timer_Reset (
+   ID     : in     RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
Index: doc/user/userext.t
===================================================================
--- doc/user/userext.t	(revision 1ca853b28822390b85478b8aff5e2dc6703766da)
+++ doc/user/userext.t	(revision 61389eac9fc90cefeff329fa5e692616f22aa219)
@@ -88,19 +88,38 @@
 following structure:
 
+@ifset is-C
 @example
 @group
 typedef struct @{
-  User_extensions_thread_create_extension thread_create;
-  User_extensions_thread_start_extension thread_start;
-  User_extensions_thread_restart_extension thread_restart;
-  User_extensions_thread_delete_extension thread_delete;
-  User_extensions_thread_switch_extension thread_switch;
+  User_extensions_thread_create_extension      thread_create;
+  User_extensions_thread_start_extension       thread_start;
+  User_extensions_thread_restart_extension     thread_restart;
+  User_extensions_thread_delete_extension      thread_delete;
+  User_extensions_thread_switch_extension      thread_switch;
   User_extensions_thread_post_switch_extension thread_post_switch;
-  User_extensions_thread_begin_extension thread_begin;
-  User_extensions_thread_exitted_extension thread_exitted;
-  User_extensions_fatal_error_extension fatal;
+  User_extensions_thread_begin_extension       thread_begin;
+  User_extensions_thread_exitted_extension     thread_exitted;
+  User_extensions_fatal_error_extension        fatal;
 @} User_extensions_Table;
 @end group
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+type Extensions_Table is
+   record
+      Task_Create      : RTEMS.Task_Create_Extension;
+      Task_Start       : RTEMS.Task_Start_Extension;
+      Task_Restart     : RTEMS.Task_Restart_Extension;
+      Task_Delete      : RTEMS.Task_Delete_Extension;
+      Task_Switch      : RTEMS.Task_Switch_Extension;
+      Task_Post_Switch : RTEMS.Task_Post_Switch_Extension;
+      Task_Begin       : RTEMS.Task_Begin_Extension;
+      Task_Exitted     : RTEMS.Task_Exitted_Extension;
+      Fatal            : RTEMS.Fatal_Error_Extension;
+   end record;
+@end example
+@end ifset
 
 
@@ -180,5 +199,6 @@
 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 C function and
+corresponding extension.  The names given for the @value{RTEMS-LANGUAGE} 
+@value{RTEMS-ROUTINE} and
 its arguments are all defined by the user.  The names used in
 the examples were arbitrarily chosen and impose no naming
@@ -197,4 +217,5 @@
 following:
 
+@ifset is-C
 @example
 rtems_extension user_task_create(
@@ -203,4 +224,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_Task_Create (
+   Current_Task : in     RTEMS.TCB_Pointer;
+   New_Task     : in     RTEMS.TCB_Pointer
+);
+@end example
+@end ifset
 
 where current_task can be used to access the TCB for
@@ -223,4 +254,5 @@
 following:
 
+@ifset is-C
 @example
 rtems_extension user_task_start(
@@ -229,4 +261,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_Task_Start (
+   Current_Task : in     RTEMS.TCB_Pointer;
+   Started_Task : in     RTEMS.TCB_Pointer
+);
+@end example
+@end ifset
 
 where current_task can be used to access the TCB for
@@ -248,4 +290,5 @@
 following:
 
+@ifset is-C
 @example
 rtems_extension user_task_restart(
@@ -254,4 +297,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_Task_Restart (
+   Current_Task   : in     RTEMS.TCB_Pointer;
+   Restarted_Task : in     RTEMS.TCB_Pointer
+);
+@end example
+@end ifset
 
 where current_task can be used to access the TCB for
@@ -274,4 +327,5 @@
 following:
 
+@ifset is-C
 @example
 rtems_extension user_task_delete(
@@ -280,4 +334,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_Task_Delete (
+   Current_Task : in     RTEMS.TCB_Pointer;
+   Deleted_Task : in     RTEMS.TCB_Pointer
+);
+@end example
+@end ifset
 
 where current_task can be used to access the TCB for
@@ -302,4 +366,5 @@
 following:
 
+@ifset is-C
 @example
 rtems_extension user_task_switch(
@@ -308,4 +373,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_Task_Switch (
+   Current_Task : in     RTEMS.TCB_Pointer;
+   Heir_Task    : in     RTEMS.TCB_Pointer
+);
+@end example
+@end ifset
 
 where current_task can be used to access the TCB for
@@ -329,4 +404,5 @@
 to the following:
 
+@ifset is-C
 @example
 rtems_extension user_task_post_switch(
@@ -334,4 +410,13 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_Task_Post_Switch (
+   Current_Task : in     RTEMS.TCB_Pointer
+);
+@end example
+@end ifset
 
 where current_task can be used to access the TCB for
@@ -352,4 +437,5 @@
 This user extension have a prototype similar to the following:
 
+@ifset is-C
 @example
 rtems_extension user_task_begin(
@@ -357,4 +443,13 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_Task_Begin (
+   Current_Task : in     RTEMS.TCB_Pointer
+);
+@end example
+@end ifset
 
 where current_task can be used to access the TCB for
@@ -376,4 +471,5 @@
 prototype similar to the following:
 
+@ifset is-C
 @example
 rtems_extension user_task_exitted(
@@ -381,4 +477,13 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_Task_Exitted (
+   Current_Task : in     RTEMS.TCB_Pointer
+);
+@end example
+@end ifset
 
 where current_task can be used to access the TCB for
@@ -407,6 +512,7 @@
 This extension should have a prototype similar to the following:
 
-@example
-rtems_extension user_fatal_error_extension(
+@ifset is-C
+@example
+rtems_extension user_fatal_error(
   Internal_errors_Source  the_source,
   rtems_boolean           is_internal,
@@ -414,4 +520,13 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure User_Fatal_Error (
+   Error : in     RTEMS.Unsigned32
+);
+@end example
+@end ifset
 
 where the_error is the error code passed to the
@@ -550,4 +665,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_extension_create(
@@ -557,4 +673,16 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Extension_Create (
+   Name   : in     RTEMS.Name;
+   Table  : in     RTEMS.Extensions_Table_Pointer;
+   ID     :    out RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -585,4 +713,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_extension_ident(
@@ -591,4 +720,15 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Extension_Ident (
+   Name   : in     RTEMS.Name;
+   ID     :    out RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
@@ -619,4 +759,5 @@
 @subheading CALLING SEQUENCE:
 
+@ifset is-C
 @example
 rtems_status_code rtems_extension_delete(
@@ -624,4 +765,14 @@
 );
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+procedure Extension_Delete (
+   ID     : in     RTEMS.ID;
+   Result :    out RTEMS.Status_Codes
+);
+@end example
+@end ifset
 
 @subheading DIRECTIVE STATUS CODES:
