rem: static void WriteCmd(struct AHIRequest *ioreq, struct AHIBase *AHIBase)
add: WriteCmd ( struct AHIRequest *ioreq, struct AHIBase *AHIBase )
context: static void WriteCmd(struct AHIRequest *ioreq, struct AHIBase *AHIBase){  struct AHIDevUnit *iounit;  ULONG error = 0;  if(AHIBase->ahib_DebugLevel >= AHI_DEBUG_HIGH)  {    KPrintF("CMD_WRITE\n");  }  iounit = (struct AHIDevUnit *) ioreq->ahir_Std.io_Unit;  /* Start playback if neccessary */  if( ! iounit->IsPlaying)  {    if( (! iounit->FullDuplex) && iounit->IsRecording)    {      error = AHIE_HALFDUPLEX;   // FIXIT!    }    else    {      error = AHI_ControlAudio(iounit->AudioCtrl,         AHIC_Play,TRUE,         TAG_DONE);    }    if( ! error)    {      iounit->IsPlaying = TRUE;    }  }  ioreq->ahir_Extras = (ULONG) AllocVec(sizeof(struct Extras), MEMF_PUBLIC|MEMF_CLEAR);  if(ioreq->ahir_Extras == NULL)  {    error = AHIE_NOMEM;  }  else  {    // Initialize the structure    GetExtras(ioreq)->Channel = NOCHANNEL;    GetExtras(ioreq)->Sound   = AHI_NOSOUND;    GetExtras(ioreq)->Count   = 2;  }  if(iounit->IsPlaying && !error)  {    ioreq->ahir_Std.io_Actual = 0;    // Convert length in bytes to length in samples    ioreq->ahir_Std.io_Length /= AHI_SampleFrameSize(ioreq->ahir_Type);    switch(ioreq->ahir_Type)    {      case AHIST_M8S:      case AHIST_S8S:      case AHIST_M16S:      case AHIST_S16S:        break;      case AHIST_M32S:      case AHIST_S32S:      default:        error = AHIE_BADSAMPLETYPE;    }    if(! error)    {      NewWriter(ioreq, iounit, AHIBase);    }  }  if(error)  {    ioreq->ahir_Std.io_Error = error;    TermIO(ioreq, AHIBase);  }}