func()

in image/map.go [67:98]


func (img *Image) Map() (map[string]interface{}, error) {
	offs, err := img.Offsets()
	if err != nil {
		return nil, err
	}

	m := map[string]interface{}{}
	m["header"] = img.Header.Map(offs.Header)
	m["body"] = rawBodyMap(offs.Body)

	if img.Header.ProtSz > 0 {
		protTrailer := img.ProtTrailer()
		m["prot_trailer"] = protTrailer.Map(offs.ProtTrailer)
	}

	trailer := img.Trailer()
	m["trailer"] = trailer.Map(offs.Trailer)

	tlvMaps := []map[string]interface{}{}
	for i, tlv := range img.Tlvs {
		tlvMaps = append(tlvMaps, tlv.Map(i, offs.Tlvs[i]))
	}
	m["tlvs"] = tlvMaps

	protTlvMaps := []map[string]interface{}{}
	for i, tlv := range img.ProtTlvs {
		protTlvMaps = append(protTlvMaps, tlv.Map(i, offs.ProtTlvs[i]))
	}
	m["prot_tlvs"] = protTlvMaps

	return m, nil
}