gnrc priority packet queue API More...

Detailed Description

#include <stdint.h>
#include <priority_queue.h>
#include <net/gnrc/pkt.h>
+ Include dependency graph for priority_pktqueue.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  gnrc_priority_pktqueue_node
 data type for gnrc priority packet queue nodes More...
 

Macros

#define PRIORITY_PKTQUEUE_NODE_INIT(priority, pkt)   { NULL, priority, pkt }
 Static initializer for gnrc_priority_pktqueue_node_t.
 
#define PRIORITY_PKTQUEUE_INIT   { NULL }
 Static initializer for gnrc_priority_pktqueue_t.
 

Typedefs

typedef struct gnrc_priority_pktqueue_node gnrc_priority_pktqueue_node_t
 data type for gnrc priority packet queue nodes
 
typedef priority_queue_t gnrc_priority_pktqueue_t
 data type for gnrc priority packet queues
 

Functions

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. More...
 
static void gnrc_priority_pktqueue_init (gnrc_priority_pktqueue_t *queue)
 Initialize a gnrc priority packet queue object. More...
 
uint32_t gnrc_priority_pktqueue_length (gnrc_priority_pktqueue_t *queue)
 Get the length information of a gnrc priority packet queue object. More...
 
void gnrc_priority_pktqueue_flush (gnrc_priority_pktqueue_t *queue)
 flush the gnrc priority packet queue More...
 
gnrc_pktsnip_tgnrc_priority_pktqueue_pop (gnrc_priority_pktqueue_t *queue)
 Get first element and remove it from queue. More...
 
gnrc_pktsnip_tgnrc_priority_pktqueue_head (gnrc_priority_pktqueue_t *queue)
 Get first element from queue without removing. More...
 
void gnrc_priority_pktqueue_push (gnrc_priority_pktqueue_t *queue, gnrc_priority_pktqueue_node_t *node)
 add node into queue based on its priority More...