Lines Matching refs:q
151 void init_queue (Queue *q);
152 void enqueue (Queue *q, QItem *qitm);
153 QItem dequeue (Queue *q);
154 QItem queue_front (Queue *q);
155 GXBool queue_empty (Queue *q);
156 u32 queue_length(Queue *q);
587 void init_queue(Queue *q) in init_queue() argument
589 q->top = QUEUE_EMPTY; in init_queue()
592 void enqueue(Queue *q, QItem *qitm) in enqueue() argument
594 if (q->top == QUEUE_EMPTY) in enqueue()
596 q->top = q->bot = 0; in enqueue()
600 q->top = (u16) ((q->top+1) % QUEUE_MAX); in enqueue()
602 if (q->top == q->bot) in enqueue()
608 q->entry[q->top] = *qitm; in enqueue()
611 QItem dequeue(Queue *q) in dequeue() argument
613 u16 bot = q->bot; in dequeue()
615 if (q->top == QUEUE_EMPTY) in dequeue()
620 if (q->bot == q->top) in dequeue()
622 q->top = QUEUE_EMPTY; in dequeue()
626 q->bot = (u16) ((q->bot+1) % QUEUE_MAX); in dequeue()
629 return q->entry[bot]; in dequeue()
632 QItem queue_front(Queue *q) in queue_front() argument
634 if (q->top == QUEUE_EMPTY) in queue_front()
639 return q->entry[q->bot]; in queue_front()
642 GXBool queue_empty(Queue *q) in queue_empty() argument
644 return q->top == QUEUE_EMPTY; in queue_empty()
647 u32 queue_length(Queue *q) in queue_length() argument
649 if (q->top == QUEUE_EMPTY) return 0; in queue_length()
651 if (q->top >= q->bot) in queue_length()
652 return (u32) ((s32) q->top - q->bot + 1); in queue_length()
654 return (u32) ((s32) (q->top + QUEUE_MAX) - q->bot + 1); in queue_length()