Index: c/src/ada/rtems.adb
===================================================================
--- c/src/ada/rtems.adb	(revision e56a2ef367c735f429d7ab902e6a6177af5dd24a)
+++ c/src/ada/rtems.adb	(revision 7e3dcbc175607f9de3ab3dbde734571a0001d48f)
@@ -22,15 +22,4 @@
 
    --
-   --  Mode Building Functions
-   --
-
-   function Interrupt_Level (
-      Level : in     RTEMS.Unsigned32
-   ) return RTEMS.Attribute is
-   begin
-      return 0;
-   end Interrupt_Level;
-
-   --
    --  Utility Functions
    --
Index: c/src/ada/rtems.ads
===================================================================
--- c/src/ada/rtems.ads	(revision e56a2ef367c735f429d7ab902e6a6177af5dd24a)
+++ c/src/ada/rtems.ads	(revision 7e3dcbc175607f9de3ab3dbde734571a0001d48f)
@@ -190,5 +190,5 @@
    Timeslice_Mask     : constant RTEMS.Mode := 16#0000_0200#;
    ASR_Mask           : constant RTEMS.Mode := 16#0000_0400#;
-   -- Interrupt_Mask  : constant RTEMS.Mode := CPU_Modes_Interrupt_Mask;
+   Interrupt_Mask     : RTEMS.Mode;
    Preempt            : constant RTEMS.Mode := 16#0000_0000#;
    No_Preempt         : constant RTEMS.Mode := 16#0000_0100#;
@@ -198,4 +198,6 @@
    No_ASR             : constant RTEMS.Mode := 16#0000_0400#;
 
+   pragma Import (C, Interrupt_Mask, "rtems_interrupt_mask");
+
    --
    --  Attribute constants
@@ -210,4 +212,6 @@
       Level : in     RTEMS.Unsigned32
    ) return RTEMS.Attribute;
+   pragma Import (C, Interrupt_Level, "rtems_interrupt_level_attribute");
+   
 
    Minimum_Stack_Size : RTEMS.Unsigned32;
@@ -292,5 +296,5 @@
    );
 
-   type Extensions_Table_Entry is
+   type Extensions_Table is
       record
          Thread_Create      : RTEMS.Thread_Create_Extension;
@@ -304,7 +308,4 @@
          Fatal              : RTEMS.Fatal_Error_Extension;
       end record;
-
-   type Extensions_Table is array ( RTEMS.Unsigned32
-     range 1 .. RTEMS.Unsigned32'Last ) of RTEMS.Extensions_Table_Entry;
 
    type Extensions_Table_Pointer is access all Extensions_Table;
Index: cpukit/ada/rtems.adb
===================================================================
--- cpukit/ada/rtems.adb	(revision e56a2ef367c735f429d7ab902e6a6177af5dd24a)
+++ cpukit/ada/rtems.adb	(revision 7e3dcbc175607f9de3ab3dbde734571a0001d48f)
@@ -22,15 +22,4 @@
 
    --
-   --  Mode Building Functions
-   --
-
-   function Interrupt_Level (
-      Level : in     RTEMS.Unsigned32
-   ) return RTEMS.Attribute is
-   begin
-      return 0;
-   end Interrupt_Level;
-
-   --
    --  Utility Functions
    --
Index: cpukit/ada/rtems.ads
===================================================================
--- cpukit/ada/rtems.ads	(revision e56a2ef367c735f429d7ab902e6a6177af5dd24a)
+++ cpukit/ada/rtems.ads	(revision 7e3dcbc175607f9de3ab3dbde734571a0001d48f)
@@ -190,5 +190,5 @@
    Timeslice_Mask     : constant RTEMS.Mode := 16#0000_0200#;
    ASR_Mask           : constant RTEMS.Mode := 16#0000_0400#;
-   -- Interrupt_Mask  : constant RTEMS.Mode := CPU_Modes_Interrupt_Mask;
+   Interrupt_Mask     : RTEMS.Mode;
    Preempt            : constant RTEMS.Mode := 16#0000_0000#;
    No_Preempt         : constant RTEMS.Mode := 16#0000_0100#;
@@ -198,4 +198,6 @@
    No_ASR             : constant RTEMS.Mode := 16#0000_0400#;
 
+   pragma Import (C, Interrupt_Mask, "rtems_interrupt_mask");
+
    --
    --  Attribute constants
@@ -210,4 +212,6 @@
       Level : in     RTEMS.Unsigned32
    ) return RTEMS.Attribute;
+   pragma Import (C, Interrupt_Level, "rtems_interrupt_level_attribute");
+   
 
    Minimum_Stack_Size : RTEMS.Unsigned32;
@@ -292,5 +296,5 @@
    );
 
-   type Extensions_Table_Entry is
+   type Extensions_Table is
       record
          Thread_Create      : RTEMS.Thread_Create_Extension;
@@ -304,7 +308,4 @@
          Fatal              : RTEMS.Fatal_Error_Extension;
       end record;
-
-   type Extensions_Table is array ( RTEMS.Unsigned32
-     range 1 .. RTEMS.Unsigned32'Last ) of RTEMS.Extensions_Table_Entry;
 
    type Extensions_Table_Pointer is access all Extensions_Table;
