File: /home/oboss/Users/gec/sources/PUS_Services/Function_Management/external_function_management_types.ads
1 --% Compilation Unit: External_Function_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: external_function_management_types.ads,v $
13 -- Revision 2.1 2003/11/13 14:57:43 gec
14 -- Merged ECSS Migration branch to main trunk.
15 --
16 -- Revision 2.0.8.1 2003/11/11 14:52:39 gec
17 -- Updated Function Management Service according to ECSS-E-70-41A standard.
18 --
19 -- Revision 2.0 2003/04/04 08:51:04 gec
20 -- Initial release of source files serving as baseline for OBOSS-III
21 --+ project.
22 --
23 -- Revision 1.1.1.1 2003/04/04 08:13:12 gec
24 -- Imported using TkCVS
25 --
26 --
27 --
28 --% Project: OBOSS
29 --
30 --% Copyright (C) 2003 by Terma A/S
31 -- Proprietary and intellectual rights of Terma A/S, Denmark,
32 -- are involved in the subject-matter of this material and
33 -- all manufacturing, reproduction, use, disclosure, and
34 -- sales rights pertaining to such subject-matter are
35 -- expressly reserved. This material is submitted for a
36 -- specific purpose as agreed, and the recipient by
37 -- accepting this material agrees that this material will
38 -- not be used, copied, or reproduced in whole or in part
39 -- nor its contents revealed in any manner or to any person,
40 -- except to meet the purpose for which it was submitted and
41 -- subject to the terms of the agreement.
42 --
43 --% Target Dependencies:
44 -- None
45 --% Compiler Dependencies:
46 -- None
47
48 --~-----------------------------------------------------------------------------
49
50 with Parameter_Representation;
51 with Source_Data_Stream;
52 with Function_Management_Types;
53 package External_Function_Management_Types is
54
55 --% Library Package:
56 -- External representation of packet fields and data types associated to
57 --+ service 8: Function Management in Packet Utilisation Standard.
58 -- Implements accessor functions on telecommand fields based on source
59 --+ data streams.
60 --% Active Tasks:
61 --> None
62 --% Passive Tasks:
63 --> None
64
65 -- External representation of Function ID string included in service types
66 --+ (8,1), (8,2) and (8,3)
67 Function_ID_Length : constant := 20;
68 type Function_ID is new
69 Parameter_Representation.Character_String (1 .. Function_ID_Length);
70
71 -- External representation of N - i.e. list length - included in service
72 --+ type (8,1)
73 type List_Length is new Parameter_Representation.Unsigned_Integer_4;
74
75 -- Exception indicating that a given packet field cannot be extracted from
76 --+ given source data.
77 Parameter_Error : exception;
78
79 --% Subprogram:
80 -- Extracts a function ID from the head of read stream Stream.
81 --% Parameter Constraints:
82 --> None
83 --% Exceptions Raised:
84 --> Parameter_Error - Indicates that a legal function ID could not be
85 --+ read from read stream Stream.
86 --> Source_Data_Stream.Read_Stream_Exhausted - Indicates that Fct_ID
87 --+ could not be extracted because end of stream was met.
88 procedure Get
89 (Stream : in out Source_Data_Stream.Read_Stream;
90 Fct_ID : out Function_Management_Types.Function_ID);
91
92 --% Subprogram:
93 -- Inserts a function ID at the tail of write stream Stream.
94 --% Parameter Constraints:
95 --> None
96 --% Exceptions Raised:
97 --> Source_Data_Stream.Write_Stream_Exhausted - Indicates that Fct_ID
98 --+ could not be inserted because end of stream was met.
99 procedure Put
100 (Stream : in out Source_Data_Stream.Write_Stream;
101 Fct_ID : in Function_Management_Types.Function_ID);
102
103 --% Subprogram:
104 -- Extracts a list length from the head of read stream Stream.
105 --% Parameter Constraints:
106 --> None
107 --% Exceptions Raised:
108 --> Parameter_Error - Indicates that a legal activity ID could not be
109 --+ read from read stream Stream.
110 --> Source_Data_Stream.Read_Stream_Exhausted - Indicates that Act_ID
111 --+ could not be extracted because end of stream was met.
112 procedure Get
113 (Stream : in out Source_Data_Stream.Read_Stream;
114 N : out Function_Management_Types.List_Length);
115
116 --% Subprogram:
117 -- Inserts a list length at the tail of write stream Stream.
118 --% Parameter Constraints:
119 --> None
120 --% Exceptions Raised:
121 --> Source_Data_Stream.Write_Stream_Exhausted - Indicates that Act_ID
122 --+ could not be inserted because end of stream was met.
123 procedure Put
124 (Stream : in out Source_Data_Stream.Write_Stream;
125 N : in Function_Management_Types.List_Length);
126
127 end External_Function_Management_Types;
128
129 --~-----------------------------------------------------------------------------
130