static struct mbuf * reorder_dequeue(struct dn_sch_inst *si) { struct my_queue* my_q = (struct my_queue *)(si+1); printf("reorder: reorder_dequeue\n"); return my_dequeue(my_q); }
static int reorder_free_sched(struct dn_sch_inst *si) { struct my_queue* my_q = (struct my_queue *)(si+1); struct mbuf* m; printf("reorder: reorder_free_sched\n"); while ((m = my_dequeue(my_q)) != NULL) dn_free_pkts(m); my_initqueue(my_q); //{ int i; for (i = 0; i < my_q->capacity; i++) { if (my_q->circular_buffer[i]) dn_free_pkts(my_q->circular_buffer[i]); } } return 0; }
int is_bst2(tree *T) // level traverse { tree *t = NULL; qinit(); my_enqueue(T); while (qcount > 0) { t = my_dequeue(); if (t) { if ((t->left && t->value < t->left->value) || (t->right && t->value > t->right->value)) { return 0; } if (t->left) my_enqueue(t->left); if (t->right) my_enqueue(t->right); } } return 1; }