Index: c/src/ada/rtems.adb
===================================================================
--- c/src/ada/rtems.adb	(revision 7d366f1c98e8f3b56fde990e63653ac15b7584a1)
+++ c/src/ada/rtems.adb	(revision d348ad96d59f7a4bb3941745445f119d83eac7e8)
@@ -10,9 +10,16 @@
 --
 --
---  COPYRIGHT (c) 1989 - 1997.
+--  COPYRIGHT (c) 1997.
 --  On-Line Applications Research Corporation (OAR).
 --
+--  The license and distribution terms for this file may in
+--  the file LICENSE in this distribution or at
+--  http://www.OARcorp.com/rtems/license.html.
+--
+--  $Id$
+--
 
 with Ada;
+with Ada.Unchecked_Conversion;
 with System;
 with Interfaces; use Interfaces;
@@ -172,4 +179,15 @@
    end Is_Status_Successful;
 
+   function Subtract (
+      Left   : in     RTEMS.Address;
+      Right  : in     RTEMS.Address
+   ) return RTEMS.Unsigned32 is
+      function To_Unsigned32 is
+         new Ada.Unchecked_Conversion (System.Address, RTEMS.Unsigned32);
+
+   begin
+      return To_Unsigned32(Left) - To_Unsigned32(Right);
+   end Subtract;
+
    --
    --
@@ -823,15 +841,17 @@
  
    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
+      Name             : in     RTEMS.Name;
+      Count            : in     RTEMS.Unsigned32;
+      Attribute_Set    : in     RTEMS.Attribute;
+      Priority_Ceiling : in     RTEMS.Task_Priority;
+      ID               :    out RTEMS.ID;
+      Result           :    out RTEMS.Status_Codes
    ) is
       function Semaphore_Create_Base (
-         Name          : RTEMS.Name;
-         Count         : RTEMS.Unsigned32;
-         Attribute_Set : RTEMS.Attribute;
-         ID            : access RTEMS.ID
+         Name             : RTEMS.Name;
+         Count            : RTEMS.Unsigned32;
+         Attribute_Set    : RTEMS.Attribute;
+         Priority_Ceiling : RTEMS.Task_Priority;
+         ID               : access RTEMS.ID
       )  return RTEMS.Status_Codes;
       pragma Import (C, Semaphore_Create_Base, "rtems_semaphore_create");
@@ -843,4 +863,5 @@
          Count,
          Attribute_Set,
+         Priority_Ceiling,
          ID_Base'Unchecked_Access
       );
@@ -935,8 +956,9 @@
       --  XXX broken
       function Message_Queue_Create_Base (
-         Name          : RTEMS.Name;
-         Count         : RTEMS.Unsigned32;
-         Attribute_Set : RTEMS.Attribute;
-         ID            : access RTEMS.ID
+         Name             : RTEMS.Name;
+         Count            : RTEMS.Unsigned32;
+         Max_Message_Size : RTEMS.Unsigned32;
+         Attribute_Set    : RTEMS.Attribute;
+         ID               : access RTEMS.ID
       )  return RTEMS.Status_Codes;
       pragma Import (C,
@@ -948,4 +970,5 @@
          Name,
          Count,
+         Max_Message_Size,
          Attribute_Set,
          ID_Base'Unchecked_Access
@@ -1932,5 +1955,6 @@
    ) is
       function Rate_Monotonic_Period_Base (
-         ID : RTEMS.ID
+         ID     : RTEMS.ID;
+         Length : RTEMS.Interval
       )  return RTEMS.Status_Codes;
       pragma Import (C, Rate_Monotonic_Period_Base,
@@ -1938,5 +1962,5 @@
    begin
  
-      Result := Rate_Monotonic_Period_base ( ID );
+      Result := Rate_Monotonic_Period_base ( ID, Length );
 
    end Rate_Monotonic_Period;
Index: c/src/ada/rtems.ads
===================================================================
--- c/src/ada/rtems.ads	(revision 7d366f1c98e8f3b56fde990e63653ac15b7584a1)
+++ c/src/ada/rtems.ads	(revision d348ad96d59f7a4bb3941745445f119d83eac7e8)
@@ -10,6 +10,12 @@
 --
 --
---  COPYRIGHT (c) 1989 - 1997.
+--  COPYRIGHT (c) 1997.
 --  On-Line Applications Research Corporation (OAR).
+--
+--  The license and distribution terms for this file may in
+--  the file LICENSE in this distribution or at
+--  http://www.OARcorp.com/rtems/license.html.
+--
+--  $Id$
 --
 
@@ -21,5 +27,5 @@
 package RTEMS is
 
-   Structure_Alignment : constant := 16;
+   Structure_Alignment : constant := 8;
 
    --
@@ -74,5 +80,5 @@
    subtype Option              is RTEMS.Unsigned32;
    subtype Task_Priority       is RTEMS.Unsigned32;
-   subtype Notepad_Index       is RTEMS.Unsigned32;
+   subtype Notepad_Index       is RTEMS.Unsigned32 range 0 .. 15;
 
    subtype Event_Set           is RTEMS.Unsigned32;
@@ -263,4 +269,5 @@
    Yield_Processor  : constant RTEMS.Interval := 0;
    Current_Priority : constant RTEMS.Task_Priority := 0;
+   No_Priority      : constant RTEMS.Task_Priority := 0;
 
 
@@ -766,4 +773,9 @@
    ) return Standard.Boolean;
 
+   function Subtract (
+      Left   : in     RTEMS.Address;
+      Right  : in     RTEMS.Address
+   ) return RTEMS.Unsigned32;
+
    --
    --  RTEMS API
@@ -999,9 +1011,10 @@
 
    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
+      Name             : in     RTEMS.Name;
+      Count            : in     RTEMS.Unsigned32;
+      Attribute_Set    : in     RTEMS.Attribute;
+      Priority_Ceiling : in     RTEMS.Task_Priority;
+      ID               :    out RTEMS.ID;
+      Result           :    out RTEMS.Status_Codes
    );
 
@@ -1385,4 +1398,7 @@
    --
 
+   Debug_All_Mask : constant RTEMS.Debug_Set := 16#ffffffff#;
+   Debug_Region   : constant RTEMS.Debug_Set := 16#00000001#;
+
    procedure Debug_Enable (
       To_Be_Enabled : in     RTEMS.Debug_Set
Index: cpukit/ada/rtems.adb
===================================================================
--- cpukit/ada/rtems.adb	(revision 7d366f1c98e8f3b56fde990e63653ac15b7584a1)
+++ cpukit/ada/rtems.adb	(revision d348ad96d59f7a4bb3941745445f119d83eac7e8)
@@ -10,9 +10,16 @@
 --
 --
---  COPYRIGHT (c) 1989 - 1997.
+--  COPYRIGHT (c) 1997.
 --  On-Line Applications Research Corporation (OAR).
 --
+--  The license and distribution terms for this file may in
+--  the file LICENSE in this distribution or at
+--  http://www.OARcorp.com/rtems/license.html.
+--
+--  $Id$
+--
 
 with Ada;
+with Ada.Unchecked_Conversion;
 with System;
 with Interfaces; use Interfaces;
@@ -172,4 +179,15 @@
    end Is_Status_Successful;
 
+   function Subtract (
+      Left   : in     RTEMS.Address;
+      Right  : in     RTEMS.Address
+   ) return RTEMS.Unsigned32 is
+      function To_Unsigned32 is
+         new Ada.Unchecked_Conversion (System.Address, RTEMS.Unsigned32);
+
+   begin
+      return To_Unsigned32(Left) - To_Unsigned32(Right);
+   end Subtract;
+
    --
    --
@@ -823,15 +841,17 @@
  
    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
+      Name             : in     RTEMS.Name;
+      Count            : in     RTEMS.Unsigned32;
+      Attribute_Set    : in     RTEMS.Attribute;
+      Priority_Ceiling : in     RTEMS.Task_Priority;
+      ID               :    out RTEMS.ID;
+      Result           :    out RTEMS.Status_Codes
    ) is
       function Semaphore_Create_Base (
-         Name          : RTEMS.Name;
-         Count         : RTEMS.Unsigned32;
-         Attribute_Set : RTEMS.Attribute;
-         ID            : access RTEMS.ID
+         Name             : RTEMS.Name;
+         Count            : RTEMS.Unsigned32;
+         Attribute_Set    : RTEMS.Attribute;
+         Priority_Ceiling : RTEMS.Task_Priority;
+         ID               : access RTEMS.ID
       )  return RTEMS.Status_Codes;
       pragma Import (C, Semaphore_Create_Base, "rtems_semaphore_create");
@@ -843,4 +863,5 @@
          Count,
          Attribute_Set,
+         Priority_Ceiling,
          ID_Base'Unchecked_Access
       );
@@ -935,8 +956,9 @@
       --  XXX broken
       function Message_Queue_Create_Base (
-         Name          : RTEMS.Name;
-         Count         : RTEMS.Unsigned32;
-         Attribute_Set : RTEMS.Attribute;
-         ID            : access RTEMS.ID
+         Name             : RTEMS.Name;
+         Count            : RTEMS.Unsigned32;
+         Max_Message_Size : RTEMS.Unsigned32;
+         Attribute_Set    : RTEMS.Attribute;
+         ID               : access RTEMS.ID
       )  return RTEMS.Status_Codes;
       pragma Import (C,
@@ -948,4 +970,5 @@
          Name,
          Count,
+         Max_Message_Size,
          Attribute_Set,
          ID_Base'Unchecked_Access
@@ -1932,5 +1955,6 @@
    ) is
       function Rate_Monotonic_Period_Base (
-         ID : RTEMS.ID
+         ID     : RTEMS.ID;
+         Length : RTEMS.Interval
       )  return RTEMS.Status_Codes;
       pragma Import (C, Rate_Monotonic_Period_Base,
@@ -1938,5 +1962,5 @@
    begin
  
-      Result := Rate_Monotonic_Period_base ( ID );
+      Result := Rate_Monotonic_Period_base ( ID, Length );
 
    end Rate_Monotonic_Period;
Index: cpukit/ada/rtems.ads
===================================================================
--- cpukit/ada/rtems.ads	(revision 7d366f1c98e8f3b56fde990e63653ac15b7584a1)
+++ cpukit/ada/rtems.ads	(revision d348ad96d59f7a4bb3941745445f119d83eac7e8)
@@ -10,6 +10,12 @@
 --
 --
---  COPYRIGHT (c) 1989 - 1997.
+--  COPYRIGHT (c) 1997.
 --  On-Line Applications Research Corporation (OAR).
+--
+--  The license and distribution terms for this file may in
+--  the file LICENSE in this distribution or at
+--  http://www.OARcorp.com/rtems/license.html.
+--
+--  $Id$
 --
 
@@ -21,5 +27,5 @@
 package RTEMS is
 
-   Structure_Alignment : constant := 16;
+   Structure_Alignment : constant := 8;
 
    --
@@ -74,5 +80,5 @@
    subtype Option              is RTEMS.Unsigned32;
    subtype Task_Priority       is RTEMS.Unsigned32;
-   subtype Notepad_Index       is RTEMS.Unsigned32;
+   subtype Notepad_Index       is RTEMS.Unsigned32 range 0 .. 15;
 
    subtype Event_Set           is RTEMS.Unsigned32;
@@ -263,4 +269,5 @@
    Yield_Processor  : constant RTEMS.Interval := 0;
    Current_Priority : constant RTEMS.Task_Priority := 0;
+   No_Priority      : constant RTEMS.Task_Priority := 0;
 
 
@@ -766,4 +773,9 @@
    ) return Standard.Boolean;
 
+   function Subtract (
+      Left   : in     RTEMS.Address;
+      Right  : in     RTEMS.Address
+   ) return RTEMS.Unsigned32;
+
    --
    --  RTEMS API
@@ -999,9 +1011,10 @@
 
    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
+      Name             : in     RTEMS.Name;
+      Count            : in     RTEMS.Unsigned32;
+      Attribute_Set    : in     RTEMS.Attribute;
+      Priority_Ceiling : in     RTEMS.Task_Priority;
+      ID               :    out RTEMS.ID;
+      Result           :    out RTEMS.Status_Codes
    );
 
@@ -1385,4 +1398,7 @@
    --
 
+   Debug_All_Mask : constant RTEMS.Debug_Set := 16#ffffffff#;
+   Debug_Region   : constant RTEMS.Debug_Set := 16#00000001#;
+
    procedure Debug_Enable (
       To_Be_Enabled : in     RTEMS.Debug_Set
