class ArrayOfValues: byte_ct: le_u8 half_ct: le_u8 dword_ct: le_u8 byte_arr: repeating(le_u8, 'byte_ct') half_arr: repeating(le_u16, 'half_ct') dword_arr: repeating(be_u32, 'dword_ct')
class GroupNoCount: groups: repeating(Group, 'header_ctr.header.group_ct')
class GroupRoot: group_ct: le_u8 groups: repeating(Group, 'group_ct')
class Group: person_ct: le_u8 people: repeating(Person, 'person_ct')
class PersonRecord: header: Header people: repeating(Person, 'header.person_ct')
class DNSQuery: header: DNSHeader queries: repeating(Query, 'header.qdcount')
class Message: header: Header string_ct: le_u8 strings: repeating(string(None), 'string_ct') payloads: repeating(Payload, 'header.payload_ct')
class HasRepeats: name_ct: le_u8 names: repeating(string(None), 'name_ct') struct_ct: le_u8 structs: repeating(SomeStruct, 'struct_ct') labels: repeating_until_null(string(4))