53 #ifndef PACKETQUEUE_H_
54 #define PACKETQUEUE_H_
90 struct ctimer lifetimer;
104 #define PACKETQUEUE(name, size) LIST(name##_list); \
105 MEMB(name##_memb, struct packetqueue_item, size); \
106 static struct packetqueue name = { &name##_list, \
Linked list manipulation routines.
void ** list_t
The linked list type.
Header file for the Rime buffer (packetbuf) management
struct packetqueue_item * packetqueue_first(struct packetqueue *q)
Access the first item on the packet buffer.
void * packetqueue_ptr(struct packetqueue_item *i)
Access the user-defined pointer in a packet queue item.
Representation of an item in a packet queue.
int packetqueue_len(struct packetqueue *q)
Get the length of the packet queue.
Header file for the Rime queue buffer management
struct queuebuf * packetqueue_queuebuf(struct packetqueue_item *i)
Access the queuebuf in a packet queue item.
int packetqueue_enqueue_packetbuf(struct packetqueue *q, clock_time_t lifetime, void *ptr)
Enqueue a packetbuf on a packet queue.
Header file for the callback timer
void packetqueue_init(struct packetqueue *q)
Initialize a packet queue.
Representation of a packet queue.
void packetqueue_dequeue(struct packetqueue *q)
Remove the first item on the packet buffer.
Memory block allocation routines.