- 50379B31ED9F6B3E63C7037DB679ADE8309A44C6B0510520288AFC535A8FFD55E006CC20A479374E992991116253625C588278B21B0E12C254AD035A64E57258
+ 30B66C681C3DE5AD3731A40C47760D77D58707D32B66D8A8BB987898067A631BF761ADEE878B08F77FE8D83DF097900F8990CA75E02CB0A2AEEC1A58A5209C4D
smg_comms/src/data_structs.ads
(5 . 6)(5 . 7)
13 with Raw_Types; -- for protocol raw types
14 with System; -- for Bit_Order
15 with Serpent; -- for Serpent.Key type
16 with Ada.Unchecked_Conversion; -- for counter_8bits to/from octet
17
18 package Data_Structs is
19 Pragma Pure(Data_Structs);
(65 . 7)(66 . 12)
21
22 ------------------------------
23 -- Serpent Keys Management
24 type Keys_Mgm (N_Burnt: Interfaces.Unsigned_8) is
25 subtype Counter_8bits is Natural range 0..255;
26 function Cast is new Ada.Unchecked_Conversion( Counter_8bits,
27 Raw_Types.Octets_1 );
28 function Cast is new Ada.Unchecked_Conversion( Raw_Types.Octets_1,
29 Counter_8bits );
30 type Keys_Mgm (N_Burnt: Counter_8bits := 0) is
31 record
32 -- count of server keys requested
33 N_Server: Interfaces.Unsigned_8;
(74 . 7)(80 . 12)
35 -- ID of Serpent key preferred for further inbound Serpent msgs.
36 Key_ID : Interfaces.Unsigned_8;
37 -- IDs of Serpent keys burnt by this message
38 Burnt : SKeys_Array( 1..N_Burnt );
39 case N_Burnt is
40 when 0 =>
41 null;
42 when others =>
43 Burnt : Raw_Types.Octets( 1..N_Burnt );
44 end case;
45 end record;
46
47 end Data_Structs;