60 #ifndef HEADER_PQUEUE_H
61 # define HEADER_PQUEUE_H
70 typedef struct _pqueue *pqueue;
72 typedef struct _pitem {
73 unsigned char priority[8];
78 typedef struct _pitem *piterator;
80 pitem *pitem_new(
unsigned char *prio64be,
void *data);
81 void pitem_free(pitem *item);
83 pqueue pqueue_new(
void);
84 void pqueue_free(pqueue pq);
86 pitem *pqueue_insert(pqueue pq, pitem *item);
87 pitem *pqueue_peek(pqueue pq);
88 pitem *pqueue_pop(pqueue pq);
89 pitem *pqueue_find(pqueue pq,
unsigned char *prio64be);
90 pitem *pqueue_iterator(pqueue pq);
91 pitem *pqueue_next(piterator *iter);
93 void pqueue_print(pqueue pq);
94 int pqueue_size(pqueue pq);