rem: static void RemPlayers( struct List *list, struct AHIDevUnit *iounit, struct AHIBase *AHIBase)
add: RemPlayers ( struct List *list, struct AHIDevUnit *iounit, struct AHIBase *AHIBase )
context: static void RemPlayers( struct List *list, struct AHIDevUnit *iounit,    struct AHIBase *AHIBase){  struct AHIRequest *ioreq, *node;#ifdef DEBUG  KPrintF("RemPlayers\n");#endif  node = (struct AHIRequest *) list->lh_Head;  while(node->ahir_Std.io_Message.mn_Node.ln_Succ)  {    ioreq = node;    node = (struct AHIRequest *) node->ahir_Std.io_Message.mn_Node.ln_Succ;    if(ioreq->ahir_Std.io_Command == AHICMD_WRITTEN)    {#ifdef DEBUG      KPrintF("Removing 0x%08lx\n", ioreq);#endif      Remove((struct Node *) ioreq);      if(ioreq->ahir_Link)      {        // Move the attached one to the list        Remove((struct Node *) ioreq->ahir_Link);        GetExtras(ioreq->ahir_Link)->Channel = GetExtras(ioreq)->Channel;        Enqueue(list, (struct Node *) ioreq->ahir_Link);        // We have to go through the whole procedure again, in case        // the child is finished, too.        node = (struct AHIRequest *) list->lh_Head;      }      ioreq->ahir_Std.io_Error = AHIE_OK;      ioreq->ahir_Std.io_Command = CMD_WRITE;      ioreq->ahir_Std.io_Actual = ioreq->ahir_Std.io_Length                                * AHI_SampleFrameSize(ioreq->ahir_Type);      TermIO(ioreq, AHIBase);    }  }}