From 701d9f83f84aa8c51b49c23f196776b56fda15e0 Mon Sep 17 00:00:00 2001 From: Ivan Kluchnikov Date: Wed, 10 Oct 2012 19:43:37 +0400 Subject: =?UTF-8?q?Ported=20fixes=20and=20improvements=20from=20Wireshark?= =?UTF-8?q?=20for=20RLC/MAC=20control=20block=20decoding.=20Part=201.=20Ge?= =?UTF-8?q?neric=20improvements=20to=20the=20csn.1=20dissector=20include:?= =?UTF-8?q?=20=E2=80=A2=20Added=20a=20flag=20to=20the=20type=20descriptor?= =?UTF-8?q?=20structure=20so=20that=20any=20type=20can=20(potentially)=20f?= =?UTF-8?q?lagged=20as=20xxx=5FOR=5FNULL.=20=20This=20was=20specifically?= =?UTF-8?q?=20needed=20for=20UINT=5FOR=5FNULL=20for=20the=20ms=20capabilit?= =?UTF-8?q?ies=20struct.=20=E2=80=A2=20Changed=20the=20CSN=5FSERIALIZE=20s?= =?UTF-8?q?o=20that=20the=20length=20of=20the=20length=20field=20can=20be?= =?UTF-8?q?=20specified.=20=E2=80=A2=20For=20CSN=5FNEXT=5FEXIST=20removed?= =?UTF-8?q?=20the=20requirement=20that=20the=20next=20type=20be=20CSN=5FEN?= =?UTF-8?q?D,=20to=20allow=20truncation=20of=20multiple=20IEs.=20=E2=80=A2?= =?UTF-8?q?=20For=20CSN=5FLEFT=5FALIGNED=5FVAR=5FBITMAP=20corrected=20the?= =?UTF-8?q?=20handling=20of=20bit=5Foffset.=20=E2=80=A2=20Added=20a=20new?= =?UTF-8?q?=20type=20CSN=5FPADDING=5FBITS=20to=20make=20inspection=20of=20?= =?UTF-8?q?padding=20bits=20more=20convenient.=20=E2=80=A2=20Improved=20th?= =?UTF-8?q?e=20CSN=5FRECURSIVE=5FTARRAY=5F1=20to=20show=20the=20array=20in?= =?UTF-8?q?dex.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/gsm_rlcmac.h | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/gsm_rlcmac.h') 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; + /* * -- cgit v1.2.3