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