with System.Address_To_Access_Conversions;

generic
   type Data is private;
   Default_Value : Data;
package Generic_Memory_Map is
   procedure Open (Name : String);

   procedure Close;

   function Is_Open return Boolean;

   package References is
      new System.Address_To_Access_Conversions (Data);

   subtype Data_Reference is References.Object_Pointer;

   function Get return Data_Reference;
end Generic_Memory_Map;

