File: /home/oboss/Users/gec/sources/PUS_Services/Memory_Management/memory_management_types.ads

1     --% Compilation Unit: Memory_Management_Types
2     --
3     --% Category: Package Declaration
4     --
5     --% Release:  $Name:  $
6     --
7     --% Version:  $Revision: 2.1 $
8     --
9     --% Author:   $Author: gec $
10     --
11     --% Revision Log:
12     --    $Log: memory_management_types.ads,v $
13     --    Revision 2.1  2003/11/13 14:57:49  gec
14     --    Merged ECSS Migration branch to main trunk.
15     --
16     --    Revision 2.0.8.2  2003/11/10 14:35:45  gec
17     --    Updated Memory Management Service to use mission parameter <SMALLEST_ADDRESSABLE_UNIT> as unit for absolute addresses and lengths of data block.
18     --
19     --    Revision 2.0.8.1  2003/11/10 10:03:40  gec
20     --    Updated memory management service in accordance with ECSS-E-70-41A.
21     --
22     --    Revision 2.0  2003/04/04 08:51:10  gec
23     --    Initial release of source files serving as baseline for OBOSS-III
24     --+    project.
25     --
26     --    Revision 1.1.1.1  2003/04/04 08:13:13  gec
27     --    Imported using TkCVS
28     --
29     --
30     --
31     --% Project: OBOSS
32     --
33     --% Copyright (C) 2003 by Terma A/S
34     --  Proprietary and intellectual rights of Terma A/S, Denmark,
35     --  are involved in the subject-matter of this material and
36     --  all manufacturing, reproduction, use, disclosure, and
37     --  sales rights pertaining to such subject-matter are
38     --  expressly reserved. This material is submitted for a
39     --  specific purpose as agreed, and the recipient by
40     --  accepting this material agrees that this material will
41     --  not be used, copied, or reproduced in whole or in part
42     --  nor its contents revealed in any manner or to any person,
43     --  except to meet the purpose for which it was submitted and
44     --  subject to the terms of the agreement.
45     --
46     --% Target Dependencies:
47     --    None
48     --% Compiler Dependencies:
49     --    None
50     
51     --~-----------------------------------------------------------------------------
52     
53     with Basic_Types;
54     with Mission_Parameters;
55     with System;
56     with System.Storage_Elements;
57     package Memory_Management_Types is
58     
59        --% Library Package:
60        --    Definition of types specific to the memory management service
61        --% Active Tasks:
62        -->   None
63        --% Passive Tasks:
64        -->   None
65     
66        TM_Destination :
67           constant Mission_Parameters.APID := Mission_Parameters.Ground;
68     
69        type List_Length is new Natural;
70     
71        subtype Absolute_Address is System.Address;
72        -- Start addresses are multipla of System.Storage_Unit
73        type Start_Address is new System.Storage_Elements.Storage_Offset;
74     
75        subtype Data_Index is System.Storage_Elements.Storage_Offset;
76        subtype Data       is System.Storage_Elements.Storage_Array;
77     
78        subtype Data_Length is System.Storage_Elements.Storage_Offset;
79     
80        type Access_Kind is
81              (No_Access,
82               Read,
83               Write,
84               Read_Write);
85     
86        -- Exceptions to be raised by specific read and/or write operations in case
87        --+    of errors
88        No_Read_Access, No_Write_Access, Access_Outside_Memory_Area,
89              Unknown_Memory_Access_Error : exception;
90     
91        Start_Address_Overflow : exception;
92     
93        --% Subprogram:
94        --    Transforms a given block of data into a corresponding byte array
95        --+    representation
96        --% Parameter Constraints:
97        -->   None
98        --% Exceptions Raised:
99        -->   None
100        function Transform_Data_To_Byte_Array
101              (The_Data :        Memory_Management_Types.Data)
102              return Basic_Types.Byte_Array;
103     
104        --% Subprogram:
105        --    Transforms given integer representation for addresses into an absolute
106        --+    address
107        --% Parameter Constraints:
108        -->   None
109        --% Exceptions Raised:
110        -->   None
111        function To_Address
112              (Value :        System.Storage_Elements.Integer_Address)
113              return Absolute_Address;
114     
115     end Memory_Management_Types;
116     
117     --~-----------------------------------------------------------------------------
118