with Text_Io; use Text_Io; package body Gmface.Gm_Case is function Filetype (Filename : in String) return Work_Enum is File : File_Type; begin Open(File, In_File, Filename); declare Line : constant String := Get_Line(File); begin if Line'Length >= 4 then if Line(1..4) = Gmidi_Header then Close(File); return Gmidi_Work; elsif Line(1..4) = Gmface_Header then Close(File); return Gmface_Work; else Close(File); raise Program_Error; end if; else Close(File); raise Program_Error; end if; end; end Filetype; end Gmface.Gm_Case;