File: /home/oboss/Users/gec/sources/CDH_Structure/Dynamic_Application_Process_Descrs/storage_selection_manager.ads

1     --% Compilation Unit:	Storage_Selection_Manager
2     --
3     --% Category: Package Declaration
4     --
5     --% Release:  $Name:  $
6     --
7     --% Version:  $Revision: 2.0 $
8     --
9     --% Author:   $Author: gec $
10     --
11     --% Revision Log:
12     --    $Log: storage_selection_manager.ads,v $
13     --    Revision 2.0  2003/04/04 08:50:22  gec
14     --    Initial release of source files serving as baseline for OBOSS-III project.
15     --
16     --    Revision 1.1.1.1  2003/04/04 08:13:10  gec
17     --    Imported using TkCVS
18     --
19     --
20     --
21     --% Project: OBOSS
22     --
23     --% Copyright (C) 2003 by Terma A/S
24     --  Proprietary and intellectual rights of Terma A/S, Denmark,
25     --  are involved in the subject-matter of this material and
26     --  all manufacturing, reproduction, use, disclosure, and
27     --  sales rights pertaining to such subject-matter are
28     --  expressly reserved. This material is submitted for a
29     --  specific purpose as agreed, and the recipient by
30     --  accepting this material agrees that this material will
31     --  not be used, copied, or reproduced in whole or in part
32     --  nor its contents revealed in any manner or to any person,
33     --  except to meet the purpose for which it was submitted and
34     --  subject to the terms of the agreement.
35     --
36     --% Target Dependencies:
37     --    None
38     --% Compiler Dependencies:
39     --    None
40     
41     --~-----------------------------------------------------------------------------
42     
43     with Parameter_Representation;
44     with Mission_Parameters;
45     with PUS;
46     with PUS_Data_Types;
47     with PUS_State;
48     with Verification_Types;
49     with Parameter_Representation_Constraints;
50     package Storage_Selection_Manager is
51     
52        --% Library Package:
53        --    Management of storage selection criteria.
54        --% Active Tasks:
55        -->   None
56        --% Passive Tasks:
57        -->   Packet_Store_Info_Critical_Region - Protection of selection criteria
58     
59        subtype Packet_Store_Subtypes_Index is
60              Natural range
61              1 ..
62              Parameter_Representation_Constraints.
63                 Max_Packet_Store_Subtypes_Length;
64        type Packet_Subtype_Array is array
65              (Packet_Store_Subtypes_Index range <>) of
66              PUS_Data_Types.Service_Subtype;
67     
68     
69        --% Subprogram:
70        --    Enable a specific on-board store for packets from a specific
71        --+    application process
72        --% Parameter Constraints:
73        -->   None
74        --% Exceptions Raised:
75        -->   None
76     
77        function Enable_Storage
78              (Source_APID :        Mission_Parameters.APID;
79               Storage_ID  :        Mission_Parameters.Packet_Store_ID)
80              return Verification_Types.Result;
81     
82     
83        --% Subprogram:
84        --    Disable a specific on-board store for packets from a specific
85        --+    application process
86        --% Parameter Constraints:
87        -->   None
88        --% Exceptions Raised:
89        -->   None
90     
91        function Disable_Storage
92              (Source_APID :        Mission_Parameters.APID;
93               Storage_ID  :        Mission_Parameters.Packet_Store_ID)
94              return Verification_Types.Result;
95     
96     
97        --% Subprogram:
98        --    Add all packet types to the selection definitions of a specific
99        --+    on-board store for packets from a specific application process
100        --% Parameter Constraints:
101        -->   None
102        --% Exceptions Raised:
103        -->   None
104     
105        function Add_All_Storage_Selection_Def
106              (Source_APID :        Mission_Parameters.APID;
107               Storage_ID  :        Mission_Parameters.Packet_Store_ID)
108              return Verification_Types.Result;
109     
110     
111        --% Subprogram:
112        --    Add a service type to the selection definitions of a specific on-board
113        --+    store for packets from a specific application process
114        --% Parameter Constraints:
115        -->   None
116        --% Exceptions Raised:
117        -->   None
118     
119        function Add_All_Subtypes_Storage_Selection_Def
120              (Source_APID :        Mission_Parameters.APID;
121               Storage_ID  :        Mission_Parameters.Packet_Store_ID;
122               Service     :        PUS_Data_Types.Service_Type)
123              return Verification_Types.Result;
124     
125     
126        --% Subprogram:
127        --    Add specific service subtypes to the selection definitions of a
128        --+    specific on-board store for packets from a specific application
129        --+    process
130        --% Parameter Constraints:
131        -->   None
132        --% Exceptions Raised:
133        -->   None
134     
135        function Add_Specific_Subtypes_Storage_Selection_Def
136              (Source_APID :        Mission_Parameters.APID;
137               Storage_ID  :        Mission_Parameters.Packet_Store_ID;
138               Service     :        PUS_Data_Types.Service_Type;
139               Subservices :        Packet_Subtype_Array)
140              return Verification_Types.Result;
141     
142     
143        --% Subprogram:
144        --    Remove all packet types from the selection definitions of a specific
145        --+    on-board store for packets from a specific application process
146        --% Parameter Constraints:
147        -->   None
148        --% Exceptions Raised:
149        -->   None
150     
151        function Remove_All_Storage_Selection_Def
152              (Source_APID :        Mission_Parameters.APID;
153               Storage_ID  :        Mission_Parameters.Packet_Store_ID)
154              return Verification_Types.Result;
155     
156     
157        --% Subprogram:
158        --    Remove a service type from the selection definitions of a specific
159        --+    on-board store for packets from a specific application process
160        --% Parameter Constraints:
161        -->   None
162        --% Exceptions Raised:
163        -->   None
164     
165        function Remove_All_Subtypes_Storage_Selection_Def
166              (Source_APID :        Mission_Parameters.APID;
167               Storage_ID  :        Mission_Parameters.Packet_Store_ID;
168               Service     :        PUS_Data_Types.Service_Type)
169              return Verification_Types.Result;
170     
171     
172        --% Subprogram:
173        --    Remove specific service subtypes from the selection definitions of a
174        --+    specific on-board store for packets from a specific application
175        --+    process
176        --% Parameter Constraints:
177        -->   None
178        --% Exceptions Raised:
179        -->   None
180     
181        function Remove_Specific_Subtypes_Storage_Selection_Def
182              (Source_APID :        Mission_Parameters.APID;
183               Storage_ID  :        Mission_Parameters.Packet_Store_ID;
184               Service     :        PUS_Data_Types.Service_Type;
185               Subservices :        Packet_Subtype_Array)
186              return Verification_Types.Result;
187     
188     
189        --% Subprogram:
190        --    Check whether a given service type is currently selected for storage
191        --+    in a specific on-board store for packets from a specific application
192        --+    process
193        --% Parameter Constraints:
194        -->   None
195        --% Exceptions Raised:
196        -->   None
197     
198        function Is_Storage_Selection_Service_Present
199              (Source_APID :        Mission_Parameters.APID;
200               Storage_ID  :        Mission_Parameters.Packet_Store_ID;
201               Service     :        PUS_Data_Types.Service_Type)
202              return Boolean;
203     
204     
205        --% Subprogram:
206        --    Check whether all packet types are currently selected for storage in a
207        --+    specific on-board store for packets from a specific application
208        --+    process
209        --% Parameter Constraints:
210        -->   None
211        --% Exceptions Raised:
212        -->   None
213        function Is_Storage_Selection_All_Present
214              (Source_APID :        Mission_Parameters.APID;
215               Storage_ID  :        Mission_Parameters.Packet_Store_ID)
216              return Boolean;
217     
218     
219        --% Subprogram:
220        --    Extract the current storage selection definitions of a specific
221        --+    on-board store for packets from a specific application process
222        --% Parameter Constraints:
223        -->   None
224        --% Exceptions Raised:
225        -->   None
226     
227        function Get_Storage_Selection_Service_Def
228              (Source_APID :        Mission_Parameters.APID;
229               Storage_ID  :        Mission_Parameters.Packet_Store_ID;
230               Service     :        PUS_Data_Types.Service_Type)
231              return Packet_Subtype_Array;
232     
233     
234        --% Subprogram:
235        --    Determine the application process to which a packet is to be routed
236        --% Parameter Constraints:
237        -->   None
238        --% Exceptions Raised:
239        -->   None
240     
241        function Get_Routing_Destination_APID
242              (TM_Packet :        PUS.PUS_Packet)
243              return Mission_Parameters.APID;
244     
245     
246        --% Subprogram:
247        --    Determine the packet store, if any, in which a TM packet is to be
248        --+    stored
249        --% Parameter Constraints:
250        -->   None
251        --% Exceptions Raised:
252        -->   None
253     
254        procedure Get_Destination_Packet_Store_ID
255              (TM_Packet     : in     PUS.PUS_Packet;
256               Store_Defined :    out Boolean;
257               Store_ID      :    out Mission_Parameters.Packet_Store_ID);
258     
259     end Storage_Selection_Manager;
260     
261     --~-----------------------------------------------------------------------------
262