Index: doc/user/conf.t
===================================================================
--- doc/user/conf.t	(revision b64905a74e110cdeb1cf71638d17af6e913a2895)
+++ doc/user/conf.t	(revision 92c2ae1f30045e7bc538ab68d299430f19e25a21)
@@ -38,4 +38,5 @@
 is defined in the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
 
+@ifset is-C
 @example
 @group
@@ -56,4 +57,28 @@
 @end group
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+type Configuration_Table is
+   record
+       Work_Space_Start           : RTEMS.Address;
+       Work_Space_Size            : RTEMS.Unsigned32;
+       Maximum_Extensions         : RTEMS.Unsigned32;
+       Microseconds_Per_Tick      : RTEMS.Unsigned32;
+       Ticks_Per_Timeslice        : RTEMS.Unsigned32;
+       Maximum_Devices            : RTEMS.Unsigned32;
+       Number_Of_Device_Drivers   : RTEMS.Unsigned32;
+       Device_Driver_Table        : RTEMS.Driver_Address_Table_Pointer;
+       User_Extension_Table       : RTEMS.Extensions_Table_Pointer;
+       User_Multiprocessing_Table : RTEMS.Multiprocessing_Table_Pointer;
+       RTEMS_API_Configuration    : RTEMS.API_Configuration_Table_Pointer;
+       POSIX_API_Configuration    :
+                       RTEMS.POSIX_API_Configuration_Table_Pointer;
+   end record;
+
+type Configuration_Table_Pointer is access all Configuration_Table;
+@end example
+@end ifset
 
 @table @b
@@ -129,4 +154,5 @@
 the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
 
+@ifset is-C
 @example
 @group
@@ -145,4 +171,26 @@
 @end group
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+type API_Configuration_Table is
+   record
+      Maximum_Tasks                   : RTEMS.Unsigned32;
+      Maximum_Timers                  : RTEMS.Unsigned32;
+      Maximum_Semaphores              : RTEMS.Unsigned32;
+      Maximum_Message_queues          : RTEMS.Unsigned32;
+      Maximum_Partitions              : RTEMS.Unsigned32;
+      Maximum_Regions                 : RTEMS.Unsigned32;
+      Maximum_Ports                   : RTEMS.Unsigned32;
+      Maximum_Periods                 : RTEMS.Unsigned32;
+      Number_Of_Initialization_Tasks  : RTEMS.Unsigned32;
+      User_Initialization_Tasks_Table :
+                                RTEMS.Initialization_Tasks_Table_Pointer;
+   end record;
+
+type API_Configuration_Table_Pointer is access all API_Configuration_Table;
+@end example
+@end ifset
 
 @table @b
@@ -199,8 +247,9 @@
 the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
  
+@ifset is-C
 @example
 @group
 typedef struct @{
-  void       *(*entry)(void *);
+  void       *(*thread_entry)(void *);
 @} posix_initialization_threads_table;
  
@@ -216,4 +265,43 @@
 @end group
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+   type POSIX_Thread_Entry is access procedure (
+      Argument : in     RTEMS.Address
+   );
+
+   type POSIX_Initialization_Threads_Table_Entry is
+   record
+      Thread_Entry : RTEMS.POSIX_Thread_Entry;
+   end record;
+
+   type POSIX_Initialization_Threads_Table is array
+       ( RTEMS.Unsigned32 range <> ) of 
+       RTEMS.POSIX_Initialization_Threads_Table_Entry;
+
+   type POSIX_Initialization_Threads_Table_Pointer is access all
+       POSIX_Initialization_Threads_Table; 
+
+   type POSIX_API_Configuration_Table_Entry is
+      record
+         Maximum_Threads                 : Interfaces.C.Int;
+         Maximum_Mutexes                 : Interfaces.C.Int;
+         Maximum_Condition_Variables     : Interfaces.C.Int;
+         Maximum_Keys                    : Interfaces.C.Int;
+         Maximum_Queued_Signals          : Interfaces.C.Int;
+         Number_Of_Initialization_Tasks  : Interfaces.C.Int;
+         User_Initialization_Tasks_Table : 
+            RTEMS.POSIX_Initialization_Threads_Table_Pointer;
+      end record;
+
+   type POSIX_API_Configuration_Table is array ( RTEMS.Unsigned32 range <> ) of
+      RTEMS.POSIX_API_Configuration_Table_Entry;
+
+   type POSIX_API_Configuration_Table_Pointer is access all
+          RTEMS.POSIX_API_Configuration_Table;
+@end example
+@end ifset
  
 @table @b
@@ -279,4 +367,5 @@
 structure:
 
+@ifset is-C
 @example
 typedef struct @{
@@ -290,4 +379,26 @@
 @} rtems_initialization_tasks_table;
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+type Initialization_Tasks_Table_Entry is
+   record
+      Name             : RTEMS.Name;          -- task name
+      Stack_Size       : RTEMS.Unsigned32;    -- task stack size
+      Initial_Priority : RTEMS.Task_priority; -- task priority
+      Attribute_Set    : RTEMS.Attribute;     -- task attributes
+      Entry_Point      : RTEMS.Task_Entry;    -- task entry point
+      Mode_Set         : RTEMS.Mode;          -- task initial mode
+      Argument         : RTEMS.Unsigned32;    -- task argument
+   end record;
+
+type Initialization_Tasks_Table is array ( RTEMS.Unsigned32 range <> ) of
+  RTEMS.Initialization_Tasks_Table_Entry;
+
+type Initialization_Tasks_Table_Pointer is access all
+     Initialization_Tasks_Table;
+@end example
+@end ifset
 
 @table @b
@@ -317,4 +428,5 @@
 A typical declaration for an Initialization Task Table might appear as follows:
 
+@ifset is-C
 @example
 rtems_initialization_tasks_table
@@ -334,5 +446,5 @@
      FLOATING_POINT,
      Init_2,
-     INTERRUPT_LEVEL(0)|NO_PREEMPT,
+     NO_PREEMPT,
      2
 
@@ -340,4 +452,26 @@
 @};
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+Initialization_Tasks : aliased RTEMS.Initialization_Tasks_Table( 1 .. 2 ) := (
+   (INIT_1_NAME,
+    1024,
+    1,
+    RTEMS.Default_Attributes,
+    Init_1'Access,
+    RTEMS.Default_Modes,
+    1),
+   (INIT_2_NAME,
+    1024,
+    250,
+    RTEMS.Floating_Point,
+    Init_2'Access,
+    RTEMS.No_Preempt,
+    2)
+);
+@end example
+@end ifset
 
 @ifinfo
@@ -355,4 +489,5 @@
 the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
 
+@ifset is-C
 @example
 typedef struct @{
@@ -365,4 +500,24 @@
 @} rtems_driver_address_table;
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+type Driver_Address_Table_Entry is
+   record
+      Initialization : RTEMS.Device_Driver_Entry;
+      Open           : RTEMS.Device_Driver_Entry;
+      Close          : RTEMS.Device_Driver_Entry;
+      Read           : RTEMS.Device_Driver_Entry;
+      Write          : RTEMS.Device_Driver_Entry;
+      Control        : RTEMS.Device_Driver_Entry;
+   end record;
+
+type Driver_Address_Table is array ( RTEMS.Unsigned32 range <> ) of
+  RTEMS.Driver_Address_Table_Entry;
+
+type Driver_Address_Table_Pointer is access all Driver_Address_Table;
+@end example
+@end ifset
 
 @table @b
@@ -394,4 +549,5 @@
 A typical declaration for a Device Driver Table might appear as follows:
 
+@ifset is-C
 @example
 rtems_driver_address_table Driver_table[2] = @{
@@ -404,4 +560,10 @@
 @};
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+@end example
+@end ifset
 
 More information regarding the construction and
@@ -423,17 +585,48 @@
 structure:
 
+typedef User_extensions_routine                   rtems_extension;
+typedef User_extensions_thread_create_extension   rtems_task_create_extension;
+typedef User_extensions_thread_delete_extension   rtems_task_delete_extension;
+typedef User_extensions_thread_start_extension    rtems_task_start_extension;
+typedef User_extensions_thread_restart_extension  rtems_task_restart_extension;
+typedef User_extensions_thread_switch_extension   rtems_task_switch_extension;
+typedef User_extensions_thread_begin_extension    rtems_task_begin_extension;
+typedef User_extensions_thread_exitted_extension  rtems_task_exitted_extension;
+typedef User_extensions_fatal_extension           rtems_fatal_extension;
+
+typedef User_extensions_Table                     rtems_extensions_table;
+
+@ifset is-C
 @example
 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_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;
+  rtems_task_create_extension      thread_create;
+  rtems_task_start_extension       thread_start;
+  rtems_task_restart_extension     thread_restart;
+  rtems_task_delete_extension      thread_delete;
+  rtems_task_switch_extension      thread_switch;
+  rtems_task_post_switch_extension thread_post_switch;
+  rtems_task_begin_extension       thread_begin;
+  rtems_task_exitted_extension     thread_exitted;
+  rtems_fatal_extension            fatal;
 @} User_extensions_Table;
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+type Extensions_Table_Entry is
+   record
+      Thread_Create      : RTEMS.Thread_Create_Extension;
+      Thread_Start       : RTEMS.Thread_Start_Extension;
+      Thread_Restart     : RTEMS.Thread_Restart_Extension;
+      Thread_Delete      : RTEMS.Thread_Delete_Extension;
+      Thread_Switch      : RTEMS.Thread_Switch_Extension;
+      Thread_Post_Switch : RTEMS.Thread_Post_Switch_Extension;
+      Thread_Begin       : RTEMS.Thread_Begin_Extension;
+      Thread_Exitted     : RTEMS.Thread_Exitted_Extension;
+      Fatal            : RTEMS.Fatal_Error_Extension;
+   end record;
+@end example
+@end ifset
 
 @table @b
@@ -512,4 +705,5 @@
 FATAL extension might appear as follows:
 
+@ifset is-C
 @example
 rtems_extensions_table User_extensions = @{
@@ -524,4 +718,21 @@
 @};
 @end example
+@end ifset
+
+@ifset is-Ada
+User_Extensions : RTEMS.Extensions_Table := (
+   Task_Create_Extension'Access,
+   null,
+   null,
+   Task_Delete_Extension'Access,
+   Task_Switch_Extension'Access,
+   null,
+   null,
+   Fatal_Extension'Access
+);
+@example
+
+@end example
+@end ifset
 
 More information regarding the user extensions is
@@ -546,4 +757,5 @@
 the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
 
+@ifset is-C
 @example
 typedef struct @{
@@ -555,4 +767,20 @@
 @} rtems_multiprocessing_table;
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+type Multiprocessing_Table is
+   record
+      Node                   : RTEMS.Unsigned32;
+      Maximum_Nodes          : RTEMS.Unsigned32;
+      Maximum_Global_Objects : RTEMS.Unsigned32;
+      Maximum_Proxies        : RTEMS.Unsigned32;
+      User_MPCI_Table        : RTEMS.MPCI_Table_Pointer;
+   end record;
+
+type Multiprocessing_Table_Pointer is access all Multiprocessing_Table;
+@end example
+@end ifset
 
 @table @b
@@ -604,7 +832,8 @@
 the following @value{RTEMS-LANGUAGE} @value{RTEMS-STRUCTURE}:
 
+@ifset is-C
 @example
 typedef struct @{
-  rtems_unsigned32                default_timeout; /* in ticks */
+  rtems_unsigned32                 default_timeout; /* in ticks */
   rtems_unsigned32                 maximum_packet_size;
   rtems_mpci_initialization_entry initialization;
@@ -615,4 +844,22 @@
 @} rtems_mpci_table;
 @end example
+@end ifset
+
+@ifset is-Ada
+@example
+type MPCI_Table is
+   record
+      Default_Timeout     : RTEMS.Unsigned32; -- in ticks
+      Maximum_Packet_Size : RTEMS.Unsigned32;
+      Initialization      : RTEMS.MPCI_Initialization_Entry;
+      Get_Packet          : RTEMS.MPCI_Get_Packet_Entry;
+      Return_Packet       : RTEMS.MPCI_Return_Packet_Entry;
+      Send                : RTEMS.MPCI_Send_Entry;
+      Receive             : RTEMS.MPCI_Receive_Entry;
+   end record;
+
+type MPCI_Table_Pointer is access all MPCI_Table;
+@end example
+@end ifset
 
 @table @b
Index: doc/user/init.t
===================================================================
--- doc/user/init.t	(revision b64905a74e110cdeb1cf71638d17af6e913a2895)
+++ doc/user/init.t	(revision 92c2ae1f30045e7bc538ab68d299430f19e25a21)
@@ -259,7 +259,7 @@
 @ifset is-Ada
 @example
-procedure Initialize_Executive(
+procedure Initialize_Executive (
   Configuration_Table : in     RTEMS.Configuration_Table_Pointer;
-  CPU_Table           : in     RTEMS.CPU_Table
+  CPU_Table           : in     RTEMS.CPU_Table_Pointer
 );
 @end example
@@ -319,5 +319,5 @@
 @ifset is-Ada
 @example
-procedure rtems.initialize_executive_early(
+procedure Initialize_Executive_Early(
   Configuration_Table : in     RTEMS.Configuration_Table_Pointer;
   CPU_Table           : in     RTEMS.Cpu_Table;
