Exemple #1
0
void main(void) 
{ int main_status ;
  int main_irp ;
  int main_pirp ;
  int main_irp_choice ;
  int main_devobj ;
  int main_tmp_ndt_1 ;
  int main_tmp_ndt_2 ;
  int main_tmp_ndt_3 ;
  int main_tmp_ndt_4 ;
  int main_tmp_ndt_5 ;

  {
  safety = 0;
  main_pirp = main_irp;
  _BLAST_init();
  myStatus = 0;
  if ((main_irp_choice >= 0) && (main_irp_choice <= 0)) {
    myStatus = -1073741637;
  }
  stub_driver_init();
  main_tmp_ndt_1 = __VERIFIER_nondet_int();
  if ((main_tmp_ndt_1 >= 0) && (main_tmp_ndt_1 <= 0)) {
    main_status = KbFilter_CreateClose(main_devobj, main_pirp);
  } else {
    main_tmp_ndt_2 = __VERIFIER_nondet_int();
    if ((main_tmp_ndt_2 >= 1) && (main_tmp_ndt_2 <= 1)) {
      main_status = KbFilter_CreateClose(main_devobj, main_pirp);
    } else {
      main_tmp_ndt_3 = __VERIFIER_nondet_int();
      if ((main_tmp_ndt_3 >= 3) && (main_tmp_ndt_3 <= 3)) {
        main_status = KbFilter_PnP(main_devobj, main_pirp);
      } else {
        main_tmp_ndt_4 = __VERIFIER_nondet_int();
        if ((main_tmp_ndt_4 >= 4) && (main_tmp_ndt_4 <= 4)) {
          main_status = KbFilter_Power(main_devobj, main_pirp);
        } else {
          main_tmp_ndt_5 = __VERIFIER_nondet_int();
          if ((main_tmp_ndt_5 >= 8) && (main_tmp_ndt_5 <= 8)) {
            main_status = KbFilter_InternIoCtl(main_devobj, main_pirp);
          }
        }
      }
    }
  }
  if (safety != 0) goto ERROR; return; ERROR:;
  return;
}
}
int main(void) 
{ int status ;
  int irp = __VERIFIER_nondet_int() ;
  int pirp ;
  int pirp__IoStatus__Status ;
  int irp_choice = __VERIFIER_nondet_int() ;
  int devobj = __VERIFIER_nondet_int() ;
  int __cil_tmp8 ;

 KernelMode  = 0;
 Executive  = 0;
 DevicePowerState  =    1;
 s  = 0;
 UNLOADED  = 0;
 NP  = 0;
 DC  = 0;
 SKIP1  = 0;
 SKIP2 = 0 ;
 MPR1  = 0;
 MPR3  = 0;
 IPC  = 0;
 pended  = 0;
 compFptr  = 0;
 compRegistered  = 0;
 lowerDriverReturn  = 0;
 setEventCalled  = 0;
 customIrp  = 0;
 myStatus  = 0;

  {
  {
#line 334
  status = 0;
#line 335
  pirp = irp;
#line 336
  _BLAST_init();
  }
#line 338
  if (status >= 0) {
#line 339
    s = NP;
#line 340
    customIrp = 0;
#line 341
    setEventCalled = customIrp;
#line 342
    lowerDriverReturn = setEventCalled;
#line 343
    compRegistered = lowerDriverReturn;
#line 344
    pended = compRegistered;
#line 345
    pirp__IoStatus__Status = 0;
#line 346
    myStatus = 0;
#line 347
    if (irp_choice == 0) {
#line 348
      pirp__IoStatus__Status = -1073741637;
#line 349
      myStatus = -1073741637;
    }
    {
#line 354
    stub_driver_init();
    }
    {
#line 356
#line 356
    if (status < 0) {
#line 357
      return (-1);
    }
    }
#line 361
    int tmp_ndt_1;
    tmp_ndt_1 = __VERIFIER_nondet_int();
    if (tmp_ndt_1 == 0) {
      goto switch_1_0;
    } else {
#line 364
      int tmp_ndt_2;
      tmp_ndt_2 = __VERIFIER_nondet_int();
      if (tmp_ndt_2 == 1) {
        goto switch_1_1;
      } else {
#line 367
        int tmp_ndt_3;
        tmp_ndt_3 = __VERIFIER_nondet_int();
        if (tmp_ndt_3 == 3) {
          goto switch_1_3;
        } else {
#line 370
          int tmp_ndt_4;
          tmp_ndt_4 = __VERIFIER_nondet_int();
          if (tmp_ndt_4 == 4) {
            goto switch_1_4;
          } else {
#line 373
            int tmp_ndt_5;
            tmp_ndt_5 = __VERIFIER_nondet_int();
            if (tmp_ndt_5 == 8) {
              goto switch_1_8;
            } else {
              goto switch_1_default;
#line 378
              if (0) {
                switch_1_0: 
                {
#line 381
                status = KbFilter_CreateClose(devobj, pirp);
                }
                goto switch_1_break;
                switch_1_1: 
                {
#line 386
                status = KbFilter_CreateClose(devobj, pirp);
                }
                goto switch_1_break;
                switch_1_3: 
                {
#line 391
                status = KbFilter_PnP(devobj, pirp);
                }
                goto switch_1_break;
                switch_1_4: 
                {
#line 396
                status = KbFilter_Power(devobj, pirp);
                }
                goto switch_1_break;
                switch_1_8: 
                {
#line 401
                status = KbFilter_InternIoCtl(devobj, pirp);
                }
                goto switch_1_break;
                switch_1_default: ;
#line 405
                return (-1);
              } else {
                switch_1_break: ;
              }
            }
          }
        }
      }
    }
  }
#line 418
  if (pended == 1) {
#line 419
    if (s == NP) {
#line 420
      s = NP;
    } else {
      goto _L___2;
    }
  } else {
    _L___2: 
#line 426
    if (pended == 1) {
#line 427
      if (s == MPR3) {
#line 428
        s = MPR3;
      } else {
        goto _L___1;
      }
    } else {
      _L___1: 
#line 434
      if (s != UNLOADED) {
#line 437
        if (status != -1) {
#line 440
          if (s != SKIP2) {
#line 441
            if (s != IPC) {
#line 442
              if (s == DC) {
                goto _L___0;
              }
            } else {
              goto _L___0;
            }
          } else {
            _L___0: 
#line 452
            if (pended == 1) {
#line 453
              if (status != 259) {
                {
#line 455
                errorFn();
                }
              }
            } else {
#line 461
              if (s == DC) {
#line 462
                if (status == 259) {

                }
              } else {
#line 468
                if (status != lowerDriverReturn) {

                }
              }
            }
          }
        }
      }
    }
  }
#line 480
  return (status);
}
}