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

4.115
Last change on this file since 32c8960 was c499856, checked in by Chris Johns <chrisj@…>, on Mar 20, 2014 at 9:10:47 PM

Change all references of rtems.com to rtems.org.

  • Property mode set to 100644
File size: 3.4 KB
Line 
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.org/license/LICENSE.
19--
20
21package body RTEMS.Rate_Monotonic is
22
23   --
24   -- Rate Monotonic Manager
25   --
26
27   procedure Create
28     (Name   : in RTEMS.Name;
29      ID     : out RTEMS.ID;
30      Result : out RTEMS.Status_Codes)
31   is
32      function Create_Base
33        (Name : RTEMS.Name;
34         ID   : access RTEMS.ID)
35         return RTEMS.Status_Codes;
36      pragma Import
37        (C,
38         Create_Base,
39         "rtems_rate_monotonic_create");
40      ID_Base : aliased RTEMS.ID;
41   begin
42
43      Result := Create_Base (Name, ID_Base'Access);
44      ID     := ID_Base;
45
46   end Create;
47
48   procedure Ident
49     (Name   : in RTEMS.Name;
50      ID     : out RTEMS.ID;
51      Result : out RTEMS.Status_Codes)
52   is
53      function Ident_Base
54        (Name : RTEMS.Name;
55         ID   : access RTEMS.ID)
56         return RTEMS.Status_Codes;
57      pragma Import
58        (C,
59         Ident_Base,
60         "rtems_rate_monotonic_ident");
61      ID_Base : aliased RTEMS.ID;
62   begin
63
64      Result := Ident_Base (Name, ID_Base'Access);
65
66      ID := ID_Base;
67
68   end Ident;
69
70   procedure Delete
71     (ID     : in RTEMS.ID;
72      Result : out RTEMS.Status_Codes)
73   is
74      function Delete_Base
75        (ID   : RTEMS.ID)
76         return RTEMS.Status_Codes;
77      pragma Import
78        (C,
79         Delete_Base,
80         "rtems_rate_monotonic_delete");
81   begin
82
83      Result := Delete_Base (ID);
84
85   end Delete;
86
87   procedure Cancel
88     (ID     : in RTEMS.ID;
89      Result : out RTEMS.Status_Codes)
90   is
91      function Cancel_Base
92        (ID   : RTEMS.ID)
93         return RTEMS.Status_Codes;
94      pragma Import
95        (C,
96         Cancel_Base,
97         "rtems_rate_monotonic_cancel");
98   begin
99
100      Result := Cancel_Base (ID);
101
102   end Cancel;
103
104   procedure Period
105     (ID     : in RTEMS.ID;
106      Length : in RTEMS.Interval;
107      Result : out RTEMS.Status_Codes)
108   is
109      function Period_Base
110        (ID     : RTEMS.ID;
111         Length : RTEMS.Interval)
112         return   RTEMS.Status_Codes;
113      pragma Import
114        (C,
115         Period_Base,
116         "rtems_rate_monotonic_period");
117   begin
118
119      Result := Period_Base (ID, Length);
120
121   end Period;
122
123   procedure Get_Status
124     (ID     : in RTEMS.ID;
125      Status : out RTEMS.Rate_Monotonic.Period_Status;
126      Result : out RTEMS.Status_Codes)
127   is
128      function Get_Status_Base
129        (ID     : RTEMS.ID;
130         Status : access RTEMS.Rate_Monotonic.Period_Status)
131         return   RTEMS.Status_Codes;
132      pragma Import
133        (C,
134         Get_Status_Base,
135         "rtems_rate_monotonic_get_status");
136
137      Status_Base : aliased RTEMS.Rate_Monotonic.Period_Status;
138   begin
139
140      Result := Get_Status_Base (ID, Status_Base'Access);
141
142      Status := Status_Base;
143
144   end Get_Status;
145
146   procedure Reset_Statistics
147     (ID     : in RTEMS.ID;
148      Result : out RTEMS.Status_Codes)
149   is
150      function Reset_Statistics_Base
151        (ID   : RTEMS.ID)
152         return RTEMS.Status_Codes;
153      pragma Import
154        (C,
155         Reset_Statistics_Base,
156         "rtems_rate_monotonic_reset_statistics");
157   begin
158
159      Result := Reset_Statistics_Base (ID);
160
161   end Reset_Statistics;
162
163end RTEMS.Rate_Monotonic;
Note: See TracBrowser for help on using the repository browser.