diff options
author | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2016-01-13 13:55:44 +0100 |
---|---|---|
committer | Jacob Erlbeck <jerlbeck@sysmocom.de> | 2016-02-08 00:45:34 +0100 |
commit | ae9c575d2c2e7f906c41d28682445e6c8cb53f03 (patch) | |
tree | b9236fb18dc558431e8fa398b530de4fcb06641f /src/decoding.h | |
parent | c2141c6064ddf5283937c7f77468bf2396787804 (diff) |
edge: Handle EGPRS PACKET DOWNLINK ACK NACK
Currently this message is ignored.
Support decoding and handling of this message. Use a bitvec for the
decoder that just represents a BSN sequence without any encoding
details (first bit -> first BSN). Return the corresponding BSN range
(snsmod(bsn_begin + bits_in_bitvec) = bsn_end), so snsmod(bsn_end-1)
is the last BSN if there is at least 1. If bsn_begin == bsn_end, no
BSNs has been added.
Note that this bitvec is not yet used for RBB handling. It just calls
the old rcvd_dl_ack with a faked (all bits are 1) RBB map.
Sponsored-by: On-Waves ehf
Diffstat (limited to 'src/decoding.h')
-rw-r--r-- | src/decoding.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/decoding.h b/src/decoding.h index c75b19a1..99cb3187 100644 --- a/src/decoding.h +++ b/src/decoding.h @@ -24,6 +24,8 @@ #include <stdint.h> +struct bitvec; + class Decoding { public: struct RlcData { @@ -51,4 +53,8 @@ public: const struct gprs_rlc_data_info *rlc, unsigned int data_block_idx, const uint8_t *src, uint8_t *buffer); + static int decode_egprs_acknack_bits( + const EGPRS_AckNack_Desc_t *desc, + struct bitvec *bits, int *bsn_begin, int *bsn_end, + struct gprs_rlc_dl_window *window); }; |