Lines Matching defs:value

74  * Generic value holder for the property types we support. The type
75 * identifies which value in the union is defined and we expect callers to
76 * already know which type yields which value.
94 } value;
358 free(p->value.s);
528 parse_hex(const char *value, unsigned int *parsed)
530 return strneq(value, "0x", 2) &&
531 safe_atou_base(value, parsed, 16) &&
532 strspn(value, "0123456789xABCDEF") == strlen(value) &&
541 * @param value The banana part of the line.
549 const char *value)
558 assert(strlen(value) >= 1);
562 s->match.name = safe_strdup(value);
565 if (streq(value, "usb"))
567 else if (streq(value, "bluetooth"))
569 else if (streq(value, "ps2"))
571 else if (streq(value, "rmi"))
573 else if (streq(value, "i2c"))
575 else if (streq(value, "spi"))
583 if (!parse_hex(value, &vendor))
591 if (!parse_hex(value, &product))
599 if (!parse_hex(value, &version))
605 if (!strneq(value, "dmi:", 4)) {
611 s->match.dmi = safe_strdup(value);
614 if (streq(value, "touchpad"))
616 else if (streq(value, "mouse"))
618 else if (streq(value, "pointingstick"))
620 else if (streq(value, "keyboard"))
622 else if (streq(value, "joystick"))
624 else if (streq(value, "tablet"))
626 else if (streq(value, "tablet-pad"))
632 s->match.dt = safe_strdup(value);
650 * @param value The value after the =, must be 1 or 0.
658 const char *value)
665 if (!parse_boolean_property(value, &b))
673 p->value.b = b;
690 * @param value The banana part of the line.
700 const char *value)
712 if (!parse_dimension_property(value, &dim.x, &dim.y))
715 p->value.dim = dim;
719 if (!parse_range_property(value, &range.upper, &range.lower))
722 p->value.range = range;
726 if (!safe_atou(value, &v))
729 p->value.u = v;
733 if (!streq(value, "reliable") &&
734 !streq(value, "write_open") &&
735 !streq(value, "unreliable"))
738 p->value.s = safe_strdup(value);
742 if (!streq(value, "internal") && !streq(value, "external"))
745 p->value.s = safe_strdup(value);
749 if (!streq(value, "internal") && !streq(value, "external"))
752 p->value.s = safe_strdup(value);
756 if (!streq(value, "below"))
759 p->value.s = safe_strdup(value);
763 if (!parse_range_property(value, &range.upper, &range.lower))
766 p->value.range = range;
770 if (!safe_atou(value, &v))
773 p->value.u = v;
777 if (!parse_dimension_property(value, &dim.x, &dim.y))
780 p->value.dim = dim;
784 if (!safe_atod(value, &d))
787 p->value.d = d;
791 if (!parse_boolean_property(value, &b))
794 p->value.b = b;
798 if (!parse_boolean_property(value, &b))
801 p->value.b = b;
805 if (!safe_atou(value, &v))
808 p->value.u = v;
812 if (!safe_atou(value, &v))
815 p->value.u = v;
819 if (!streq(value, "watch"))
822 p->value.s = safe_strdup(value);
830 if (!parse_evcode_property(value, events, &nevents) ||
835 p->value.tuples.tuples[i].first = events[i].type;
836 p->value.tuples.tuples[i].second = events[i].code;
837 p->value.tuples.tuples[i].third = events[i].value;
839 p->value.tuples.ntuples = nevents;
849 if (!parse_input_prop_property(value, props, &nprops) ||
854 p->value.tuples.tuples[i].first = props[i].prop;
855 p->value.tuples.tuples[i].second = props[i].enabled;
858 p->value.tuples.ntuples = nprops;
876 * Parse a single line, expected to be in the format Key=value. Anything
893 const char *value = strv[1];
894 if (strlen(key) == 0 || strlen(value) == 0)
897 /* Whatever the value is, it's not supposed to be in quotes */
898 if (value[0] == '"' || value[0] == '\'')
902 rc = parse_match(ctx, s, key, value);
904 rc = parse_model(ctx, s, key, value);
906 rc = parse_attr(ctx, s, key, value);
908 qlog_error(ctx, "Unknown value prefix %s\n", line);
1046 qlog_parser(ctx, "%s:%d: expected value or [Section], have %s\n",
1243 * @return the value of the property or NULL
1249 const char *value = NULL;
1252 value = udev_device_get_property_value(d, prop);
1254 } while (value == NULL && d != NULL);
1256 return value;
1404 size_t offset = p->value.tuples.ntuples;
1405 size_t max = ARRAY_LENGTH(p->value.tuples.tuples);
1406 for (size_t j = 0; j < property->value.tuples.ntuples; j++) {
1409 p->value.tuples.tuples[offset + j] = property->value.tuples.tuples[j];
1410 p->value.tuples.ntuples++;
1421 newprop->value.tuples = property->value.tuples;
1617 *val = p->value.i;
1635 *val = p->value.u;
1653 *val = p->value.d;
1671 *val = p->value.s;
1689 *val = p->value.b;
1709 *val = p->value.dim;
1729 *val = p->value.range;
1749 *tuples = &p->value.tuples;
1770 *array = p->value.array.data.u;
1771 *nelements = p->value.array.nelements;