- 30B66C681C3DE5AD3731A40C47760D77D58707D32B66D8A8BB987898067A631BF761ADEE878B08F77FE8D83DF097900F8990CA75E02CB0A2AEEC1A58A5209C4D
+ D472416A6FDBB7FD240664149E4A120F449AC15839D611E8A6987C145D3FE13C0A2227FE8C6BA3BC8F4ED2350973E7DFE6A074AB87CB02FBAF786396169FE5CF
smg_comms/src/data_structs.ads
(44 . 6)(44 . 30)
13 RZ at 12 range 0 .. 7;
14 end record;
15
16 -- length of a text field (i.e. 16 bits, strictly > 0)
17 subtype Text_Len is Positive range 1..2**16-1;
18
19 -- A set of file names glued into a single string
20 -- NB: there IS at least ONE filename and one character
21 -- Upper limit for Text_Len is due to protocol's spec of text basic type
22 type U16_Array is array (Text_Len range <> ) of Interfaces.Unsigned_16;
23 type Filenames( F_No: Text_Len := 1; Sz: Text_Len := 1 ) is
24 record
25 -- filenames glued together into 1 single string
26 S : String( 1 .. Sz ) := (others => '0');
27 -- indices in S, at which each filename starts
28 Starts: U16_Array( 1 .. F_No ) := (others => 1);
29 end record;
30
31 -- A chunk of a file (for file transfer)
32 type File_Chunk( Len : Text_Len := 1;
33 Count : Interfaces.Unsigned_16 := 1;
34 Name_Len: Text_len := 1) is
35 record
36 Filename: String(1..Name_Len);
37 Content : Raw_Types.Octets(1..Len);
38 end record;
39
40 -------------------------
41 -- A set of Serpent Keys
42 -- parametrized record for a Serpent Keyset