with Interfaces; with System; with Unchecked_Conversion; package SSO8_Pkg is Val8 : Interfaces.Unsigned_8; type Two_Bit_Int is range 0 .. 3; for Two_Bit_Int'size use 2; type Arr is array (1 .. 5) of Boolean; for Arr'scalar_storage_order use System.High_Order_First; pragma Pack (Arr); type Rec is record Boolean_Data : Boolean; Array_Data : Arr; Two_Bit_Data : Two_Bit_Int; end record; for Rec use record Boolean_Data at 0 range 0 .. 0; Array_Data at 0 range 1 .. 5; Two_Bit_Data at 0 range 6 .. 7; end record; for Rec'size use 8; for Rec'bit_order use System.High_Order_First; for Rec'scalar_storage_order use System.High_Order_First; function Conv is new Unchecked_Conversion (Rec, Interfaces.Unsigned_8); end SSO8_Pkg;