Lines Matching defs:prop
290 uint64_t ei_count; /* Number of prop values */
303 const char *ei_prop_name; /* Name of prop */
332 pgroup_t *ite_pg; /* Non-conforming prop. group */
623 property_t *prop;
625 for (prop = uu_list_first(pg->sc_pgroup_props);
626 prop != NULL;
627 prop = uu_list_next(pg->sc_pgroup_props, prop)) {
628 if (uu_avl_find(tree, prop, NULL, &marker) == NULL) {
637 uu_avl_insert(tree, prop, marker);
774 * Return the number of values in prop.
777 count_prop_values(property_t *prop)
779 return (uu_list_numnodes(prop->sc_property_values));
996 property_t *prop;
1000 prop = property_find(pg, prop_name);
1001 if (prop == NULL) {
1004 assert(prop->sc_value_type == SCF_TYPE_ASTRING);
1005 av = av_create(count_prop_values(prop), type);
1010 for ((v = uu_list_first(prop->sc_property_values)), i = 0;
1012 (v = uu_list_next(prop->sc_property_values, v)), i++) {
1035 property_t *prop;
1038 prop = property_find(pg, prop_name);
1039 if (prop == NULL)
1041 if (prop->sc_value_type != SCF_TYPE_ASTRING)
1043 v = uu_list_first(prop->sc_property_values);
1051 * prop. Return the value to count.
1054 find_count_value(property_t *prop, uint64_t *count)
1058 assert(prop->sc_value_type == SCF_TYPE_COUNT);
1059 value = uu_list_first(prop->sc_property_values);
1096 property_t *prop;
1101 prop = property_find(pg, SCF_PROPERTY_RESTARTER);
1102 if ((prop != NULL) && (prop->sc_value_type == SCF_TYPE_FMRI)) {
1103 v = uu_list_first(prop->sc_property_values);
1126 property_t *prop;
1132 prop = property_find(prop_pattern,
1134 if (prop == NULL)
1136 rc = find_count_value(prop, min);
1140 prop = property_find(prop_pattern,
1142 if (prop == NULL)
1144 rc = find_count_value(prop, max);
1263 /* Construct the prop pattern property group name. */
1675 property_t *prop, value_t *val, error_info_t *einfo)
1693 if (prop != NULL) {
1694 ed[ED_PROP_NAME] = prop->sc_property_name;
1820 property_t *prop, value_t *val, error_info_t *einfo)
1833 ite->ite_prop = prop;
1994 property_t *prop;
2000 prop = uu_avl_next(cpg->cpg_composed_props, current);
2002 prop = uu_avl_first(cpg->cpg_composed_props);
2007 prop = uu_list_next(pg->sc_pgroup_props, current);
2009 prop = uu_list_first(pg->sc_pgroup_props);
2013 return (prop);
2496 * 0 The property at prop does not have the specified
2498 * non-zero The property at prop does have the specified type.
2501 property_is_type(property_t *prop, scf_type_t type)
2503 return (scf_is_compatible_type(type, prop->sc_value_type) ==
2592 property_t *prop;
2615 for (prop = uu_list_first(ptrn->sc_pgroup_props);
2616 prop != NULL;
2617 prop = uu_list_next(ptrn->sc_pgroup_props, prop)) {
2621 if (strncmp(prop->sc_property_name, pfx,
3078 * This function finds the prop_pattern for the property, prop. e is the
3084 property_t *prop, pgroup_t **prop_pattern)
3096 prop->sc_property_name, &prop_pattern_name);
3274 * cardinality of the property at prop. The cardinality of the property is
3277 * pg is the property group that holds prop, and pg_pattern is the
3282 tmpl_validate_cardinality(pgroup_t *prop_pattern, property_t *prop,
3311 count = count_prop_values(prop);
3319 pg_pattern, pg, prop_pattern, prop, NULL, &einfo);
3491 * values of the property at prop.
3493 * pg is the property group that holds prop, and pg_pattern is the
3498 tmpl_validate_value_range(pgroup_t *pattern, property_t *prop, pgroup_t *pg,
3515 type = prop->sc_value_type;
3524 pg_pattern, pg, pattern, prop, NULL, &einfo);
3527 if ((rc = get_ranges(range_prop, prop->sc_value_type, &ranges,
3535 pg_pattern, pg, pattern, prop, NULL, &einfo);
3545 for (v = uu_list_first(prop->sc_property_values);
3547 v = uu_list_next(prop->sc_property_values, v)) {
3557 pg, pattern, prop, v, &einfo) != 0) {
3567 * for the property at prop are legal values.
3569 * pg is the property group that holds prop, and pg_pattern is the
3574 tmpl_validate_values(pgroup_t *prop_pattern, property_t *prop, pgroup_t *pg,
3586 prop->sc_value_type, &legal);
3590 pg, prop_pattern, prop, NULL, NULL);
3604 for (v = uu_list_first(prop->sc_property_values);
3606 v = uu_list_next(prop->sc_property_values, v)) {
3636 prop_pattern, prop, v, NULL) != 0) {
3652 * Verify the following items about the values of property, prop.
3660 * pg is the property group that holds prop, and pg_pattern is the
3665 tmpl_validate_value_constraints(pgroup_t *pattern, property_t *prop,
3671 rc = tmpl_validate_value_range(pattern, prop, pg, pg_pattern, errs);
3672 r = tmpl_validate_values(pattern, prop, pg, pg_pattern, errs);
3680 * Perform the following validations on the property, prop.
3688 * pg is the property group that holds prop, and pg_pattern is the
3693 tmpl_validate_prop(property_t *prop, pgroup_t *tmpl, pgroup_t *pg,
3718 if (property_is_type(prop, type) == 0) {
3725 prop->sc_value_type;
3727 pg_pattern, pg, tmpl, prop, NULL, &einfo);
3749 r = tmpl_validate_cardinality(tmpl, prop, pg, pg_pattern, errs);
3754 r = tmpl_validate_value_constraints(tmpl, prop, pg, pg_pattern, errs);
3775 property_t *prop;
3845 prop = NULL;
3846 while ((prop = next_property(pg, prop)) != NULL) {
3847 r = tmpl_find_prop_pattern(e, pg_pattern, prop, &prop_pattern);
3867 r = tmpl_validate_prop(prop, prop_pattern, pg, pg_pattern,