Go to the documentation of this file.
23 #ifndef NET_GNRC_PRIORITY_PKTQUEUE_H
24 #define NET_GNRC_PRIORITY_PKTQUEUE_H
52 #define PRIORITY_PKTQUEUE_NODE_INIT(priority, pkt) { NULL, priority, pkt }
57 #define PRIORITY_PKTQUEUE_INIT { NULL }
static void gnrc_priority_pktqueue_init(gnrc_priority_pktqueue_t *queue)
Initialize a gnrc priority packet queue object.
#define PRIORITY_PKTQUEUE_INIT
Static initializer for gnrc_priority_pktqueue_t.
void gnrc_priority_pktqueue_flush(gnrc_priority_pktqueue_t *queue)
flush the gnrc priority packet queue
struct gnrc_priority_pktqueue_node * next
next queue node
gnrc_pktsnip_t * pkt
queue node data
gnrc_pktsnip_t * gnrc_priority_pktqueue_pop(gnrc_priority_pktqueue_t *queue)
Get first element and remove it from queue.
struct gnrc_priority_pktqueue_node gnrc_priority_pktqueue_node_t
data type for gnrc priority packet queue nodes
General definitions for network packets and their helper functions.
gnrc_pktsnip_t * gnrc_priority_pktqueue_head(gnrc_priority_pktqueue_t *queue)
Get first element from queue without removing.
uint32_t priority
queue node priority
data type for priority queues
static void gnrc_priority_pktqueue_node_init(gnrc_priority_pktqueue_node_t *node, uint32_t priority, gnrc_pktsnip_t *pkt)
Initialize a gnrc priority packet queue node object.
priority_queue_t gnrc_priority_pktqueue_t
data type for gnrc priority packet queues
data type for gnrc priority packet queue nodes
void gnrc_priority_pktqueue_push(gnrc_priority_pktqueue_t *queue, gnrc_priority_pktqueue_node_t *node)
add node into queue based on its priority
uint32_t gnrc_priority_pktqueue_length(gnrc_priority_pktqueue_t *queue)
Get the length information of a gnrc priority packet queue object.
Type to represent parts (either headers or payload) of a packet, called snips.