sfr_types.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2019 Freie Universität Berlin
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
18 #ifndef NET_GNRC_SIXLOWPAN_FRAG_SFR_TYPES_H
19 #define NET_GNRC_SIXLOWPAN_FRAG_SFR_TYPES_H
20 
21 #include <stdint.h>
22 
23 #include "bitfield.h"
24 #include "clist.h"
25 #include "congure.h"
26 #include "evtimer_msg.h"
27 #include "modules.h"
28 #include "msg.h"
29 #include "xtimer.h"
30 
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34 
38 typedef union {
39  uint32_t u32;
40  BITFIELD(bf, 32U);
42 
48 #if IS_USED(MODULE_GNRC_SIXLOWPAN_FRAG_SFR_CONGURE) || DOXYGEN
50 #endif
55  uint32_t arq_timeout;
57  uint8_t cur_seq;
58  uint8_t frags_sent;
59  uint8_t retrans;
62 
63 #ifdef __cplusplus
64 }
65 #endif
66 
67 #endif /* NET_GNRC_SIXLOWPAN_FRAG_SFR_TYPES_H */
bitfields operations on bitfields of arbitrary length
Circular linked list.
IPC-based evtimer definitions.
struct gnrc_sixlowpan_frag_sfr_fb gnrc_sixlowpan_frag_sfr_fb_t
Extension for 6LoWPAN fragmentation buffer for selective fragment recovery.
Common macros and compiler attributes/pragmas configuration.
Base state object for CongURE implementations.
Definition: congure.h:51
IPC-message event.
Definition: evtimer_msg.h:40
Extension for 6LoWPAN fragmentation buffer for selective fragment recovery.
Definition: sfr_types.h:47
uint8_t frags_sent
Number of fragments sent.
Definition: sfr_types.h:58
uint32_t arq_timeout
Time in microseconds the sender should wait for an RFRAG Acknowledgment.
Definition: sfr_types.h:55
congure_snd_t * congure
state object for CongURE
Definition: sfr_types.h:49
uint8_t retrans
Datagram retransmissions.
Definition: sfr_types.h:59
evtimer_msg_event_t arq_timeout_event
Acknowledgment request timeout event.
Definition: sfr_types.h:54
clist_node_t window
Sent fragments of the current window.
Definition: sfr_types.h:60
uint8_t cur_seq
Sequence number for next fragment.
Definition: sfr_types.h:57
List node structure.
Definition: list.h:40
Bitmap type to simplify comparisons.
Definition: sfr_types.h:38
uint32_t u32
numerical version of bitmap
Definition: sfr_types.h:39
BITFIELD(bf, 32U)
bitfield version of bitmap
xtimer interface definitions