rem: void PerformIO(struct AHIRequest *ioreq, struct AHIBase *AHIBase)
add: PerformIO ( struct AHIRequest *ioreq, struct AHIBase *AHIBase )
context: void PerformIO(struct AHIRequest *ioreq, struct AHIBase *AHIBase){  struct AHIDevUnit *iounit;  iounit = (struct AHIDevUnit *) ioreq->ahir_Std.io_Unit;  ioreq->ahir_Std.io_Error = 0;  // Just to make sure TermIO won't free a bad address  ioreq->ahir_Extras = NULL;  switch(ioreq->ahir_Std.io_Command)  {    case NSCMD_DEVICEQUERY:      Devicequery(ioreq, AHIBase);      break;    case CMD_RESET:      ResetCmd(ioreq, AHIBase);      break;    case CMD_READ:      ReadCmd(ioreq, AHIBase);      break;    case CMD_WRITE:      if(iounit->StopCnt)      {        AddTail((struct List *) &iounit->RequestQueue,(struct Node *) ioreq);      }      else      {        WriteCmd(ioreq, AHIBase);      }      break;    case CMD_STOP:      StopCmd(ioreq, AHIBase);      break;    case CMD_START:      StartCmd(ioreq, AHIBase);      break;    case CMD_FLUSH:      FlushCmd(ioreq, AHIBase);      break;    default:      ioreq->ahir_Std.io_Error = IOERR_NOCMD;      TermIO(ioreq, AHIBase);      break;  }}