static int fifo_free_sched(struct dn_sch_inst *si) { struct dn_queue *q = (struct dn_queue *)(si + 1); dn_free_pkts(q->mq.head); bzero(q, sizeof(*q)); return 0; }
int dn_delete_queue(void *_q, void *do_free) { struct dn_queue *q = _q; if (q->mq.head) dn_free_pkts(q->mq.head); free(q); return 0; }
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; }