smg_comms_skeys_s... 1
smg_comms_skeys_s... 2
smg_comms_skeys_s... 3
smg_comms_skeys_s... 4 with Interfaces;
smg_comms_skeys_s... 5 with Raw_Types;
smg_comms_skeys_s... 6 with System;
smg_comms_skeys_s... 7 with Serpent;
smg_comms_keymgm 8 with Ada.Unchecked_Conversion;
smg_comms_skeys_s... 9
smg_comms_skeys_s... 10 package Data_Structs is
smg_comms_skeys_s... 11 Pragma Pure(Data_Structs);
smg_comms_skeys_s... 12
smg_comms_skeys_s... 13
smg_comms_skeys_s... 14
smg_comms_skeys_s... 15
smg_comms_skeys_s... 16
smg_comms_skeys_s... 17
smg_comms_skeys_s... 18 type SMG_Object is
smg_comms_skeys_s... 19 record
smg_comms_skeys_s... 20
smg_comms_skeys_s... 21 ID : Interfaces.Unsigned_32;
smg_comms_skeys_s... 22
smg_comms_skeys_s... 23
smg_comms_skeys_s... 24
smg_comms_skeys_s... 25
smg_comms_skeys_s... 26
smg_comms_skeys_s... 27
smg_comms_skeys_s... 28 X, Y, Z : Interfaces.Integer_16;
smg_comms_skeys_s... 29
smg_comms_skeys_s... 30
smg_comms_skeys_s... 31
smg_comms_skeys_s... 32 RX, RY, RZ : Interfaces.Unsigned_8;
smg_comms_skeys_s... 33 end record;
smg_comms_skeys_s... 34 for SMG_Object'Size use 104;
smg_comms_skeys_s... 35 for SMG_Object'Bit_Order use System.Low_Order_First;
smg_comms_skeys_s... 36 for SMG_Object use
smg_comms_skeys_s... 37 record
smg_comms_skeys_s... 38 ID at 0 range 0 .. 31;
smg_comms_skeys_s... 39 X at 4 range 0 .. 15;
smg_comms_skeys_s... 40 Y at 6 range 0 .. 15;
smg_comms_skeys_s... 41 Z at 8 range 0 .. 15;
smg_comms_skeys_s... 42 RX at 10 range 0 .. 7;
smg_comms_skeys_s... 43 RY at 11 range 0 .. 7;
smg_comms_skeys_s... 44 RZ at 12 range 0 .. 7;
smg_comms_skeys_s... 45 end record;
smg_comms_skeys_s... 46
smg_comms_files 47
smg_comms_files 48 subtype Text_Len is Positive range 1..2**16-1;
smg_comms_files 49
smg_comms_files 50
smg_comms_files 51
smg_comms_files 52
smg_comms_files 53 type U16_Array is array (Text_Len range <> ) of Interfaces.Unsigned_16;
smg_comms_files 54 type Filenames( F_No: Text_Len := 1; Sz: Text_Len := 1 ) is
smg_comms_files 55 record
smg_comms_files 56
smg_comms_files 57 S : String( 1 .. Sz ) := (others => '0');
smg_comms_files 58
smg_comms_files 59 Starts: U16_Array( 1 .. F_No ) := (others => 1);
smg_comms_files 60 end record;
smg_comms_files 61
smg_comms_files 62
smg_comms_files 63 type File_Chunk( Len : Text_Len := 1;
smg_comms_files 64 Count : Interfaces.Unsigned_16 := 1;
smg_comms_files 65 Name_Len: Text_len := 1) is
smg_comms_files 66 record
smg_comms_files 67 Filename: String(1..Name_Len);
smg_comms_files 68 Content : Raw_Types.Octets(1..Len);
smg_comms_files 69 end record;
smg_comms_files 70
smg_comms_skeys_s... 71
smg_comms_skeys_s... 72
smg_comms_skeys_s... 73
smg_comms_skeys_s... 74
smg_comms_skeys_s... 75
smg_comms_skeys_s... 76
smg_comms_skeys_s... 77
smg_comms_skeys_s... 78
smg_comms_skeys_s... 79
smg_comms_skeys_s... 80 subtype Keys_Count is Interfaces.Unsigned_8 range 1..40;
smg_comms_skeys_s... 81 type SKeys_Array is array( Keys_Count range <>) of Serpent.Key;
smg_comms_skeys_s... 82
smg_comms_skeys_s... 83 type Serpent_Keyset( N : Keys_Count := Keys_Count'Last) is
smg_comms_skeys_s... 84 record
smg_comms_skeys_s... 85
smg_comms_skeys_s... 86 Keys : SKeys_Array( 1..N );
smg_comms_skeys_s... 87
smg_comms_skeys_s... 88 Flag : Interfaces.Unsigned_8;
smg_comms_skeys_s... 89 end record;
smg_comms_skeys_s... 90
smg_comms_skeys_s... 91
smg_comms_skeys_s... 92
smg_comms_keymgm 93 subtype Counter_8bits is Natural range 0..255;
smg_comms_keymgm 94 function Cast is new Ada.Unchecked_Conversion( Counter_8bits,
smg_comms_keymgm 95 Raw_Types.Octets_1 );
smg_comms_keymgm 96 function Cast is new Ada.Unchecked_Conversion( Raw_Types.Octets_1,
smg_comms_keymgm 97 Counter_8bits );
smg_comms_keymgm 98 type Keys_Mgm (N_Burnt: Counter_8bits := 0) is
smg_comms_skeys_s... 99 record
smg_comms_skeys_s... 100
smg_comms_skeys_s... 101 N_Server: Interfaces.Unsigned_8;
smg_comms_skeys_s... 102
smg_comms_skeys_s... 103 N_Client: Interfaces.Unsigned_8;
smg_comms_skeys_s... 104
smg_comms_skeys_s... 105 Key_ID : Interfaces.Unsigned_8;
smg_comms_skeys_s... 106
smg_comms_keymgm 107 case N_Burnt is
smg_comms_keymgm 108 when 0 =>
smg_comms_keymgm 109 null;
smg_comms_keymgm 110 when others =>
smg_comms_keymgm 111 Burnt : Raw_Types.Octets( 1..N_Burnt );
smg_comms_keymgm 112 end case;
smg_comms_skeys_s... 113 end record;
smg_comms_skeys_s... 114
smg_comms_skeys_s... 115 end Data_Structs;