see
see(pp, LEFTS);
see(pp, ABOVE);
see(pp, BELOW);
see(pp, RIGHT);
see(pp, ABOVE);
see(pp, BELOW);
see(pp, ABOVE);
see(pp, LEFTS);
see(pp, RIGHT);
see(pp, BELOW);
see(pp, LEFTS);
see(pp, RIGHT);
static void see(PLAYER *, int);
sysmon_penvsys_event(&see->see_pes,
sysmon_penvsys_event(&see->see_pes, see->see_type);
see->see_evvalue = edata->value_cur;
struct sysmon_envsys *sme = see->see_sme;
panic("%s: invalid event type %d", __func__, see->see_type);
sme_event_t *see = NULL, *osee = NULL;
see = osee;
if (props && see->see_type == PENVSYS_EVENT_NULL)
see->see_type = crittype;
if (crittype == PENVSYS_EVENT_NULL && see != NULL) {
if (see == NULL) {
see = kmem_zalloc(sizeof(*see), KM_SLEEP);
see->see_type = crittype;
see->see_sme = sme;
see->see_edata = edata;
see->see_pes.pes_type = powertype;
see->see_evstate = ENVSYS_BATTERY_CAPACITY_NORMAL;
see->see_evstate =
see->see_evstate = ENVSYS_DRIVE_EMPTY;
see->see_evstate = ENVSYS_SVALID;
see->see_evstate = ENVSYS_SVALID;
see->see_evvalue = 0;
(void)strlcpy(see->see_pes.pes_dvname, sme->sme_name,
sizeof(see->see_pes.pes_dvname));
(void)strlcpy(see->see_pes.pes_sensname, edata->desc,
sizeof(see->see_pes.pes_sensname));
see->see_sme->sme_name, see->see_pes.pes_sensname,
edata->sensor, see->see_type, edata->limits.sel_critmin,
LIST_INSERT_HEAD(&sme->sme_events_list, see, see_list);
sme_event_t *see;
LIST_FOREACH(see, &sme->sme_events_list, see_list) {
while (see->see_flags & SEE_EVENT_WORKING)
if (strcmp(see->see_pes.pes_dvname, sme->sme_name) == 0)
while ((see = LIST_FIRST(&sme->sme_events_list))) {
if (strcmp(see->see_pes.pes_dvname, sme->sme_name) == 0) {
see->see_pes.pes_sensname, see->see_type,
sme_remove_event(see, sme);
sme_event_t *see;
LIST_FOREACH(see, &sme->sme_events_list, see_list) {
if (strcmp(see->see_pes.pes_sensname, sensor) == 0) {
if (see->see_type == type) {
while (see->see_flags & SEE_EVENT_WORKING)
__func__, see->see_pes.pes_dvname, sensor, type));
sme_remove_event(see, sme);
sme_event_t *see;
LIST_FOREACH(see, &sme->sme_events_list, see_list) {
if (see->see_edata == edata) {
while (see->see_flags & SEE_EVENT_WORKING)
__func__, see->see_pes.pes_dvname, edata->desc));
sme_remove_event(see, sme);
sme_remove_event(sme_event_t *see, struct sysmon_envsys *sme)
LIST_REMOVE(see, see_list);
kmem_free(see, sizeof(*see));
sme_event_t *see;
LIST_FOREACH(see, &sme->sme_events_list, see_list) {
if (edata == see->see_edata &&
see->see_type == PENVSYS_EVENT_LIMITS)
if (see == NULL)
PENVSYS_EVENT_LIMITS, see->see_pes.pes_type);
sme_event_t *see;
LIST_FOREACH(see, &sme->sme_events_list, see_list) {
workqueue_enqueue(sme->sme_wq, &see->see_wk, NULL);
see->see_edata->flags |= ENVSYS_FNEED_REFRESH;
sme_event_t *see = (void *)wk;
struct sysmon_envsys *sme = see->see_sme;
envsys_data_t *edata = see->see_edata;
KASSERT(wk == &see->see_wk);
see->see_flags |= SEE_EVENT_WORKING;
edata->sensor, see->see_type, edata->state, edata->units,
if ((see->see_type == PENVSYS_EVENT_LIMITS ||
see->see_type == PENVSYS_EVENT_CAPACITY) &&
if ((see->see_type == PENVSYS_EVENT_CAPACITY) &&
sme_deliver_event(see);
see->see_flags &= ~SEE_EVENT_WORKING;
sme_event_t *see;
LIST_FOREACH(see, &sme->sme_events_list, see_list) {
if (edata != see->see_edata)
ev_type == see->see_type) {
sme_deliver_event(see);
sme_deliver_event(sme_event_t *see)
envsys_data_t *edata = see->see_edata;
switch (see->see_type) {
if (edata->state == see->see_evstate)
sysmon_penvsys_event(&see->see_pes,
sysmon_penvsys_event(&see->see_pes, sse[i].event);
see->see_evstate = edata->state;
__func__, see->see_sme->sme_name, edata->desc,
"%d/%d\n", __func__, see->see_evstate, edata->state,
see->see_evvalue, edata->value_cur));
see->see_evstate != ENVSYS_SVALID) {
sysmon_penvsys_event(&see->see_pes,
see->see_evstate = ENVSYS_SVALID;
if (see->see_evstate != ENVSYS_SCRITICAL ||
see->see_evvalue != edata->value_cur) {
sysmon_penvsys_event(&see->see_pes,
see->see_evstate = ENVSYS_SCRITICAL;
see->see_evvalue = edata->value_cur;
if (edata->value_cur == see->see_evvalue)
state = see->see_evvalue; /* force state change */
(void)strlcpy(see->see_pes.pes_statedesc, sdt->desc,
sizeof(see->see_pes.pes_statedesc));