def header
      return @header if defined?(@header)

      stream.pos = 0
      @header = Structs::ELF_Ehdr.new(endian: endian, offset: stream.pos)
      @header.elf_class = elf_class
      @header.read(stream)
    end
def header
      return @header if defined?(@header)

      stream.pos = 0
      @header = Structs::ELF_Ehdr.new(endian: endian, offset: stream.pos)
      @header.elf_class = elf_class
      @header.read(stream)
    end
@return [Symbol] +:little+ or +:big+.
 Instantiate an {ELFFile} object.

 @param [#pos=, #read] stream
   The +File+ object to be fetch information from.
 @example
   ELFFile.new(File.open('/bin/cat'))
   #=> #<ELFTools::ELFFile:0x00564b106c32a0 @elf_class=64, @endian=:little, @stream=#<File:/bin/cat>>
 Return the file header.

 Lazy loading.
 @return [ELFTools::Structs::ELF_Ehdr] The header.