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; }}
/* * sysmonkqfilter: * * Kqueue filter for the system monitor device. */ int sysmonkqfilter(dev_t dev, struct knote *kn) { int error; switch (minor(dev)) { #if NSYSMON_POWER > 0 case SYSMON_MINOR_POWER: error = sysmonkqfilter_power(dev, kn); break; #endif default: error = 1; } return (error); }