aboutsummaryrefslogtreecommitdiffstats
path: root/src/gsm_rlcmac.h
diff options
context:
space:
mode:
authorIvan Kluchnikov <kluchnikovi@gmail.com>2012-10-10 19:43:37 +0400
committerIvan Kluchnikov <kluchnikovi@gmail.com>2012-10-10 19:43:37 +0400
commit701d9f83f84aa8c51b49c23f196776b56fda15e0 (patch)
tree7e107394bb4165941b6c67e3e685f74e60d55241 /src/gsm_rlcmac.h
parent9eb552b2399a714495cff4b7dc38c70b133342bb (diff)
Ported fixes and improvements from Wireshark for RLC/MAC control block decoding. Part 1.
Generic improvements to the csn.1 dissector include: • Added a flag to the type descriptor structure so that any type can (potentially) flagged as xxx_OR_NULL. This was specifically needed for UINT_OR_NULL for the ms capabilities struct. • Changed the CSN_SERIALIZE so that the length of the length field can be specified. • For CSN_NEXT_EXIST removed the requirement that the next type be CSN_END, to allow truncation of multiple IEs. • For CSN_LEFT_ALIGNED_VAR_BITMAP corrected the handling of bit_offset. • Added a new type CSN_PADDING_BITS to make inspection of padding bits more convenient. • Improved the CSN_RECURSIVE_TARRAY_1 to show the array index. Improvements to the gsm_rlcmac dissector include: • Rework the definition of EGPRS Ack/Nack Description so that the length IE (and absence thereof) is handled correctly. • Added Padding Bits definitions to all PDUs • Change the Multislot_capability_t and Content_t definitions to allow truncation at any IE
Diffstat (limited to 'src/gsm_rlcmac.h')
-rw-r--r--src/gsm_rlcmac.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/gsm_rlcmac.h b/src/gsm_rlcmac.h
index afec1468..017b3112 100644
--- a/src/gsm_rlcmac.h
+++ b/src/gsm_rlcmac.h
@@ -454,9 +454,6 @@ typedef struct
typedef struct
{
- gboolean Exist_LENGTH;
- guint8 LENGTH;
-
guint8 FINAL_ACK_INDICATION;
guint8 BEGINNING_OF_WINDOW;
guint8 END_OF_WINDOW;
@@ -469,8 +466,20 @@ typedef struct
guint16 URBB_LENGTH;
guint8 URBB[URBB_MAX_BITS/8];
+} EGPRS_AckNack_Desc_t;
+
+typedef struct
+{
+ guint8 UnionType;
+ EGPRS_AckNack_Desc_t Desc;
} EGPRS_AckNack_t;
+typedef struct
+{
+ guint8 LENGTH;
+ EGPRS_AckNack_Desc_t Desc;
+} EGPRS_AckNack_w_len_t;
+
/* <P1 Rest Octets>
* <P2 Rest Octets>