source: rtems/c/src/ada/rtems-rate_monotonic.adb @ 1987020

4.115
Last change on this file since 1987020 was 1987020, checked in by Joel Sherrill <joel.sherrill@…>, on 02/16/11 at 15:52:29

2011-02-16 Joel Sherrill <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.
  • Property mode set to 100644
File size: 3.5 KB
RevLine 
[1987020]1--
2--  RTEMS / Body
3--
4--  DESCRIPTION:
5--
6--  This package provides the interface to the RTEMS API.
7--
8--
9--  DEPENDENCIES:
10--
11--
12--
13--  COPYRIGHT (c) 1997-2011.
14--  On-Line Applications Research Corporation (OAR).
15--
16--  The license and distribution terms for this file may in
17--  the file LICENSE in this distribution or at
18--  http://www.rtems.com/license/LICENSE.
19--
20--  $Id$
21--
22
23package body RTEMS.Rate_Monotonic is
24
25   --
26   -- Rate Monotonic Manager
27   --
28
29   procedure Create
30     (Name   : in RTEMS.Name;
31      ID     : out RTEMS.ID;
32      Result : out RTEMS.Status_Codes)
33   is
34      function Create_Base
35        (Name : RTEMS.Name;
36         ID   : access RTEMS.ID)
37         return RTEMS.Status_Codes;
38      pragma Import
39        (C,
40         Create_Base,
41         "rtems_rate_monotonic_create");
42      ID_Base : aliased RTEMS.ID;
43   begin
44
45      Result := Create_Base (Name, ID_Base'Access);
46      ID     := ID_Base;
47
48   end Create;
49
50   procedure Ident
51     (Name   : in RTEMS.Name;
52      ID     : out RTEMS.ID;
53      Result : out RTEMS.Status_Codes)
54   is
55      function Ident_Base
56        (Name : RTEMS.Name;
57         ID   : access RTEMS.ID)
58         return RTEMS.Status_Codes;
59      pragma Import
60        (C,
61         Ident_Base,
62         "rtems_rate_monotonic_ident");
63      ID_Base : aliased RTEMS.ID;
64   begin
65
66      Result := Ident_Base (Name, ID_Base'Access);
67
68      ID := ID_Base;
69
70   end Ident;
71
72   procedure Delete
73     (ID     : in RTEMS.ID;
74      Result : out RTEMS.Status_Codes)
75   is
76      function Delete_Base
77        (ID   : RTEMS.ID)
78         return RTEMS.Status_Codes;
79      pragma Import
80        (C,
81         Delete_Base,
82         "rtems_rate_monotonic_delete");
83   begin
84
85      Result := Delete_Base (ID);
86
87   end Delete;
88
89   procedure Cancel
90     (ID     : in RTEMS.ID;
91      Result : out RTEMS.Status_Codes)
92   is
93      function Cancel_Base
94        (ID   : RTEMS.ID)
95         return RTEMS.Status_Codes;
96      pragma Import
97        (C,
98         Cancel_Base,
99         "rtems_rate_monotonic_cancel");
100   begin
101
102      Result := Cancel_Base (ID);
103
104   end Cancel;
105
106   procedure Period
107     (ID     : in RTEMS.ID;
108      Length : in RTEMS.Interval;
109      Result : out RTEMS.Status_Codes)
110   is
111      function Period_Base
112        (ID     : RTEMS.ID;
113         Length : RTEMS.Interval)
114         return   RTEMS.Status_Codes;
115      pragma Import
116        (C,
117         Period_Base,
118         "rtems_rate_monotonic_period");
119   begin
120
121      Result := Period_Base (ID, Length);
122
123   end Period;
124
125   procedure Get_Status
126     (ID     : in RTEMS.ID;
127      Status : out RTEMS.Rate_Monotonic.Period_Status;
128      Result : out RTEMS.Status_Codes)
129   is
130      function Get_Status_Base
131        (ID     : RTEMS.ID;
132         Status : access RTEMS.Rate_Monotonic.Period_Status)
133         return   RTEMS.Status_Codes;
134      pragma Import
135        (C,
136         Get_Status_Base,
137         "rtems_rate_monotonic_get_status");
138
139      Status_Base : aliased RTEMS.Rate_Monotonic.Period_Status;
140   begin
141
142      Result := Get_Status_Base (ID, Status_Base'Access);
143
144      Status := Status_Base;
145
146   end Get_Status;
147
148   procedure Reset_Statistics
149     (ID     : in RTEMS.ID;
150      Result : out RTEMS.Status_Codes)
151   is
152      function Reset_Statistics_Base
153        (ID   : RTEMS.ID)
154         return RTEMS.Status_Codes;
155      pragma Import
156        (C,
157         Reset_Statistics_Base,
158         "rtems_rate_monotonic_reset_statistics");
159   begin
160
161      Result := Reset_Statistics_Base (ID);
162
163   end Reset_Statistics;
164
165end RTEMS.Rate_Monotonic;
Note: See TracBrowser for help on using the repository browser.