/*----------------------------------------------------------------------------- Name : InitQueue Description : Initializes the Queue Inputs : Outputs : Return : ----------------------------------------------------------------------------*/ void InitQueue(Queue *queue,udword buffersize) { queue->mutex = SDL_CreateMutex(); dbgAssertOrIgnore(queue->mutex != NULL); queue->buffer = memAlloc(buffersize,"qbuffer",NonVolatile); queue->buffersize = buffersize; ResetQueue(queue); }
/* Have an empty queue with designated number of elements * with designated size of each element. */ int CreateQueue(RX_QUEUE *__q, void *__pb, uint16_t __len, uint8_t __esize) { ResetQueue(__q); __q->rLen = __len; __q->eSize = __esize; __q->buf = __pb; return 1; }
Queue *CreateQueue(int nbuckets, int nelems) { Queue *Q=NULL; Q = (Queue *) malloc(1*sizeof(Queue)); if (Q != NULL) { Q->C.first = (int *)malloc(nbuckets * sizeof(int)); Q->C.last = (int *)malloc(nbuckets * sizeof(int)); Q->C.nbuckets = nbuckets; if ( (Q->C.first != NULL) && (Q->C.last != NULL) ){ Q->L.elem = (Node *)malloc(nelems*sizeof(Node)); Q->L.nelems = nelems; if (Q->L.elem != NULL){ ResetQueue(Q); } else Error(MSG1,"CreateQueue"); } else Error(MSG1,"CreateQueue"); } else Error(MSG1,"CreateQueue"); return(Q); }
FilterWithBufferedInput::BlockQueue::BlockQueue(unsigned int blockSize, unsigned int maxBlocks) : m_buffer(blockSize * maxBlocks) { ResetQueue(blockSize, maxBlocks); }