Lines Matching refs:dir
122 sbp2_cfgrom_ent_t *dir = pa->pa_dir; /* directory being parsed */ in sbp2_cfgrom_parse_dir() local
133 this_pa.pa_pdir = dir; in sbp2_cfgrom_parse_dir()
138 SBP2_CFGROM_RQ(tp, cmd, dir->ce_offset, &entry); in sbp2_cfgrom_parse_dir()
139 dir->ce_len = IEEE1212_DIR_LEN(entry); in sbp2_cfgrom_parse_dir()
140 sbp2_cfgrom_dir_grow(&dir->ce_data.dir, dir->ce_len); in sbp2_cfgrom_parse_dir()
143 addr = dir->ce_offset + 4; in sbp2_cfgrom_parse_dir()
144 for (i = 0; i < dir->ce_len; i++, addr += 4) { in sbp2_cfgrom_parse_dir()
148 cep = sbp2_cfgrom_dir_new_ent(&dir->ce_data.dir); in sbp2_cfgrom_parse_dir()
164 if (dir->ce_kv != IEEE1212_TEXTUAL_DESCRIPTOR) { in sbp2_cfgrom_parse_dir()
267 sbp2_cfgrom_dir_grow(sbp2_cfgrom_dir_t *dir, int incr) in sbp2_cfgrom_dir_grow() argument
274 new_size = (dir->cd_size + incr) * sizeof (sbp2_cfgrom_ent_t); in sbp2_cfgrom_dir_grow()
276 if (dir->cd_size > 0) { in sbp2_cfgrom_dir_grow()
277 old_size = dir->cd_size * sizeof (sbp2_cfgrom_ent_t); in sbp2_cfgrom_dir_grow()
278 bcopy(dir->cd_ent, new_ent, old_size); in sbp2_cfgrom_dir_grow()
279 kmem_free(dir->cd_ent, old_size); in sbp2_cfgrom_dir_grow()
281 dir->cd_ent = new_ent; in sbp2_cfgrom_dir_grow()
282 dir->cd_size += incr; in sbp2_cfgrom_dir_grow()
286 sbp2_cfgrom_dir_new_ent(sbp2_cfgrom_dir_t *dir) in sbp2_cfgrom_dir_new_ent() argument
289 if (dir->cd_cnt >= dir->cd_size) { in sbp2_cfgrom_dir_new_ent()
290 ASSERT(dir->cd_cnt == dir->cd_size); in sbp2_cfgrom_dir_new_ent()
291 sbp2_cfgrom_dir_grow(dir, SBP2_CFGROM_GROW_INCR); in sbp2_cfgrom_dir_new_ent()
294 return (&dir->cd_ent[dir->cd_cnt++]); in sbp2_cfgrom_dir_new_ent()
301 sbp2_cfgrom_walk(sbp2_cfgrom_ent_t *dir, in sbp2_cfgrom_walk() argument
304 ASSERT(dir->ce_kt == IEEE1212_DIRECTORY_TYPE); in sbp2_cfgrom_walk()
305 (void) sbp2_cfgrom_walk_impl(dir, func, arg, 0); in sbp2_cfgrom_walk()
309 sbp2_cfgrom_walk_impl(sbp2_cfgrom_ent_t *dir, in sbp2_cfgrom_walk_impl() argument
315 for (i = 0; i < dir->ce_data.dir.cd_cnt; i++) { in sbp2_cfgrom_walk_impl()
316 ent = &dir->ce_data.dir.cd_ent[i]; in sbp2_cfgrom_walk_impl()
332 sbp2_cfgrom_ent_by_key(sbp2_cfgrom_ent_t *dir, int8_t kt, int8_t kv, int num) in sbp2_cfgrom_ent_by_key() argument
341 sbp2_cfgrom_walk(dir, sbp2_cfgrom_ent_by_key_walker, &ebk); in sbp2_cfgrom_ent_by_key()
371 sbp2_cfgrom_walk_free(sbp2_cfgrom_ent_t *dir) in sbp2_cfgrom_walk_free() argument
374 sbp2_cfgrom_dir_t *cdp = &dir->ce_data.dir; in sbp2_cfgrom_walk_free()