If the DWARF standard isn't helping then all I can really suggest is reading some source code that implements .debug_line parsing. Maybe that will be more clear; or maybe reading it in conjunction with the DWARF standard will help. There are plenty of readers for this information; a relatively simple one is in the GNU binutils; grab the source and look for .debug_line decoding in "bfd/dwarf2.c".
As for a standard header, binutils also includes a dwarf2.h. But you are right -- I don't think there is a standard header, rather various projects (binutils, elfutils, libdwarf, probably others) make their own headers, generally derived from the DWARF spec.