Lines Matching refs:tnf
39 TNF *tnf; in tnf_reader_begin() local
61 if ((tnf = (TNF*)calloc(1, sizeof (*tnf))) == (TNF*)NULL) in tnf_reader_begin()
64 tnf->file_magic = magic; in tnf_reader_begin()
65 tnf->file_native = native; in tnf_reader_begin()
66 tnf->file_start = base; in tnf_reader_begin()
67 tnf->file_size = size; in tnf_reader_begin()
68 tnf->file_end = base + size; in tnf_reader_begin()
76 tnf->file_header = fhdr; in tnf_reader_begin()
79 p = _tnf_get_slot_named(tnf, fhdr, TNF_N_BLOCK_SIZE); in tnf_reader_begin()
81 tnf->block_size = _GET_UINT32(tnf, (tnf_uint32_t *)p); in tnf_reader_begin()
84 p = _tnf_get_slot_named(tnf, fhdr, TNF_N_DIRECTORY_SIZE); in tnf_reader_begin()
86 tnf->directory_size = _GET_UINT32(tnf, (tnf_uint32_t *)p); in tnf_reader_begin()
89 p = _tnf_get_slot_named(tnf, fhdr, TNF_N_BLOCK_COUNT); in tnf_reader_begin()
91 tnf->block_count = _GET_UINT32(tnf, (tnf_uint32_t *)p); in tnf_reader_begin()
96 tnf->block_count -= tnf->directory_size / tnf->block_size; in tnf_reader_begin()
103 tmpsz = tnf->directory_size + tnf->block_count * tnf->block_size; in tnf_reader_begin()
109 tnf->file_size = tmpsz; in tnf_reader_begin()
110 tnf->file_end = base + tmpsz; in tnf_reader_begin()
116 while (tmpsz != tnf->block_size) { in tnf_reader_begin()
118 tnf->block_shift++; in tnf_reader_begin()
122 tnf->block_mask = ~(tnf->block_size - 1); in tnf_reader_begin()
125 p = _tnf_get_slot_named(tnf, fhdr, TNF_N_FILE_LOGICAL_SIZE); in tnf_reader_begin()
127 tnf->generation_shift = _GET_UINT32(tnf, (tnf_uint32_t *)p); in tnf_reader_begin()
135 tnf->address_mask = 0xffffffff; in tnf_reader_begin()
136 tnf->address_mask <<= tnf->generation_shift; in tnf_reader_begin()
137 tnf->address_mask = ~(tnf->address_mask); in tnf_reader_begin()
144 tnf->data_start = tnf->file_start + tnf->directory_size; in tnf_reader_begin()
146 bhdr = (tnf_ref32_t *)tnf->data_start; in tnf_reader_begin()
149 genp = _tnf_get_slot_named(tnf, bhdr, TNF_N_GENERATION); in tnf_reader_begin()
150 tnf->block_generation_offset = genp - (caddr_t)bhdr; in tnf_reader_begin()
153 bvp = _tnf_get_slot_named(tnf, bhdr, TNF_N_BYTES_VALID); in tnf_reader_begin()
154 tnf->block_bytes_valid_offset = bvp - (caddr_t)bhdr; in tnf_reader_begin()
160 if ((err = _tnf_init_tags(tnf)) != TNF_ERR_NONE) in tnf_reader_begin()
163 tnf->file_header_info = _tnf_get_info(tnf, _tnf_get_tag(tnf, fhdr)); in tnf_reader_begin()
164 tnf->block_header_info = _tnf_get_info(tnf, _tnf_get_tag(tnf, bhdr)); in tnf_reader_begin()
170 *tnfret = tnf; in tnf_reader_begin()
179 tnf_reader_end(TNF *tnf) in tnf_reader_end() argument
184 if ((err = _tnf_fini_tags(tnf)) != TNF_ERR_NONE) in tnf_reader_end()
188 free(tnf); in tnf_reader_end()