/* * sysmonopen: * * Open the system monitor device. */ int sysmonopen(dev_t dev, int flag, int mode, struct lwp *l) { int error; switch (minor(dev)) { #if NSYSMON_ENVSYS > 0 case SYSMON_MINOR_ENVSYS: error = sysmonopen_envsys(dev, flag, mode, l); break; #endif #if NSYSMON_WDOG > 0 case SYSMON_MINOR_WDOG: error = sysmonopen_wdog(dev, flag, mode, l); break; #endif #if NSYSMON_POWER > 0 case SYSMON_MINOR_POWER: error = sysmonopen_power(dev, flag, mode, l); break; #endif default: error = ENODEV; } return (error); }
void* thr1(void* arg){ while(1) switch(__VERIFIER_nondet_int()){ case 0: sysmon_power_daemon_task(); break; case 1: sysmonopen_power(); break; case 2: sysmonclose_power(); break; case 3: sysmonread_power(); break; case 4: sysmonpoll_power(); break; case 5: filt_sysmon_power_rdetach(); break; case 6: filt_sysmon_power_read(); break; case 7: sysmonkqfilter_power(); break; case 8: sysmonioctl_power(); break; }}