Reassembly buffer definitions. More...
Reassembly buffer definitions.
Definition in file rb.h.
#include <stdint.h>#include <stdbool.h>#include <stdalign.h>#include "architecture.h"#include "net/gnrc/netif/hdr.h"#include "net/gnrc/pkt.h"#include "net/gnrc/sixlowpan/config.h" Include dependency graph for rb.h:
 Include dependency graph for rb.h: This graph shows which files directly or indirectly include this file:
 This graph shows which files directly or indirectly include this file:Go to the source code of this file.
| Data Structures | |
| struct | gnrc_sixlowpan_frag_rb_int | 
| Fragment intervals to identify limits of fragments and duplicates.  More... | |
| struct | gnrc_sixlowpan_frag_rb_base_t | 
| Base class for both reassembly buffer and virtual reassembly buffer.  More... | |
| struct | gnrc_sixlowpan_frag_rb_t | 
| An entry in the 6LoWPAN reassembly buffer.  More... | |
| Macros | |
| #define | GNRC_SIXLOWPAN_FRAG_RB_GC_MSG (0x0226) | 
| Message type for triggering garbage collection reassembly buffer. | |
| Typedefs | |
| typedef struct gnrc_sixlowpan_frag_rb_int | gnrc_sixlowpan_frag_rb_int_t | 
| Fragment intervals to identify limits of fragments and duplicates. | |
| Functions | |
| gnrc_sixlowpan_frag_rb_t * | gnrc_sixlowpan_frag_rb_add (gnrc_netif_hdr_t *netif_hdr, gnrc_pktsnip_t *frag, size_t offset, unsigned page) | 
| Adds a new fragment to the reassembly buffer. | |
| gnrc_sixlowpan_frag_rb_t * | gnrc_sixlowpan_frag_rb_get_by_datagram (const gnrc_netif_hdr_t *netif_hdr, uint16_t tag) | 
| Gets a reassembly buffer entry with a given link-layer address pair and tag. | |
| bool | gnrc_sixlowpan_frag_rb_exists (const gnrc_netif_hdr_t *netif_hdr, uint16_t tag) | 
| Checks if a reassembly buffer entry with a given link-layer address pair and tag exists. | |
| void | gnrc_sixlowpan_frag_rb_rm_by_datagram (const gnrc_netif_hdr_t *netif_hdr, uint16_t tag) | 
| Removes a reassembly buffer entry with a given link-layer address pair and tag. | |
| static bool | gnrc_sixlowpan_frag_rb_entry_empty (const gnrc_sixlowpan_frag_rb_t *rbuf) | 
| Checks if a reassembly buffer entry is unset. | |
| void | gnrc_sixlowpan_frag_rb_reset (void) | 
| Resets the packet buffer to a clean state. | |
| const gnrc_sixlowpan_frag_rb_t * | gnrc_sixlowpan_frag_rb_array (void) | 
| Returns a pointer to the array representing the reassembly buffer. | |
| void | gnrc_sixlowpan_frag_rb_base_rm (gnrc_sixlowpan_frag_rb_base_t *entry) | 
| Remove base entry. | |
| void | gnrc_sixlowpan_frag_rb_gc (void) | 
| Garbage collect reassembly buffer. | |
| int | gnrc_sixlowpan_frag_rb_dispatch_when_complete (gnrc_sixlowpan_frag_rb_t *rbuf, gnrc_netif_hdr_t *netif) | 
| Checks if a reassembly buffer entry is complete and dispatches it to the next layer if that is the case. | |
| static void | gnrc_sixlowpan_frag_rb_remove (gnrc_sixlowpan_frag_rb_t *rbuf) | 
| Unsets a reassembly buffer entry (but does not free rbuf_t::super::pkt) | |
| bool | gnrc_sixlowpan_frag_rb_ints_empty (void) | 
| Check if pool of fragment intervals is empty. | |