Example #1
0
/*
 * sysmonclose:
 *
 *	Close the system monitor device.
 */
int
sysmonclose(dev_t dev, int flag, int mode, struct lwp *l)
{
	int error;

	switch (minor(dev)) {
#if NSYSMON_ENVSYS > 0
	case SYSMON_MINOR_ENVSYS:
		error = sysmonclose_envsys(dev, flag, mode, l);
		break;
#endif
#if NSYSMON_WDOG > 0
	case SYSMON_MINOR_WDOG:
		error = sysmonclose_wdog(dev, flag, mode, l);
		break;
#endif
#if NSYSMON_POWER > 0
	case SYSMON_MINOR_POWER:
		error = sysmonclose_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; }}