Lines Matching refs:np

36 	ses_node_t *np;
38 for (np = sp->ss_root->sn_first_child; np != NULL;
39 np = np->sn_next_sibling) {
40 ASSERT(np->sn_type == SES_NODE_ENCLOSURE);
41 if (np->sn_enc_num == number)
42 return ((ses_node_t *)np);
59 ses_node_teardown(ses_node_t *np)
63 if (np == NULL)
66 for (; np != NULL; np = rp) {
67 ses_node_teardown(np->sn_first_child);
68 rp = np->sn_next_sibling;
69 nvlist_free(np->sn_props);
70 ses_free(np);
77 ses_node_t *np;
79 np = ses_zalloc(sizeof (ses_node_t));
80 if (np == NULL)
82 if (nvlist_alloc(&np->sn_props, NV_UNIQUE_NAME, 0) != 0)
85 np->sn_snapshot = sp;
86 np->sn_id = sp->ss_n_nodes++;
90 sp->ss_root = np;
92 np->sn_parent = pnp;
93 np->sn_prev_sibling = pnp->sn_last_child;
96 pnp->sn_first_child = np;
98 pnp->sn_last_child->sn_next_sibling = np;
100 pnp->sn_last_child = np;
103 return (np);
106 ses_free(np);
138 ses_node_t *np, *pnp, *cnp, *root;
200 if ((np = ses_node_alloc(sp, root)) == NULL)
203 np->sn_type = SES_NODE_ENCLOSURE;
204 np->sn_enc_num = eip->st_hdr.sehi_subenclosure_id;
211 if (enc_parse_ed(eip, np->sn_props) != 0)
268 if ((np = ses_node_alloc(sp, pnp)) == NULL)
271 np->sn_type = SES_NODE_AGGREGATE;
272 np->sn_enc_num = tip->sthi_subenclosure_id;
273 np->sn_parent = pnp;
274 np->sn_rootidx = idx;
276 SES_NV_ADD(uint64, err, np->sn_props,
278 SES_NV_ADD(uint64, err, np->sn_props,
290 if (elem_parse_td(tip, text, np->sn_props) != 0)
299 cnp = ses_node_alloc(sp, np);
305 SES_PROP_ELEMENT_INDEX, np->sn_rootidx + j + 1);
317 np->sn_snapshot->ss_n_elem = idx;
323 ses_fill_tree(ses_node_t *np)
325 if (np == NULL)
328 for (; np != NULL; np = np->sn_next_sibling) {
329 if (ses_fill_node(np) != 0)
331 if (ses_fill_tree(np->sn_first_child) != 0)
357 ses_node_sibling(ses_node_t *np)
359 return (np->sn_next_sibling);
363 ses_node_prev_sibling(ses_node_t *np)
365 return (np->sn_prev_sibling);
369 ses_node_parent(ses_node_t *np)
371 return (np->sn_parent);
375 ses_node_child(ses_node_t *np)
377 return (np->sn_first_child);
381 ses_node_type(ses_node_t *np)
383 return (np->sn_type);
387 ses_node_snapshot(ses_node_t *np)
389 return ((ses_snap_t *)np->sn_snapshot);
393 ses_node_target(ses_node_t *np)
395 return (np->sn_snapshot->ss_target);
399 ses_node_props(ses_node_t *np)
401 return (np->sn_props);
410 ses_node_id(ses_node_t *np)
412 return (((uint64_t)np->sn_snapshot->ss_generation << 32) |
413 np->sn_id);