Lines Matching defs:edata
118 sme_event_register(prop_dictionary_t sdict, envsys_data_t *edata,
129 KASSERT(edata != NULL);
150 " edata-flags 0x%04x\n", __func__, edata->units, props,
151 edata->upropset, edata->value_max, edata->flags));
154 if (edata->units == ENVSYS_INDICATOR ||
155 edata->units == ENVSYS_BATTERY_CHARGE)
159 ((edata->value_max == 0) ||
160 !(edata->flags & ENVSYS_FPERCENT) ||
162 (edata->upropset & PROP_VAL_LIMITS)))
165 if ((props & PROP_VAL_LIMITS) && (edata->upropset & PROP_CAP_LIMITS))
174 if (strcmp(edata->desc, osee->see_pes.pes_sensname) != 0)
182 * sure it references the correct edata
184 KASSERT(edata == osee->see_edata);
187 __func__, sme->sme_name, edata->desc, crittype));
190 if (props & edata->upropset & (PROP_CRITMAX | PROP_BATTMAX)) {
191 if (lims->sel_critmax == edata->limits.sel_critmax) {
197 if (props & edata->upropset & (PROP_WARNMAX | PROP_BATTHIGH)) {
198 if (lims->sel_warnmax == edata->limits.sel_warnmax) {
204 if (props & edata->upropset & (PROP_WARNMIN | PROP_BATTWARN)) {
205 if (lims->sel_warnmin == edata->limits.sel_warnmin) {
211 if (props & edata->upropset & (PROP_CRITMIN | PROP_BATTCAP)) {
212 if (lims->sel_critmin == edata->limits.sel_critmin) {
234 __func__, sme->sme_name, edata->desc));
238 see->see_edata = edata;
249 if (edata->units == ENVSYS_BATTERY_CAPACITY)
252 else if (edata->units == ENVSYS_DRIVE)
254 else if (edata->units == ENVSYS_INDICATOR)
270 (void)strlcpy(see->see_pes.pes_sensname, edata->desc,
287 edata->limits.sel_limit_list[op->idx] =
293 edata->desc, crittype, objkey));
297 edata->upropset |= op->prop;
302 edata->upropset |= PROP_DRIVER_LIMITS;
304 edata->upropset &= ~PROP_DRIVER_LIMITS;
310 edata->sensor, see->see_type, edata->limits.sel_critmin,
311 edata->limits.sel_warnmin, edata->limits.sel_warnmax,
312 edata->limits.sel_critmax, edata->upropset));
324 (*sme->sme_set_limits)(sme, edata, &(edata->limits),
325 &(edata->upropset));
454 sme_event_unregister_sensor(struct sysmon_envsys *sme, envsys_data_t *edata)
461 if (see->see_edata == edata) {
477 __func__, see->see_pes.pes_dvname, edata->desc));
674 sysmon_envsys_update_limits(struct sysmon_envsys *sme, envsys_data_t *edata)
680 (edata->flags & ENVSYS_FMONLIMITS) == 0)
683 err = sme_update_limits(sme, edata);
697 sme_update_limits(struct sysmon_envsys *sme, envsys_data_t *edata)
713 sdict = prop_array_get(array, edata->sensor);
720 if (edata == see->see_edata &&
729 (*sme->sme_get_limits)(sme, edata, &lims, &props);
732 sme_event_register(sdict, edata, sme, &lims, props,
780 envsys_data_t *edata = see->see_edata;
784 KASSERT(edata != NULL);
794 if ((edata->flags & ENVSYS_FNEED_REFRESH) != 0) {
797 sysmon_envsys_refresh_sensor(sme, edata);
799 edata->flags &= ~ENVSYS_FNEED_REFRESH;
804 "value_cur=%d upropset=0x%04x\n", __func__, sme->sme_name, edata->desc,
805 edata->sensor, see->see_type, edata->state, edata->units,
806 edata->value_cur, edata->upropset));
809 if (edata->state == ENVSYS_SINVALID)
824 (edata->upropset & PROP_DRIVER_LIMITS) == 0) {
826 (edata->value_max == 0))
827 edata->state = ENVSYS_SVALID;
828 else if ((edata->upropset & (PROP_CRITMIN | PROP_BATTCAP)) &&
829 (edata->value_cur < edata->limits.sel_critmin))
830 edata->state = ENVSYS_SCRITUNDER;
831 else if ((edata->upropset & (PROP_WARNMIN | PROP_BATTWARN)) &&
832 (edata->value_cur < edata->limits.sel_warnmin))
833 edata->state = ENVSYS_SWARNUNDER;
834 else if ((edata->upropset & (PROP_CRITMAX | PROP_BATTMAX)) &&
835 (edata->value_cur > edata->limits.sel_critmax))
836 edata->state = ENVSYS_SCRITOVER;
837 else if ((edata->upropset & (PROP_WARNMAX | PROP_BATTHIGH)) &&
838 (edata->value_cur > edata->limits.sel_warnmax))
839 edata->state = ENVSYS_SWARNOVER;
841 edata->state = ENVSYS_SVALID;
863 sysmon_envsys_sensor_event(struct sysmon_envsys *sme, envsys_data_t *edata,
870 if (edata != see->see_edata)
893 envsys_data_t *edata = see->see_edata;
904 if (edata->state == see->see_evstate)
908 if (sse[i].state == edata->state)
914 if (edata->state == ENVSYS_SVALID)
920 see->see_evstate = edata->state;
922 __func__, see->see_sme->sme_name, edata->desc,
923 edata->sensor, edata->state,
924 (edata->state == ENVSYS_SVALID) ? PENVSYS_EVENT_NORMAL :
937 "%d/%d\n", __func__, see->see_evstate, edata->state,
938 see->see_evvalue, edata->value_cur));
939 if (edata->state == ENVSYS_SVALID &&
945 } else if (edata->state != ENVSYS_SCRITICAL)
948 see->see_evvalue != edata->value_cur) {
953 see->see_evvalue = edata->value_cur;
964 if (edata->value_cur == see->see_evvalue)
967 switch (edata->units) {
970 edata->value_cur);
975 edata->value_cur);
980 edata->value_cur);
997 if (edata->value_cur == state)
1009 see->see_evvalue = edata->value_cur;
1014 if (edata->units == ENVSYS_DRIVE)
1066 envsys_data_t *edata;
1085 TAILQ_FOREACH(edata, &sme->sme_sensors_list, sensors_head) {
1086 if (edata->units == ENVSYS_INDICATOR) {
1089 sysmon_envsys_refresh_sensor(sme, edata);
1091 if (edata->value_cur)
1113 envsys_data_t *edata;
1131 TAILQ_FOREACH(edata, &sme->sme_sensors_list, sensors_head) {
1132 if ((edata->units == ENVSYS_INDICATOR) &&
1133 (edata->state == ENVSYS_SVALID)) {
1134 present = edata->value_cur;
1145 TAILQ_FOREACH(edata, &sme->sme_sensors_list, sensors_head) {
1147 if (edata->state != ENVSYS_SVALID)
1149 if (edata->units == ENVSYS_BATTERY_CAPACITY) {
1151 if (!sme_battery_critical(edata))
1153 } else if (edata->units == ENVSYS_BATTERY_CHARGE) {
1155 if (edata->value_cur)
1173 sme_battery_critical(envsys_data_t *edata)
1175 if (edata->value_cur == ENVSYS_BATTERY_CAPACITY_CRITICAL ||
1176 edata->value_cur == ENVSYS_BATTERY_CAPACITY_LOW)