summaryrefslogtreecommitdiffstats
path: root/c/src/ada
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1997-06-03 15:11:39 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1997-06-03 15:11:39 +0000
commitd348ad96d59f7a4bb3941745445f119d83eac7e8 (patch)
treec044a54be02b463473028aeebf7eff0bed2b9a9f /c/src/ada
parentchanged reference for Configuration Table from BSP to RTEMS. (diff)
downloadrtems-d348ad96d59f7a4bb3941745445f119d83eac7e8.tar.bz2
added more constants and fixed numer
Diffstat (limited to 'c/src/ada')
-rw-r--r--c/src/ada/rtems.adb56
-rw-r--r--c/src/ada/rtems.ads32
2 files changed, 64 insertions, 24 deletions
diff --git a/c/src/ada/rtems.adb b/c/src/ada/rtems.adb
index e7d8f35c39..18bb63f7d1 100644
--- a/c/src/ada/rtems.adb
+++ b/c/src/ada/rtems.adb
@@ -9,11 +9,18 @@
--
--
--
--- 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;
with Interfaces.C;
@@ -171,6 +178,17 @@ package body RTEMS is
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;
+
--
--
-- RTEMS API
@@ -822,17 +840,19 @@ package body RTEMS is
--
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");
ID_Base : aliased RTEMS.ID := ID;
@@ -842,6 +862,7 @@ package body RTEMS is
Name,
Count,
Attribute_Set,
+ Priority_Ceiling,
ID_Base'Unchecked_Access
);
@@ -934,10 +955,11 @@ package body RTEMS is
) is
-- 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,
Message_Queue_Create_Base, "rtems_message_queue_create");
@@ -947,6 +969,7 @@ package body RTEMS is
Result := Message_Queue_Create_Base (
Name,
Count,
+ Max_Message_Size,
Attribute_Set,
ID_Base'Unchecked_Access
);
@@ -1931,13 +1954,14 @@ package body RTEMS is
Result : out RTEMS.Status_Codes
) 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,
"rtems_rate_monotonic_period");
begin
- Result := Rate_Monotonic_Period_base ( ID );
+ Result := Rate_Monotonic_Period_base ( ID, Length );
end Rate_Monotonic_Period;
diff --git a/c/src/ada/rtems.ads b/c/src/ada/rtems.ads
index 7eaa2ab584..7002dcaf86 100644
--- a/c/src/ada/rtems.ads
+++ b/c/src/ada/rtems.ads
@@ -9,9 +9,15 @@
--
--
--
--- 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 System;
with System.Storage_Elements; use System.Storage_Elements;
@@ -20,7 +26,7 @@ with Interfaces.C;
package RTEMS is
- Structure_Alignment : constant := 16;
+ Structure_Alignment : constant := 8;
--
-- RTEMS Base Types
@@ -73,7 +79,7 @@ package RTEMS is
subtype Mode is RTEMS.Unsigned32;
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;
subtype Signal_Set is RTEMS.Unsigned32;
@@ -262,6 +268,7 @@ package RTEMS is
Period_Status : constant RTEMS.Interval := 0;
Yield_Processor : constant RTEMS.Interval := 0;
Current_Priority : constant RTEMS.Task_Priority := 0;
+ No_Priority : constant RTEMS.Task_Priority := 0;
--
@@ -765,6 +772,11 @@ package RTEMS is
Status : in RTEMS.Status_Codes
) return Standard.Boolean;
+ function Subtract (
+ Left : in RTEMS.Address;
+ Right : in RTEMS.Address
+ ) return RTEMS.Unsigned32;
+
--
-- RTEMS API
--
@@ -998,11 +1010,12 @@ package RTEMS is
--
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
);
procedure Semaphore_Delete (
@@ -1384,6 +1397,9 @@ package RTEMS is
-- Debug Manager
--
+ 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
);