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