Lines Matching defs:edata
374 envsys_data_t *edata = NULL;
390 TAILQ_FOREACH(edata, &sme->sme_sensors_list, sensors_head) {
391 if (edata->sensor == tred->sensor) {
406 sysmon_envsys_refresh_sensor(sme, edata);
413 tred->sensor = edata->sensor;
414 tred->cur.data_us = edata->value_cur;
415 tred->cur.data_s = edata->value_cur;
416 tred->max.data_us = edata->value_max;
417 tred->max.data_s = edata->value_max;
418 tred->min.data_us = edata->value_min;
419 tred->min.data_s = edata->value_min;
422 if (edata->units == ENVSYS_BATTERY_CHARGE)
425 tred->units = edata->units;
430 if (edata->flags & ENVSYS_FPERCENT) {
435 if (edata->state == ENVSYS_SINVALID) {
441 __func__, edata->desc, tred->cur.data_s));
454 envsys_data_t *edata = NULL;
466 TAILQ_FOREACH(edata, &sme->sme_sensors_list, sensors_head) {
467 if (edata->sensor == binfo->sensor) {
482 if (edata->units == ENVSYS_BATTERY_CHARGE)
485 binfo->units = edata->units;
493 "%s %s", sme->sme_name, edata->desc);
495 (void)strlcpy(binfo->desc, edata->desc,
549 envsys_data_t *edata;
554 edata = TAILQ_FIRST(&sme->sme_sensors_list);
555 TAILQ_REMOVE(&sme->sme_sensors_list, edata, sensors_head);
570 sysmon_envsys_sensor_attach(struct sysmon_envsys *sme, envsys_data_t *edata)
575 KASSERT(sme != NULL || edata != NULL);
580 sdt_units = sme_find_table_entry(SME_DESC_UNITS, edata->units);
587 if (strlen(edata->desc) == 0)
593 if (strcmp(oedata->desc, edata->desc) == 0) {
602 TAILQ_INSERT_TAIL(&sme->sme_sensors_list, edata, sensors_head);
607 edata->sensor = sme->sme_nsensors;
613 __func__, edata->sensor, edata->desc,
626 sysmon_envsys_sensor_detach(struct sysmon_envsys *sme, envsys_data_t *edata)
632 KASSERT(sme != NULL || edata != NULL);
640 if (oedata->sensor == edata->sensor) {
657 sme_event_unregister_sensor(sme, edata);
665 TAILQ_REMOVE(&sme->sme_sensors_list, edata, sensors_head);
695 envsys_data_t *edata = NULL;
699 char rnd_name[sizeof(edata->rnd_src.name)];
749 TAILQ_FOREACH(edata, &sme->sme_sensors_list, sensors_head) {
760 dict, edata);
832 TAILQ_FOREACH(edata, &sme->sme_sensors_list, sensors_head) {
833 if (edata->flags & ENVSYS_FHAS_ENTROPY) {
839 sme->sme_name, edata->desc);
857 switch (edata->units) {
880 rnd_attach_source(&edata->rnd_src, rnd_name,
917 edata = TAILQ_FIRST(&sme->sme_sensors_list);
918 TAILQ_REMOVE(&sme->sme_sensors_list, edata, sensors_head);
981 envsys_data_t *edata;
999 while ((edata = TAILQ_FIRST(&sme->sme_sensors_list)) != NULL) {
1000 sysmon_envsys_sensor_detach(sme, edata);
1125 envsys_data_t *edata;
1129 TAILQ_FOREACH(edata, &sme->sme_sensors_list, sensors_head)
1130 sysmon_envsys_refresh_sensor(sme, edata);
1176 envsys_data_t *edata = NULL;
1178 char rnd_name[sizeof(edata->rnd_src.name)];
1189 TAILQ_FOREACH(edata, &sme->sme_sensors_list, sensors_head) {
1191 edata->sensor);
1196 if (edata->upropset & PROP_BATTCAP) {
1202 if (edata->upropset & PROP_BATTWARN) {
1208 if (edata->upropset & PROP_BATTHIGH) {
1214 if (edata->upropset & PROP_BATTMAX) {
1219 if (edata->upropset & PROP_WARNMAX) {
1224 if (edata->upropset & PROP_WARNMIN) {
1229 if (edata->upropset & PROP_CRITMAX) {
1234 if (edata->upropset & PROP_CRITMIN) {
1238 if (edata->upropset & PROP_RFACT) {
1240 edata->rfact = 0;
1243 if (edata->upropset & PROP_DESC)
1245 "description", edata->desc);
1260 __func__, sme->sme_name, edata->desc));
1261 (*sme->sme_set_limits)(sme, edata, NULL, NULL);
1268 edata->upropset &= ~PROP_LIMITS;
1271 __func__, sme->sme_name, edata->desc));
1272 lims = edata->limits;
1273 (*sme->sme_get_limits)(sme, edata, &lims,
1282 if (edata->flags & ENVSYS_FHAS_ENTROPY)
1283 rnd_detach_source(&edata->rnd_src);
1288 sme_event_unregister(sme, edata->desc,
1297 edata->units);
1301 __func__, sme->sme_name, edata->desc));
1303 sme_event_register(sdict, edata, sme,
1312 if (edata->flags & ENVSYS_FHAS_ENTROPY) {
1313 sme_event_register(sdict, edata, sme,
1317 sme->sme_name, edata->desc);
1318 rnd_attach_source(&edata->rnd_src, rnd_name,
1422 prop_dictionary_t dict, envsys_data_t *edata)
1438 (void)snprintf(indexstr, sizeof(indexstr), "sensor%d", edata->sensor);
1448 if (sme_sensor_upstring(dict, "description", edata->desc))
1463 if ((edata->flags & ENVSYS_FMONNOTSUPP) ||
1464 (edata->units == ENVSYS_INDICATOR) ||
1465 (edata->units == ENVSYS_DRIVE) ||
1466 (edata->units == ENVSYS_BATTERY_CAPACITY) ||
1467 (edata->units == ENVSYS_BATTERY_CHARGE))
1483 if (edata->units == ENVSYS_SVOLTS_DC ||
1484 edata->units == ENVSYS_SVOLTS_AC) {
1485 if (edata->flags & ENVSYS_FCHANGERFACT)
1493 error = sme_update_sensor_dictionary(dict, edata,
1494 (edata->state == ENVSYS_SVALID));
1516 if (edata->flags & (ENVSYS_FMONANY | ENVSYS_FHAS_ENTROPY)) {
1519 sme_evdrv_t->sed_edata = edata;
1521 sdt = sme_find_table_entry(SME_DESC_UNITS, edata->units);
1568 envsys_data_t *edata;
1575 TAILQ_FOREACH(edata, &sme->sme_sensors_list, sensors_head) {
1576 if (!(*predicate)(edata))
1583 sysmon_envsys_refresh_sensor(sme, edata);
1586 v = edata->value_cur;
1604 envsys_data_t *edata;
1655 TAILQ_FOREACH(edata, &sme->sme_sensors_list, sensors_head) {
1660 sysmon_envsys_refresh_sensor(sme, edata);
1666 dict = prop_array_get(array, edata->sensor);
1669 __func__, edata->sensor, sme->sme_name));
1676 error = sme_update_sensor_dictionary(dict, edata, true);
1686 sme_update_sensor_dictionary(prop_object_t dict, envsys_data_t *edata,
1692 sdt = sme_find_table_entry(SME_DESC_STATES, edata->state);
1695 "state %d unknown\n", edata->sensor, edata->state);
1700 edata->sensor, sdt->type, sdt->desc, edata->flags));
1709 sdt = sme_find_table_entry(SME_DESC_UNITS, edata->units);
1713 DPRINTFOBJ(("%s: sensor #%d units=%d (%s)\n", __func__, edata->sensor,
1724 error = sme_sensor_upint32(dict, "cur-value", edata->value_cur);
1733 if (edata->units == ENVSYS_INDICATOR ||
1734 edata->units == ENVSYS_BATTERY_CHARGE)
1740 if (edata->flags & ENVSYS_FPERCENT) {
1750 if (edata->flags & ENVSYS_FVALID_MAX) {
1752 edata->value_max);
1757 if (edata->flags & ENVSYS_FVALID_MIN) {
1759 edata->value_min);
1767 if (edata->units == ENVSYS_SFANRPM) {
1768 error = sme_sensor_upuint32(dict, "rpms", edata->rpms);
1776 if (edata->units == ENVSYS_SVOLTS_AC ||
1777 edata->units == ENVSYS_SVOLTS_DC) {
1778 error = sme_sensor_upint32(dict, "rfact", edata->rfact);
1787 if (edata->units == ENVSYS_DRIVE) {
1789 edata->value_cur);
1801 if (edata->units == ENVSYS_BATTERY_CAPACITY) {
1803 edata->value_cur);
1826 envsys_data_t *edata;
1884 TAILQ_FOREACH(edata, &sme->sme_sensors_list, sensors_head) {
1889 dict = prop_array_get(array, edata->sensor);
1913 if (i == edata->sensor)
1937 __func__, edata->sensor, blah));
1938 edata->upropset |= PROP_DESC;
1948 if (edata->flags & ENVSYS_FCHANGERFACT) {
1950 edata->rfact = prop_number_signed_value(obj2);
1951 edata->upropset |= PROP_RFACT;
1954 __func__, edata->sensor, edata->rfact));
1961 sdt = sme_find_table_entry(SME_DESC_UNITS, edata->units);
2043 if (props && (edata->flags & ENVSYS_FMONNOTSUPP) != 0) {
2047 if (props || (edata->flags & ENVSYS_FHAS_ENTROPY) != 0) {
2048 error = sme_event_register(dict, edata, sme, &lims,
2050 (edata->flags & ENVSYS_FPERCENT)?
2112 sysmon_envsys_refresh_sensor(struct sysmon_envsys *sme, envsys_data_t *edata)
2116 (*sme->sme_refresh)(sme, edata);
2118 if (edata->flags & ENVSYS_FHAS_ENTROPY &&
2119 edata->state != ENVSYS_SINVALID &&
2120 edata->value_prev != edata->value_cur)
2121 rnd_add_uint32(&edata->rnd_src, edata->value_cur);
2122 edata->value_prev = edata->value_cur;