Lines Matching refs:prop
1449 di_prop_next(di_node_t node, di_prop_t prop) in di_prop_next() argument
1464 if (prop != DI_PROP_NIL) in di_prop_next()
1465 list = DI_PROP(prop)->prop_list; in di_prop_next()
1470 prop = di_prop_drv_next(node, prop); in di_prop_next()
1473 prop = di_prop_sys_next(node, prop); in di_prop_next()
1476 prop = di_prop_global_next(node, prop); in di_prop_next()
1479 prop = di_prop_hw_next(node, prop); in di_prop_next()
1485 } while ((prop == DI_PROP_NIL) && (list <= DI_PROP_HW_LIST)); in di_prop_next()
1487 return (prop); in di_prop_next()
1491 di_prop_devt(di_prop_t prop) in di_prop_devt() argument
1493 return (makedev(DI_PROP(prop)->dev_major, DI_PROP(prop)->dev_minor)); in di_prop_devt()
1497 di_prop_name(di_prop_t prop) in di_prop_name() argument
1499 if (DI_PROP(prop)->prop_name == 0) in di_prop_name()
1502 return ((caddr_t)prop - DI_PROP(prop)->self + DI_PROP(prop)->prop_name); in di_prop_name()
1506 di_prop_type(di_prop_t prop) in di_prop_type() argument
1508 uint_t flags = DI_PROP(prop)->prop_flags; in di_prop_type()
1513 if (DI_PROP(prop)->prop_len == 0) in di_prop_type()
1549 di_prop_ints(di_prop_t prop, int **prop_data) in di_prop_ints() argument
1551 if (DI_PROP(prop)->prop_len == 0) in di_prop_ints()
1554 if ((DI_PROP(prop)->prop_data == 0) || in di_prop_ints()
1555 (DI_PROP(prop)->prop_data == (di_off_t)-1)) { in di_prop_ints()
1561 *prop_data = (int *)((void *)((caddr_t)prop - DI_PROP(prop)->self in di_prop_ints()
1562 + DI_PROP(prop)->prop_data)); in di_prop_ints()
1565 DI_PROP(prop)->prop_len, DI_PROP_TYPE_INT, 0)); in di_prop_ints()
1569 di_prop_int64(di_prop_t prop, int64_t **prop_data) in di_prop_int64() argument
1571 if (DI_PROP(prop)->prop_len == 0) in di_prop_int64()
1574 if ((DI_PROP(prop)->prop_data == 0) || in di_prop_int64()
1575 (DI_PROP(prop)->prop_data == (di_off_t)-1)) { in di_prop_int64()
1581 *prop_data = (int64_t *)((void *)((caddr_t)prop - DI_PROP(prop)->self in di_prop_int64()
1582 + DI_PROP(prop)->prop_data)); in di_prop_int64()
1585 DI_PROP(prop)->prop_len, DI_PROP_TYPE_INT64, 0)); in di_prop_int64()
1589 di_prop_strings(di_prop_t prop, char **prop_data) in di_prop_strings() argument
1591 if (DI_PROP(prop)->prop_len == 0) in di_prop_strings()
1594 if ((DI_PROP(prop)->prop_data == 0) || in di_prop_strings()
1595 (DI_PROP(prop)->prop_data == (di_off_t)-1)) { in di_prop_strings()
1601 *prop_data = (char *)((caddr_t)prop - DI_PROP(prop)->self in di_prop_strings()
1602 + DI_PROP(prop)->prop_data); in di_prop_strings()
1605 DI_PROP(prop)->prop_len, DI_PROP_TYPE_STRING, 0)); in di_prop_strings()
1609 di_prop_bytes(di_prop_t prop, uchar_t **prop_data) in di_prop_bytes() argument
1611 if (DI_PROP(prop)->prop_len == 0) in di_prop_bytes()
1614 if ((DI_PROP(prop)->prop_data == 0) || in di_prop_bytes()
1615 (DI_PROP(prop)->prop_data == (di_off_t)-1)) { in di_prop_bytes()
1621 *prop_data = (uchar_t *)((caddr_t)prop - DI_PROP(prop)->self in di_prop_bytes()
1622 + DI_PROP(prop)->prop_data); in di_prop_bytes()
1625 DI_PROP(prop)->prop_len, DI_PROP_TYPE_BYTE, 0)); in di_prop_bytes()
1632 match_prop(di_prop_t prop, dev_t match_dev, const char *name, int type) in match_prop() argument
1637 if (di_prop_name(prop) == NULL) { in match_prop()
1643 if (strcmp(name, di_prop_name(prop)) != 0) in match_prop()
1646 if ((match_dev != DDI_DEV_T_ANY) && (di_prop_devt(prop) != match_dev)) in match_prop()
1652 prop_type = di_prop_type(prop); in match_prop()
1664 di_prop_t prop = DI_PROP_NIL; in di_prop_search() local
1676 while ((prop = di_prop_next(node, prop)) != DI_PROP_NIL) { in di_prop_search()
1678 di_prop_name(prop), di_prop_devt(prop), in di_prop_search()
1679 di_prop_type(prop))); in di_prop_search()
1680 if (match_prop(prop, match_dev, name, type)) in di_prop_search()
1681 return (prop); in di_prop_search()
1690 di_prop_t prop = DI_PROP_NIL; in di_prop_find() local
1698 while ((prop = di_prop_next(node, prop)) != DI_PROP_NIL) { in di_prop_find()
1700 di_prop_name(prop), di_prop_devt(prop), in di_prop_find()
1701 di_prop_type(prop))); in di_prop_find()
1703 if (strcmp(name, di_prop_name(prop)) == 0 && in di_prop_find()
1705 di_prop_devt(prop) == match_dev)) in di_prop_find()
1706 return (prop); in di_prop_find()
1716 di_prop_t prop; in di_prop_lookup_ints() local
1718 if ((prop = di_prop_search(dev, node, prop_name, in di_prop_lookup_ints()
1722 return (di_prop_ints(prop, (void *)prop_data)); in di_prop_lookup_ints()
1729 di_prop_t prop; in di_prop_lookup_int64() local
1731 if ((prop = di_prop_search(dev, node, prop_name, in di_prop_lookup_int64()
1735 return (di_prop_int64(prop, (void *)prop_data)); in di_prop_lookup_int64()
1742 di_prop_t prop; in di_prop_lookup_strings() local
1744 if ((prop = di_prop_search(dev, node, prop_name, in di_prop_lookup_strings()
1748 return (di_prop_strings(prop, (void *)prop_data)); in di_prop_lookup_strings()
1755 di_prop_t prop; in di_prop_lookup_bytes() local
1757 if ((prop = di_prop_search(dev, node, prop_name, in di_prop_lookup_bytes()
1761 return (di_prop_bytes(prop, (void *)prop_data)); in di_prop_lookup_bytes()
1775 di_prop_next_common(di_node_t node, di_prop_t prop, int prop_type) in di_prop_next_common() argument
1780 if (prop != DI_PROP_NIL) { in di_prop_next_common()
1781 if (DI_PROP(prop)->next) { in di_prop_next_common()
1782 return (DI_PROP((caddr_t)prop - in di_prop_next_common()
1783 DI_PROP(prop)->self + DI_PROP(prop)->next)); in di_prop_next_common()
1835 di_prop_drv_next(di_node_t node, di_prop_t prop) in di_prop_drv_next() argument
1837 return (di_prop_next_common(node, prop, PROP_TYPE_DRV)); in di_prop_drv_next()
1841 di_prop_sys_next(di_node_t node, di_prop_t prop) in di_prop_sys_next() argument
1843 return (di_prop_next_common(node, prop, PROP_TYPE_SYS)); in di_prop_sys_next()
1847 di_prop_global_next(di_node_t node, di_prop_t prop) in di_prop_global_next() argument
1849 return (di_prop_next_common(node, prop, PROP_TYPE_GLOB)); in di_prop_global_next()
1853 di_prop_hw_next(di_node_t node, di_prop_t prop) in di_prop_hw_next() argument
1855 return (di_prop_next_common(node, prop, PROP_TYPE_HW)); in di_prop_hw_next()
1859 di_prop_rawdata(di_prop_t prop, uchar_t **prop_data) in di_prop_rawdata() argument
1862 if (prop == DI_PROP_NIL) { in di_prop_rawdata()
1868 if (DI_PROP(prop)->prop_len == 0) { in di_prop_rawdata()
1873 if ((DI_PROP(prop)->prop_data == 0) || in di_prop_rawdata()
1874 (DI_PROP(prop)->prop_data == (di_off_t)-1)) { in di_prop_rawdata()
1883 *prop_data = (uchar_t *)((caddr_t)prop - DI_PROP(prop)->self + in di_prop_rawdata()
1884 DI_PROP(prop)->prop_data); in di_prop_rawdata()
1886 return (DI_PROP(prop)->prop_len); in di_prop_rawdata()
2130 di_path_prop_next(di_path_t path, di_path_prop_t prop) in di_path_prop_next() argument
2142 if (prop != DI_PROP_NIL) { in di_path_prop_next()
2143 if (DI_PROP(prop)->next != 0) in di_path_prop_next()
2144 return (DI_PATHPROP((caddr_t)prop - in di_path_prop_next()
2145 DI_PROP(prop)->self + DI_PROP(prop)->next)); in di_path_prop_next()
2173 di_path_prop_name(di_path_prop_t prop) in di_path_prop_name() argument
2176 pa = (caddr_t)prop - DI_PATHPROP(prop)->self; in di_path_prop_name()
2177 return ((char *)(pa + DI_PATHPROP(prop)->prop_name)); in di_path_prop_name()
2181 di_path_prop_len(di_path_prop_t prop) in di_path_prop_len() argument
2183 return (DI_PATHPROP(prop)->prop_len); in di_path_prop_len()
2187 di_path_prop_type(di_path_prop_t prop) in di_path_prop_type() argument
2189 switch (DI_PATHPROP(prop)->prop_type) { in di_path_prop_type()
2203 di_path_prop_bytes(di_path_prop_t prop, uchar_t **prop_data) in di_path_prop_bytes() argument
2205 if ((DI_PATHPROP(prop)->prop_data == 0) || in di_path_prop_bytes()
2206 (DI_PATHPROP(prop)->prop_data == (di_off_t)-1)) { in di_path_prop_bytes()
2212 *prop_data = (uchar_t *)((caddr_t)prop - DI_PATHPROP(prop)->self in di_path_prop_bytes()
2213 + DI_PATHPROP(prop)->prop_data); in di_path_prop_bytes()
2216 DI_PATHPROP(prop)->prop_len, DI_PROP_TYPE_BYTE, 0)); in di_path_prop_bytes()
2220 di_path_prop_ints(di_path_prop_t prop, int **prop_data) in di_path_prop_ints() argument
2222 if (DI_PATHPROP(prop)->prop_len == 0) in di_path_prop_ints()
2225 if ((DI_PATHPROP(prop)->prop_data == 0) || in di_path_prop_ints()
2226 (DI_PATHPROP(prop)->prop_data == (di_off_t)-1)) { in di_path_prop_ints()
2232 *prop_data = (int *)((void *)((caddr_t)prop - DI_PATHPROP(prop)->self in di_path_prop_ints()
2233 + DI_PATHPROP(prop)->prop_data)); in di_path_prop_ints()
2236 DI_PATHPROP(prop)->prop_len, DI_PROP_TYPE_INT, 0)); in di_path_prop_ints()
2240 di_path_prop_int64s(di_path_prop_t prop, int64_t **prop_data) in di_path_prop_int64s() argument
2242 if (DI_PATHPROP(prop)->prop_len == 0) in di_path_prop_int64s()
2245 if ((DI_PATHPROP(prop)->prop_data == 0) || in di_path_prop_int64s()
2246 (DI_PATHPROP(prop)->prop_data == (di_off_t)-1)) { in di_path_prop_int64s()
2252 *prop_data = (int64_t *)((void *)((caddr_t)prop - in di_path_prop_int64s()
2253 DI_PATHPROP(prop)->self + DI_PATHPROP(prop)->prop_data)); in di_path_prop_int64s()
2256 DI_PATHPROP(prop)->prop_len, DI_PROP_TYPE_INT64, 0)); in di_path_prop_int64s()
2260 di_path_prop_strings(di_path_prop_t prop, char **prop_data) in di_path_prop_strings() argument
2262 if (DI_PATHPROP(prop)->prop_len == 0) in di_path_prop_strings()
2265 if ((DI_PATHPROP(prop)->prop_data == 0) || in di_path_prop_strings()
2266 (DI_PATHPROP(prop)->prop_data == (di_off_t)-1)) { in di_path_prop_strings()
2272 *prop_data = (char *)((caddr_t)prop - DI_PATHPROP(prop)->self in di_path_prop_strings()
2273 + DI_PATHPROP(prop)->prop_data); in di_path_prop_strings()
2276 DI_PATHPROP(prop)->prop_len, DI_PROP_TYPE_STRING, 0)); in di_path_prop_strings()
2282 di_path_prop_t prop = DI_PROP_NIL; in di_path_prop_search() local
2293 while ((prop = di_path_prop_next(path, prop)) != DI_PROP_NIL) { in di_path_prop_search()
2294 int prop_type = di_path_prop_type(prop); in di_path_prop_search()
2297 di_path_prop_name(prop), prop_type)); in di_path_prop_search()
2299 if (strcmp(name, di_path_prop_name(prop)) != 0) in di_path_prop_search()
2305 return (prop); in di_path_prop_search()
2315 di_path_prop_t prop; in di_path_prop_lookup_bytes() local
2317 if ((prop = di_path_prop_search(path, prop_name, in di_path_prop_lookup_bytes()
2321 return (di_path_prop_bytes(prop, prop_data)); in di_path_prop_lookup_bytes()
2328 di_path_prop_t prop; in di_path_prop_lookup_ints() local
2330 if ((prop = di_path_prop_search(path, prop_name, in di_path_prop_lookup_ints()
2334 return (di_path_prop_ints(prop, prop_data)); in di_path_prop_lookup_ints()
2341 di_path_prop_t prop; in di_path_prop_lookup_int64s() local
2343 if ((prop = di_path_prop_search(path, prop_name, in di_path_prop_lookup_int64s()
2347 return (di_path_prop_int64s(prop, prop_data)); in di_path_prop_lookup_int64s()
2353 di_path_prop_t prop; in di_path_prop_lookup_strings() local
2355 if ((prop = di_path_prop_search(path, prop_name, in di_path_prop_lookup_strings()
2359 return (di_path_prop_strings(prop, prop_data)); in di_path_prop_lookup_strings()
2900 struct di_prom_prop *prop = (struct di_prom_prop *)prom_prop; in di_prom_prop_found() local
2919 (void) strcpy(opp->oprom_array, prop->name); in di_prom_prop_found()
2928 if ((prop = malloc(sizeof (struct di_prom_prop))) == NULL) in di_prom_prop_found()
2934 if ((prop->name = strdup(opp->oprom_array)) == NULL) { in di_prom_prop_found()
2935 free(prop); in di_prom_prop_found()
2946 free(prop->name); in di_prom_prop_found()
2947 free(prop); in di_prom_prop_found()
2954 prop->len = opp->oprom_size; in di_prom_prop_found()
2956 if (prop->len == 0) in di_prom_prop_found()
2957 prop->data = NULL; in di_prom_prop_found()
2958 else if ((prop->data = malloc(prop->len)) == NULL) { in di_prom_prop_found()
2959 free(prop->name); in di_prom_prop_found()
2960 free(prop); in di_prom_prop_found()
2964 bcopy(opp->oprom_array, prop->data, prop->len); in di_prom_prop_found()
2969 prop->next = p->list; in di_prom_prop_found()
2970 p->list = prop; in di_prom_prop_found()
2972 return ((di_prom_prop_t)prop); in di_prom_prop_found()
3050 struct di_prom_prop *prop; in di_prom_prop_lookup_common() local
3097 if ((prop = malloc(sizeof (struct di_prom_prop))) == NULL) { in di_prom_prop_lookup_common()
3101 prop->name = NULL; /* we don't need the name */ in di_prom_prop_lookup_common()
3102 prop->len = opp->oprom_len; in di_prom_prop_lookup_common()
3104 if (prop->len == 0) { /* boolean property */ in di_prom_prop_lookup_common()
3105 prop->data = NULL; in di_prom_prop_lookup_common()
3106 prop->next = p->list; in di_prom_prop_lookup_common()
3107 p->list = prop; in di_prom_prop_lookup_common()
3109 return (prop); in di_prom_prop_lookup_common()
3123 free(prop); in di_prom_prop_lookup_common()
3130 if ((prop->data = malloc(prop->len)) == NULL) { in di_prom_prop_lookup_common()
3132 free(prop); in di_prom_prop_lookup_common()
3136 bcopy(opp->oprom_array, prop->data, prop->len); in di_prom_prop_lookup_common()
3138 prop->next = p->list; in di_prom_prop_lookup_common()
3139 p->list = prop; in di_prom_prop_lookup_common()
3142 return (prop); in di_prom_prop_lookup_common()
3150 struct di_prom_prop *prop; in di_prom_prop_lookup_ints() local
3152 prop = di_prom_prop_lookup_common(ph, node, prom_prop_name); in di_prom_prop_lookup_ints()
3154 if (prop == NULL) { in di_prom_prop_lookup_ints()
3159 if (prop->len == 0) { /* boolean property */ in di_prom_prop_lookup_ints()
3164 len = di_prop_decode_common((void *)&prop->data, prop->len, in di_prom_prop_lookup_ints()
3166 *prom_prop_data = (int *)((void *)prop->data); in di_prom_prop_lookup_ints()
3176 struct di_prom_prop *prop; in di_prom_prop_lookup_strings() local
3178 prop = di_prom_prop_lookup_common(ph, node, prom_prop_name); in di_prom_prop_lookup_strings()
3180 if (prop == NULL) { in di_prom_prop_lookup_strings()
3185 if (prop->len == 0) { /* boolean property */ in di_prom_prop_lookup_strings()
3194 if (((char *)prop->data)[prop->len - 1] != '\0') { in di_prom_prop_lookup_strings()
3196 prop->len++; in di_prom_prop_lookup_strings()
3197 if ((tmp = realloc(prop->data, prop->len)) == NULL) in di_prom_prop_lookup_strings()
3200 prop->data = tmp; in di_prom_prop_lookup_strings()
3201 ((char *)prop->data)[prop->len - 1] = '\0'; in di_prom_prop_lookup_strings()
3204 di_node_name(node), prom_prop_name, prop->data)); in di_prom_prop_lookup_strings()
3207 len = di_prop_decode_common((void *)&prop->data, prop->len, in di_prom_prop_lookup_strings()
3209 *prom_prop_data = (char *)prop->data; in di_prom_prop_lookup_strings()
3219 struct di_prom_prop *prop; in di_prom_prop_lookup_bytes() local
3221 prop = di_prom_prop_lookup_common(ph, node, prom_prop_name); in di_prom_prop_lookup_bytes()
3223 if (prop == NULL) { in di_prom_prop_lookup_bytes()
3228 if (prop->len == 0) { /* boolean property */ in di_prom_prop_lookup_bytes()
3233 len = di_prop_decode_common((void *)&prop->data, prop->len, in di_prom_prop_lookup_bytes()
3235 *prom_prop_data = prop->data; in di_prom_prop_lookup_bytes()
3246 di_prop_slot_names(di_prop_t prop, di_slot_name_t **prop_data) in di_prop_slot_names() argument
3250 char *nm = di_prop_name(prop); in di_prop_slot_names()
3255 rawlen = di_prop_rawdata(prop, &rawdata); in di_prop_slot_names()
3275 di_prop_t prop; in di_prop_lookup_slot_names() local
3281 if ((prop = di_prop_find(dev, node, DI_PROP_SLOT_NAMES)) == in di_prop_lookup_slot_names()
3287 return (di_prop_slot_names(prop, (void *)prop_data)); in di_prop_lookup_slot_names()