/* Packet queue. */
struct queue {
- int n;
- struct buffer *head;
- struct buffer *tail;
+ int n; /* Number of queued packets. */
+ struct buffer *head; /* First queued packet, null if n == 0. */
+ struct buffer *tail; /* Last queued packet, null if n == 0. */
};
void queue_init(struct queue *);
void queue_clear(struct queue *);
void queue_advance_head(struct queue *, struct buffer *next);
void queue_push_tail(struct queue *, struct buffer *);
+struct buffer *queue_pop_head(struct queue *);
#endif /* queue.h */