Lines Matching refs:tnf
60 _tnf_init_tags(TNF *tnf) in _tnf_init_tags() argument
62 if ((tnf->tag_table = calloc(TAGTABCNT, sizeof (struct taginfo *))) in _tnf_init_tags()
65 if ((tnf->tag_directory = calloc(TAGDIRCNT(tnf->directory_size), in _tnf_init_tags()
77 _tnf_fini_tags(TNF *tnf) in _tnf_fini_tags() argument
86 info = tnf->tag_table[i]; in _tnf_fini_tags()
102 free(tnf->tag_table); in _tnf_fini_tags()
103 tnf->tag_table = NULL; in _tnf_fini_tags()
104 free(tnf->tag_directory); in _tnf_fini_tags()
105 tnf->tag_directory = NULL; in _tnf_fini_tags()
115 _tnf_get_info(TNF *tnf, tnf_ref32_t *tag) in _tnf_get_info() argument
119 bucket = tnf->tag_table[TAGHASH(tnf, tag)]; in _tnf_get_info()
125 return (add_info(tnf, tag)); in _tnf_get_info()
134 _tnf_record_info(TNF *tnf, tnf_ref32_t *record) in _tnf_record_info() argument
141 ref32 = _GET_INT32(tnf, record); in _tnf_record_info()
151 if ((info = tnf->tag_directory[index]) != NULL) in _tnf_record_info()
154 info = _tnf_get_info(tnf, _tnf_get_tag(tnf, record)); in _tnf_record_info()
156 return ((tnf->tag_directory[index] = info)); in _tnf_record_info()
161 return (_tnf_get_info(tnf, _tnf_get_tag(tnf, record))); in _tnf_record_info()
169 add_info(TNF *tnf, tnf_ref32_t *tag) in add_info() argument
178 info->tnf = tnf; in add_info()
180 info->name = _tnf_get_name(tnf, tag); in add_info()
181 info->props = _tnf_get_props(tnf, tag); in add_info()
182 info->kind = _tnf_get_kind(tnf, tag); in add_info()
183 info->size = _tnf_get_storage_size(tnf, tag); in add_info()
184 info->align = _tnf_get_align(tnf, tag); in add_info()
187 hash = TAGHASH(tnf, tag); in add_info()
188 bucket = tnf->tag_table[hash]; in add_info()
190 tnf->tag_table[hash] = info; in add_info()
193 meta = _tnf_get_tag(tnf, tag); in add_info()
194 info->meta = _tnf_get_info(tnf, meta); in add_info()
202 return (init_derived_info(tnf, tag, info)); in add_info()
204 return (init_struct_info(tnf, tag, info)); in add_info()
206 return (init_array_info(tnf, tag, info)); in add_info()
208 return (init_scalar_info(tnf, tag, info)); in add_info()
210 return (init_abstract_info(tnf, tag, info)); in add_info()
220 init_abstract_info(TNF *tnf, tnf_ref32_t *tag, struct taginfo *info) in init_abstract_info() argument
224 _tnf_error(tnf, TNF_ERR_INTERNAL); in init_abstract_info()
226 _tnf_error(tnf, TNF_ERR_BADTNF); in init_abstract_info()
235 init_derived_info(TNF *tnf, tnf_ref32_t *tag, struct taginfo *info) in init_derived_info() argument
240 _tnf_error(tnf, TNF_ERR_INTERNAL); in init_derived_info()
243 base_tag = _tnf_get_base_tag(tnf, tag); in init_derived_info()
244 info->base = _tnf_get_info(tnf, base_tag); in init_derived_info()
255 init_scalar_info(TNF *tnf, tnf_ref32_t *tag, struct taginfo *info) in init_scalar_info() argument
259 _tnf_error(tnf, TNF_ERR_INTERNAL); in init_scalar_info()
261 _tnf_error(tnf, TNF_ERR_BADTNF); in init_scalar_info()
273 init_struct_info(TNF *tnf, tnf_ref32_t *tag, struct taginfo *info) in init_struct_info() argument
277 _tnf_error(tnf, TNF_ERR_INTERNAL); in init_struct_info()
279 _tnf_error(tnf, TNF_ERR_BADTNF); in init_struct_info()
282 init_slots(tnf, tag, info); in init_struct_info()
292 init_array_info(TNF *tnf, tnf_ref32_t *tag, struct taginfo *info) in init_array_info() argument
299 _tnf_error(tnf, TNF_ERR_INTERNAL); in init_array_info()
307 _tnf_error(tnf, TNF_ERR_BADTNF); in init_array_info()
310 info->hdrsize = _tnf_get_header_size(tnf, tag); in init_array_info()
314 _tnf_error(tnf, TNF_ERR_BADTNF); in init_array_info()
317 init_slots(tnf, tag, info); in init_array_info()
320 elt_tag = (tnf_ref32_t *)_tnf_get_slot_typed(tnf, tag, in init_array_info()
324 info->base = elt_tag ? _tnf_get_info(tnf, elt_tag): NULL; in init_array_info()
334 init_slots(TNF *tnf, tnf_ref32_t *tag, struct taginfo *info) in init_slots() argument
343 _tnf_get_slot_typed(tnf, tag, TNF_N_SLOT_TYPES); in init_slots()
346 _tnf_get_slot_typed(tnf, tag, TNF_N_SLOT_NAMES); in init_slots()
352 count = _tnf_get_element_count(tnf, slot_types, sizeof (tnf_ref32_t)); in init_slots()
354 types = (tnf_ref32_t *)_tnf_get_elements(tnf, slot_types); in init_slots()
357 (tnf_ref32_t *)_tnf_get_elements(tnf, slot_names)); in init_slots()
362 _tnf_error(tnf, TNF_ERR_ALLOCFAIL); in init_slots()
373 type_elt = _GET_REF32(tnf, &types[i]); in init_slots()
374 name_elt = names ? _GET_REF32(tnf, &names[i]) : TNF_NULL; in init_slots()
377 elt_info = _tnf_get_info(tnf, type_elt); in init_slots()
381 _tnf_get_chars(tnf, name_elt) : in init_slots()
382 _tnf_get_name(tnf, type_elt)); in init_slots()