diff options
author | Ivan Kluchnikov <kluchnikovi@gmail.com> | 2012-10-10 19:43:37 +0400 |
---|---|---|
committer | Ivan Kluchnikov <kluchnikovi@gmail.com> | 2012-10-10 19:43:37 +0400 |
commit | 701d9f83f84aa8c51b49c23f196776b56fda15e0 (patch) | |
tree | 7e107394bb4165941b6c67e3e685f74e60d55241 /src/gsm_rlcmac.h | |
parent | 9eb552b2399a714495cff4b7dc38c70b133342bb (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.h | 15 |
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> |