From 19870208342778aecf570dfe008aa2747c46110e Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 16 Feb 2011 15:52:29 +0000 Subject: 2011-02-16 Joel Sherrill * ada/Makefile.am, ada/preinstall.am, ada/rtems.adb, ada/rtems.ads: Split RTEMS Ada95 binding into a master package and a child package per Manager. This is better Ada style. * ada/rtems-barrier.adb, ada/rtems-barrier.ads, ada/rtems-clock.adb, ada/rtems-clock.ads, ada/rtems-cpu_usage.ads, ada/rtems-debug.adb, ada/rtems-debug.ads, ada/rtems-event.adb, ada/rtems-event.ads, ada/rtems-extension.adb, ada/rtems-extension.ads, ada/rtems-fatal.adb, ada/rtems-fatal.ads, ada/rtems-interrupt.ads, ada/rtems-io.adb, ada/rtems-io.ads, ada/rtems-message_queue.adb, ada/rtems-message_queue.ads, ada/rtems-object.adb, ada/rtems-object.ads, ada/rtems-partition.adb, ada/rtems-partition.ads, ada/rtems-port.adb, ada/rtems-port.ads, ada/rtems-rate_monotonic.adb, ada/rtems-rate_monotonic.ads, ada/rtems-region.adb, ada/rtems-region.ads, ada/rtems-semaphore.adb, ada/rtems-semaphore.ads, ada/rtems-signal.adb, ada/rtems-signal.ads, ada/rtems-stack_checker.ads, ada/rtems-tasks.adb, ada/rtems-tasks.ads, ada/rtems-timer.adb, ada/rtems-timer.ads: New files. --- c/src/ada/rtems-rate_monotonic.adb | 165 +++++++++++++++++++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 c/src/ada/rtems-rate_monotonic.adb (limited to 'c/src/ada/rtems-rate_monotonic.adb') diff --git a/c/src/ada/rtems-rate_monotonic.adb b/c/src/ada/rtems-rate_monotonic.adb new file mode 100644 index 0000000000..46c4b43007 --- /dev/null +++ b/c/src/ada/rtems-rate_monotonic.adb @@ -0,0 +1,165 @@ +-- +-- RTEMS / Body +-- +-- DESCRIPTION: +-- +-- This package provides the interface to the RTEMS API. +-- +-- +-- DEPENDENCIES: +-- +-- +-- +-- COPYRIGHT (c) 1997-2011. +-- 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.rtems.com/license/LICENSE. +-- +-- $Id$ +-- + +package body RTEMS.Rate_Monotonic is + + -- + -- Rate Monotonic Manager + -- + + procedure Create + (Name : in RTEMS.Name; + ID : out RTEMS.ID; + Result : out RTEMS.Status_Codes) + is + function Create_Base + (Name : RTEMS.Name; + ID : access RTEMS.ID) + return RTEMS.Status_Codes; + pragma Import + (C, + Create_Base, + "rtems_rate_monotonic_create"); + ID_Base : aliased RTEMS.ID; + begin + + Result := Create_Base (Name, ID_Base'Access); + ID := ID_Base; + + end Create; + + procedure Ident + (Name : in RTEMS.Name; + ID : out RTEMS.ID; + Result : out RTEMS.Status_Codes) + is + function Ident_Base + (Name : RTEMS.Name; + ID : access RTEMS.ID) + return RTEMS.Status_Codes; + pragma Import + (C, + Ident_Base, + "rtems_rate_monotonic_ident"); + ID_Base : aliased RTEMS.ID; + begin + + Result := Ident_Base (Name, ID_Base'Access); + + ID := ID_Base; + + end Ident; + + procedure Delete + (ID : in RTEMS.ID; + Result : out RTEMS.Status_Codes) + is + function Delete_Base + (ID : RTEMS.ID) + return RTEMS.Status_Codes; + pragma Import + (C, + Delete_Base, + "rtems_rate_monotonic_delete"); + begin + + Result := Delete_Base (ID); + + end Delete; + + procedure Cancel + (ID : in RTEMS.ID; + Result : out RTEMS.Status_Codes) + is + function Cancel_Base + (ID : RTEMS.ID) + return RTEMS.Status_Codes; + pragma Import + (C, + Cancel_Base, + "rtems_rate_monotonic_cancel"); + begin + + Result := Cancel_Base (ID); + + end Cancel; + + procedure Period + (ID : in RTEMS.ID; + Length : in RTEMS.Interval; + Result : out RTEMS.Status_Codes) + is + function Period_Base + (ID : RTEMS.ID; + Length : RTEMS.Interval) + return RTEMS.Status_Codes; + pragma Import + (C, + Period_Base, + "rtems_rate_monotonic_period"); + begin + + Result := Period_Base (ID, Length); + + end Period; + + procedure Get_Status + (ID : in RTEMS.ID; + Status : out RTEMS.Rate_Monotonic.Period_Status; + Result : out RTEMS.Status_Codes) + is + function Get_Status_Base + (ID : RTEMS.ID; + Status : access RTEMS.Rate_Monotonic.Period_Status) + return RTEMS.Status_Codes; + pragma Import + (C, + Get_Status_Base, + "rtems_rate_monotonic_get_status"); + + Status_Base : aliased RTEMS.Rate_Monotonic.Period_Status; + begin + + Result := Get_Status_Base (ID, Status_Base'Access); + + Status := Status_Base; + + end Get_Status; + + procedure Reset_Statistics + (ID : in RTEMS.ID; + Result : out RTEMS.Status_Codes) + is + function Reset_Statistics_Base + (ID : RTEMS.ID) + return RTEMS.Status_Codes; + pragma Import + (C, + Reset_Statistics_Base, + "rtems_rate_monotonic_reset_statistics"); + begin + + Result := Reset_Statistics_Base (ID); + + end Reset_Statistics; + +end RTEMS.Rate_Monotonic; -- cgit v1.2.3