static void freeBuffer( // FREE A BUFFER BUF_ALLOC* ba ) // - allocated buffer { CMemFree( ba->buffer ); RingPrune( &buffers, ba ); CarveFree( carve_buf, ba ); }
static void splitFini( // COMPLETE SPLIT ENTRY INITFINI *d ) // - completion entry { SPLITFINI *fptr; // - completion entry fptr = (SPLITFINI *)d; RingPrune( &split_hdr, fptr ); (*fptr->orig->fini_rtn)( fptr->orig ); }
static void deQueue // TAKE (FIFO) INSTRUCTION FROM QUEUE ( void ) { PP_INS* ins; // - queued instruction ins = ins_queue->next; DbgVerify( NULL != ins, "Empty instruction queue" ); RingPrune( &ins_queue, ins ); IfDbgToggle( browse ) { DbgStmt( printf( "dequeued %s %x\n " , DbgIcOpcode( ins->opcode ) , ins->parm ) ); DbgStmt( DbgDumpTokenLocn( &ins->locn ) ); DbgStmt( printf( "\n" ) ); } writeIns( ins->opcode, ins->parm, &ins->locn ); CarveFree( carvePpIns, ins ); }
static void activateBuffer( // ACTIVATE A BUFFER FROM FREE RING DWIOBUFF *ctl ) // - buffer control { RingPrune( &freeBufs, ctl ); RingAppend( &activeBufs, ctl ); }