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;