Lines Matching refs:q
52 Queue *q = (Queue *) malloc(sizeof(Queue)); in alloc_queue() local
53 if (q) in alloc_queue()
55 q->head = q->tail = NULL; in alloc_queue()
56 q->current_size = 0; in alloc_queue()
58 return q; in alloc_queue()
61 void free_queue(Queue *q) in free_queue() argument
63 while (q->current_size) in free_queue()
65 pop(q); in free_queue()
69 void free_queue_and_qelement(Queue *q) in free_queue_and_qelement() argument
71 while (q->current_size) in free_queue_and_qelement()
73 void *element = pop(q); in free_queue_and_qelement()
79 int push(Queue *q, void * element) in push() argument
89 if (q->current_size == 0) in push()
91 q->head = new_node; in push()
95 q->tail->next = new_node; in push()
98 q->tail = new_node; in push()
99 q->current_size++; in push()
104 void *pop(Queue *q) in pop() argument
109 if (q->current_size == 0) in pop()
112 temp = q->head; in pop()
115 if (q->current_size == 1) in pop()
117 q->head = q->tail = NULL; in pop()
121 q->head = q->head->next; in pop()
125 q->current_size--; in pop()