DI_PATH
if (DI_PATH(path)->path_p_link != 0)
return (DI_PATH((void *)((caddr_t)path -
DI_PATH(path)->self + DI_PATH(path)->path_p_link)));
return (DI_PATH((caddr_t)node - DI_NODE(node)->self +
if (DI_PATH(path)->path_c_link != 0)
return (DI_PATH((caddr_t)path - DI_PATH(path)->self
+ DI_PATH(path)->path_c_link));
return (DI_PATH((caddr_t)node - DI_NODE(node)->self +
pa = (caddr_t)path - DI_PATH(path)->self;
(void) strncpy(buf, (char *)(pa + DI_PATH(path)->path_addr),
return ((di_path_state_t)DI_PATH(path)->path_state);
return (DI_PATH(path)->path_flags);
caddr_t pa = (caddr_t)path - DI_PATH(path)->self;
if (DI_PATH(path)->path_addr == 0)
return ((char *)(pa + DI_PATH(path)->path_addr));
return (DI_PATH(path)->path_instance);
pa = (caddr_t)path - DI_PATH(path)->self;
if (DI_PATH(path)->path_client) {
return (DI_NODE(pa + DI_PATH(path)->path_client));
if ((DI_PATH(path)->path_snap_state & DI_PATH_SNAP_NOCLIENT) == 0)
pa = (caddr_t)path - DI_PATH(path)->self;
if (DI_PATH(path)->path_phci) {
return (DI_NODE(pa + DI_PATH(path)->path_phci));
if ((DI_PATH(path)->path_snap_state & DI_PATH_SNAP_NOPHCI) == 0)
pa = (caddr_t)path - DI_PATH(path)->self;
if (DI_PATH(path)->path_prop != 0) {
return (DI_PATHPROP(pa + DI_PATH(path)->path_prop));
DI_PATH(path)->user_private_data = (uintptr_t)data;
return ((void *)(uintptr_t)DI_PATH(path)->user_private_data);
me = DI_PATH(di_mem_addr(st, stored_offset));
me = DI_PATH(di_mem_addr(st, off));