source: rtems/c/src/ada/rtems-partition.adb @ c499856

4.115
Last change on this file since c499856 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.2 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.Partition is
22
23   --
24   -- Partition Manager
25   --
26
27   procedure Create
28     (Name             : in RTEMS.Name;
29      Starting_Address : in RTEMS.Address;
30      Length           : in RTEMS.Unsigned32;
31      Buffer_Size      : in RTEMS.Unsigned32;
32      Attribute_Set    : in RTEMS.Attribute;
33      ID               : out RTEMS.ID;
34      Result           : out RTEMS.Status_Codes)
35   is
36      function Create_Base
37        (Name             : RTEMS.Name;
38         Starting_Address : RTEMS.Address;
39         Length           : RTEMS.Unsigned32;
40         Buffer_Size      : RTEMS.Unsigned32;
41         Attribute_Set    : RTEMS.Attribute;
42         ID               : access RTEMS.Event_Set)
43         return             RTEMS.Status_Codes;
44      pragma Import (C, Create_Base, "rtems_partition_create");
45      ID_Base : aliased RTEMS.ID;
46   begin
47
48      Result :=
49         Create_Base
50           (Name,
51            Starting_Address,
52            Length,
53            Buffer_Size,
54            Attribute_Set,
55            ID_Base'Access);
56      ID     := ID_Base;
57
58   end Create;
59
60   procedure Ident
61     (Name   : in RTEMS.Name;
62      Node   : in RTEMS.Unsigned32;
63      ID     : out RTEMS.ID;
64      Result : out RTEMS.Status_Codes)
65   is
66      function Ident_Base
67        (Name : RTEMS.Name;
68         Node : RTEMS.Unsigned32;
69         ID   : access RTEMS.Event_Set)
70         return RTEMS.Status_Codes;
71      pragma Import (C, Ident_Base, "rtems_partition_ident");
72      ID_Base : aliased RTEMS.ID;
73   begin
74
75      Result := Ident_Base (Name, Node, ID_Base'Access);
76      ID     := ID_Base;
77
78   end Ident;
79
80   procedure Delete
81     (ID     : in RTEMS.ID;
82      Result : out RTEMS.Status_Codes)
83   is
84      function Delete_Base
85        (ID   : RTEMS.ID)
86         return RTEMS.Status_Codes;
87      pragma Import (C, Delete_Base, "rtems_partition_delete");
88   begin
89
90      Result := Delete_Base (ID);
91
92   end Delete;
93
94   procedure Get_Buffer
95     (ID     : in RTEMS.ID;
96      Buffer : out RTEMS.Address;
97      Result : out RTEMS.Status_Codes)
98   is
99      function Get_Buffer_Base
100        (ID     : RTEMS.ID;
101         Buffer : access RTEMS.Address)
102         return   RTEMS.Status_Codes;
103      pragma Import
104        (C,
105         Get_Buffer_Base,
106         "rtems_partition_get_buffer");
107      Buffer_Base : aliased RTEMS.Address;
108   begin
109
110      Result := Get_Buffer_Base (ID, Buffer_Base'Access);
111      Buffer := Buffer_Base;
112
113   end Get_Buffer;
114
115   procedure Return_Buffer
116     (ID     : in RTEMS.ID;
117      Buffer : in RTEMS.Address;
118      Result : out RTEMS.Status_Codes)
119   is
120      function Return_Buffer_Base
121        (ID     : RTEMS.Name;
122         Buffer : RTEMS.Address)
123         return   RTEMS.Status_Codes;
124      pragma Import
125        (C,
126         Return_Buffer_Base,
127         "rtems_partition_return_buffer");
128   begin
129
130      Result := Return_Buffer_Base (ID, Buffer);
131
132   end Return_Buffer;
133
134end RTEMS.Partition;
Note: See TracBrowser for help on using the repository browser.