diff options
-rw-r--r-- | epan/dissectors/packet-csn1.c | 36 | ||||
-rw-r--r-- | epan/dissectors/packet-csn1.h | 92 | ||||
-rw-r--r-- | epan/dissectors/packet-gsm_rlcmac.c | 12 | ||||
-rw-r--r-- | epan/dissectors/packet-gsm_rlcmac.h | 10 |
4 files changed, 76 insertions, 74 deletions
diff --git a/epan/dissectors/packet-csn1.c b/epan/dissectors/packet-csn1.c index f9923f558b..0081ccafc5 100644 --- a/epan/dissectors/packet-csn1.c +++ b/epan/dissectors/packet-csn1.c @@ -238,21 +238,21 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t guint8 ui8 = tvb_get_bits8(tvb, bit_offset, no_of_bits); pui8 = pui8DATA(data, pDescr->offset); *pui8 = ui8; - proto_tree_add_bits_item(tree, *(pDescr->serialize.hf_ptr), tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(tree, *(pDescr->format_p.hf_ptr), tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); } else if (no_of_bits <= 16) { guint16 ui16 = tvb_get_bits16(tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); pui16 = pui16DATA(data, pDescr->offset); *pui16 = ui16; - proto_tree_add_bits_item(tree, *(pDescr->serialize.hf_ptr), tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(tree, *(pDescr->format_p.hf_ptr), tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); } else if (no_of_bits <= 32) { guint32 ui32 = tvb_get_bits32(tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); pui32 = pui32DATA(data, pDescr->offset); *pui32 = ui32; - proto_tree_add_bits_item(tree, *(pDescr->serialize.hf_ptr), tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(tree, *(pDescr->format_p.hf_ptr), tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); } else { @@ -353,7 +353,7 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t guint8 ui8 = tvb_get_masked_bits8(tvb, bit_offset, no_of_bits); pui8 = pui8DATA(data, pDescr->offset); *pui8 = ui8; - proto_tree_add_bits_item(tree, *(pDescr->serialize.hf_ptr), tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(tree, *(pDescr->format_p.hf_ptr), tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); } else @@ -377,7 +377,7 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t guint8 no_of_value_bits = (guint8) pDescr->i; guint64 value; - proto_tree_add_split_bits_item_ret_val(tree, *pDescr->serialize.hf_ptr, tvb, bit_offset, pDescr->descr.crumb_spec, &value); + proto_tree_add_split_bits_item_ret_val(tree, *pDescr->format_p.hf_ptr, tvb, bit_offset, pDescr->descr.crumb_spec, &value); if (no_of_value_bits <= 8) { pui8 = pui8DATA(data, pDescr->offset); @@ -406,7 +406,7 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t { if (remaining_bits_len >= pDescr->descr.crumb_spec[pDescr->i].crumb_bit_length) { - proto_tree_add_split_bits_crumb(tree, *pDescr->serialize.hf_ptr, tvb, bit_offset, + proto_tree_add_split_bits_crumb(tree, *pDescr->format_p.hf_ptr, tvb, bit_offset, pDescr->descr.crumb_spec, pDescr->i); remaining_bits_len -= pDescr->descr.crumb_spec[pDescr->i].crumb_bit_length; @@ -427,7 +427,7 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t guint16 nCount = (guint16)pDescr->descr.value; /* nCount supplied by value i.e. M_UINT_ARRAY(...) */ int i =0; - if (pDescr->serialize.value != 0) + if (pDescr->format_p.value != 0) { /* nCount specified by a reference to field holding value i.e. M_VAR_UINT_ARRAY(...) */ nCount = *pui16DATA(data, nCount); } @@ -477,7 +477,7 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t gint16 Status; csnStream_t arT = *ar; gint16 nCount = pDescr->i; - guint16 nSize = (guint16)(gint32)pDescr->serialize.value; + guint16 nSize = (guint16)(gint32)pDescr->format_p.value; int i =0; pui8 = pui8DATA(data, pDescr->offset); @@ -656,7 +656,7 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t case CSN_SERIALIZE: { - StreamSerializeFcn_t serialize = pDescr->serialize.fcn; + StreamSerializeFcn_t serialize = (StreamSerializeFcn_t)pDescr->aux_fn; csnStream_t arT = *ar; guint length_len = pDescr->i; gint16 Status = -1; @@ -792,7 +792,7 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t guint8 ui8 = tvb_get_bits8(tvb, bit_offset, no_of_bits); pui8 = pui8DATA(data, pDescr->offset); *pui8 = ui8; - proto_tree_add_bits_item(tree, *(pDescr->serialize.hf_ptr), tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(tree, *(pDescr->format_p.hf_ptr), tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); } else if (no_of_bits <= 16) @@ -800,14 +800,14 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t guint16 ui16 = tvb_get_bits16(tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); pui16 = pui16DATA(data, pDescr->offset); *pui16 = ui16; - proto_tree_add_bits_item(tree, *(pDescr->serialize.hf_ptr), tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(tree, *(pDescr->format_p.hf_ptr), tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); } else if (no_of_bits <= 32) { guint32 ui32 = tvb_get_bits32(tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); pui32 = pui32DATA(data, pDescr->offset); *pui32 = ui32; - proto_tree_add_bits_item(tree, *(pDescr->serialize.hf_ptr), tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(tree, *(pDescr->format_p.hf_ptr), tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); } else @@ -886,7 +886,7 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t guint8 ui8 = tvb_get_masked_bits8(tvb, bit_offset, no_of_bits); pui8 = pui8DATA(data, pDescr->offset); *pui8 = ui8; - proto_tree_add_bits_item(tree, *(pDescr->serialize.hf_ptr), tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); + proto_tree_add_bits_item(tree, *(pDescr->format_p.hf_ptr), tvb, bit_offset, no_of_bits, ENC_BIG_ENDIAN); } else { /* Maybe we should support more than 8 bits ? */ @@ -910,7 +910,7 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t guint16 nCount = (guint16)pDescr->descr.value; /* nCount supplied by value i.e. M_UINT_ARRAY(...) */ gint i = 0; - if (pDescr->serialize.value != 0) + if (pDescr->format_p.value != 0) { /* nCount specified by a reference to field holding value i.e. M_VAR_UINT_ARRAY(...) */ nCount = *pui16DATA(data, nCount); } @@ -975,7 +975,7 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t gint16 Status; csnStream_t arT = *ar; guint16 nCount = (guint16) pDescr->i; - guint16 nSize = (guint16)(guint32)pDescr->serialize.value; + guint16 nSize = (guint16)(guint32)pDescr->format_p.value; gint i = 0; pui8 = pui8DATA(data, pDescr->offset); @@ -1429,7 +1429,7 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t * M_REC_TARRAY(_STRUCT, _MEMBER, _MEMBER_TYPE, _ElementCountField) * {t, offsetof(_STRUCT, _ElementCountField), (void*)CSNDESCR_##_MEMBER_TYPE, offsetof(_STRUCT, _MEMBER), #_MEMBER, (StreamSerializeFcn_t)sizeof(_MEMBER_TYPE)} */ - gint16 nSizeElement = (gint16)(gint32)pDescr->serialize.value; + gint16 nSizeElement = (gint16)(gint32)pDescr->format_p.value; guint8 ElementCount = 0; while (existNextElement(tvb, bit_offset, Tag)) @@ -1500,7 +1500,7 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t * M_REC_TARRAY(_STRUCT, _MEMBER, _MEMBER_TYPE, _ElementCountField) * {t, offsetof(_STRUCT, _ElementCountField), (void*)CSNDESCR_##_MEMBER_TYPE, offsetof(_STRUCT, _MEMBER), #_MEMBER, (StreamSerializeFcn_t)sizeof(_MEMBER_TYPE)} */ - gint16 nSizeElement = (gint16)(gint32)pDescr->serialize.value; + gint16 nSizeElement = (gint16)(gint32)pDescr->format_p.value; guint8 ElementCount = 0; csnStream_t arT = *ar; gboolean EndOfList = FALSE; @@ -1592,7 +1592,7 @@ csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pDescr, t case CSN_CALLBACK: { guint16 no_of_bits; - DissectorCallbackFcn_t callback = (DissectorCallbackFcn_t)pDescr->descr.ptr; + DissectorCallbackFcn_t callback = (DissectorCallbackFcn_t)pDescr->aux_fn; no_of_bits = callback(tree, tvb, pvDATA(data, pDescr->i), pvDATA(data, pDescr->offset), bit_offset, ett_csn1); bit_offset += no_of_bits; diff --git a/epan/dissectors/packet-csn1.h b/epan/dissectors/packet-csn1.h index d16b2318d1..c7acea4ce0 100644 --- a/epan/dissectors/packet-csn1.h +++ b/epan/dissectors/packet-csn1.h @@ -57,6 +57,7 @@ typedef gint16 CSN_CallBackStatus_t; #ifndef ElementsOf #define ElementsOf(array) (sizeof(array) / sizeof(array[0])) #endif +typedef void(*void_fn_t)(void); /* Context holding CSN1 parameters */ typedef struct @@ -187,10 +188,11 @@ typedef struct const char* sz; union { - StreamSerializeFcn_t fcn; + void * dummy; /* to eliminate --pedantic compiler warnings */ guint32 value; int* hf_ptr; - } serialize; + } format_p; + void_fn_t aux_fn; } CSN_DESCR; typedef struct @@ -226,7 +228,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD CSN_DESCR CSNDESCR_##_STRUCT[] = { #define CSN_DESCR_END(_STRUCT)\ - {CSN_END, 0, {0}, 0, FALSE, "", {(StreamSerializeFcn_t)0}} }; + {CSN_END, 0, {0}, 0, FALSE, "", {NULL}, NULL} }; /****************************************************************************** * CSN_ERROR(Par1, Par2, Par3) @@ -237,7 +239,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par3: Error code *****************************************************************************/ #define CSN_ERROR(_STRUCT, _Text, _ERRCODE)\ - {CSN_TRAP_ERROR, _ERRCODE, {_Text}, 0, FALSE, _Text, {(StreamSerializeFcn_t)0}} + {CSN_TRAP_ERROR, _ERRCODE, {_Text}, 0, FALSE, _Text, {NULL}, NULL} /****************************************************************************** * M_BIT(Par1, Par2, Par3) @@ -247,7 +249,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par3: pointer to the header field *****************************************************************************/ #define M_BIT(_STRUCT, _MEMBER, _HF_PTR)\ - {CSN_BIT, 0, {0}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t) _HF_PTR}} + {CSN_BIT, 0, {0}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(int *)_HF_PTR}, NULL} /****************************************************************************** * M_BIT_OR_NULL(Par1, Par2, Par3) @@ -257,7 +259,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Covers the case {null | 0 | 1} *****************************************************************************/ #define M_BIT_OR_NULL(_STRUCT, _MEMBER, _HF_PTR)\ - {CSN_BIT, 0, {0}, offsetof(_STRUCT, _MEMBER), TRUE, #_MEMBER, {(StreamSerializeFcn_t) _HF_PTR}} + {CSN_BIT, 0, {0}, offsetof(_STRUCT, _MEMBER), TRUE, #_MEMBER, {(int *) _HF_PTR}, NULL} /****************************************************************************** * M_NEXT_EXIST(Par1, Par2, Par3) * Indicates whether the next element or a group of elements defined in the @@ -268,7 +270,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * element(s) does not exist *****************************************************************************/ #define M_NEXT_EXIST(_STRUCT, _MEMBER, _NoOfExisting)\ - {CSN_NEXT_EXIST, _NoOfExisting, {0}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)0}} + {CSN_NEXT_EXIST, _NoOfExisting, {0}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {NULL}, NULL} /****************************************************************************** * M_NEXT_EXIST_LH(Par1, Par2, Par3) @@ -278,7 +280,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * pattern 0x2B is performed on the read bit before the decision is made. *****************************************************************************/ #define M_NEXT_EXIST_LH(_STRUCT, _MEMBER, _NoOfExisting)\ - {CSN_NEXT_EXIST_LH, _NoOfExisting, {0}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)0}} + {CSN_NEXT_EXIST_LH, _NoOfExisting, {0}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {NULL}, NULL} /****************************************************************************** * M_NEXT_EXIST_OR_NULL(Par1, Par2, Par3) @@ -288,7 +290,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Covers the case {null | 0 | 1 < IE >} *****************************************************************************/ #define M_NEXT_EXIST_OR_NULL(_STRUCT, _MEMBER, _NoOfExisting)\ - {CSN_NEXT_EXIST, _NoOfExisting, {0}, offsetof(_STRUCT, _MEMBER), TRUE, #_MEMBER, {(StreamSerializeFcn_t)0}} + {CSN_NEXT_EXIST, _NoOfExisting, {0}, offsetof(_STRUCT, _MEMBER), TRUE, #_MEMBER, {NULL}, NULL} /****************************************************************************** * M_NEXT_EXIST_OR_NULL_LH(Par1, Par2, Par3) @@ -298,7 +300,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Covers the case {null | L | H < IE >} *****************************************************************************/ #define M_NEXT_EXIST_OR_NULL_LH(_STRUCT, _MEMBER, _NoOfExisting)\ - {CSN_NEXT_EXIST_LH, _NoOfExisting, {(void*)1}, offsetof(_STRUCT, _MEMBER), TRUE, #_MEMBER, {(StreamSerializeFcn_t)0}} + {CSN_NEXT_EXIST_LH, _NoOfExisting, {(void*)1}, offsetof(_STRUCT, _MEMBER), TRUE, #_MEMBER, {NULL}, NULL} /****************************************************************************** * M_UINT(Par1, Par2, Par3, Par4) @@ -309,7 +311,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par4: pointer to the header field *****************************************************************************/ #define M_UINT(_STRUCT, _MEMBER, _BITS, _HF_PTR)\ - {CSN_UINT, _BITS, {0}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t) _HF_PTR}} + {CSN_UINT, _BITS, {0}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(int *)_HF_PTR}, NULL} /****************************************************************************** * M_UINT_SPLIT(Par1, Par2, Par3, Par4) @@ -321,7 +323,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par4: pointer to the header field *****************************************************************************/ #define M_SPLIT_BITS(_STRUCT, _MEMBER, _SPEC, _BITS, _HF_PTR)\ - {CSN_SPLIT_BITS, _BITS, {_SPEC}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t) _HF_PTR}} + {CSN_SPLIT_BITS, _BITS, {_SPEC}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(int *) _HF_PTR}, NULL} /****************************************************************************** * M_NULL_SPLIT(Par1, Par2, Par3, Par4) @@ -332,7 +334,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par4: segment number (0 based) *****************************************************************************/ #define M_BITS_CRUMB(_STRUCT, _MEMBER, _SPEC, _SEG, _HF_PTR)\ - {CSN_SPLIT_BITS_CRUMB, _SEG, {_SPEC}, 0, FALSE, #_MEMBER, {(StreamSerializeFcn_t) _HF_PTR}} + {CSN_SPLIT_BITS_CRUMB, _SEG, {_SPEC}, 0, FALSE, #_MEMBER, {(int *) _HF_PTR}, NULL} /****************************************************************************** * M_UINT_OR_NULL(Par1, Par2, Par3, Par4) @@ -342,7 +344,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Covers the case {null | 0 | 1 < IE >} *****************************************************************************/ #define M_UINT_OR_NULL(_STRUCT, _MEMBER, _BITS, _HF_PTR)\ - {CSN_UINT, _BITS, {0}, offsetof(_STRUCT, _MEMBER), TRUE, #_MEMBER, {(StreamSerializeFcn_t) _HF_PTR}} + {CSN_UINT, _BITS, {0}, offsetof(_STRUCT, _MEMBER), TRUE, #_MEMBER, {(int *) _HF_PTR}, NULL} /****************************************************************************** * M_UINT_LH(Par1, Par2, Par3, Par4) @@ -352,7 +354,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * received CSN.1 message *****************************************************************************/ #define M_UINT_LH(_STRUCT, _MEMBER, _BITS, _HF_PTR)\ - {CSN_UINT_LH, _BITS, {0}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t) _HF_PTR}} + {CSN_UINT_LH, _BITS, {0}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(int *) _HF_PTR}, NULL} /****************************************************************************** * M_UINT_OFFSET(Par1, Par2, Par3, Par4) @@ -363,7 +365,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par4: value added to the returned integer (offset) *****************************************************************************/ #define M_UINT_OFFSET(_STRUCT, _MEMBER, _BITS, _OFFSET)\ - {CSN_UINT_OFFSET, _BITS, {(void*)_OFFSET}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)0}} + {CSN_UINT_OFFSET, _BITS, {(void*)_OFFSET}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {NULL}, NULL} /****************************************************************************** * M_UINT_ARRAY(Par1, Par2, Par3, Par4) @@ -374,7 +376,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par4: number of elements in the array (fixed integer value) *****************************************************************************/ #define M_UINT_ARRAY(_STRUCT, _MEMBER, _BITS, _ElementCount)\ - {CSN_UINT_ARRAY, _BITS, {(void*)_ElementCount}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)0}} + {CSN_UINT_ARRAY, _BITS, {(void*)_ElementCount}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {NULL}, NULL} /****************************************************************************** * M_VAR_UINT_ARRAY(Par1, Par2, Par3, Par4) @@ -386,7 +388,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * structure member holding the length value *****************************************************************************/ #define M_VAR_UINT_ARRAY(_STRUCT, _MEMBER, _BITS, _ElementCountField)\ - {CSN_UINT_ARRAY, _BITS, {(void*)offsetof(_STRUCT, _ElementCountField)}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)1}} + {CSN_UINT_ARRAY, _BITS, {(void*)offsetof(_STRUCT, _ElementCountField)}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(void *)1}, NULL} /****************************************************************************** * M_VAR_ARRAY(Par1, Par2, Par3, Par4) @@ -397,7 +399,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par4: offset that is added to the Par3 to get the actual size of the array *****************************************************************************/ #define M_VAR_ARRAY(_STRUCT, _MEMBER, _ElementCountField, _OFFSET)\ - {CSN_VARIABLE_ARRAY, _OFFSET, {(void*)offsetof(_STRUCT, _ElementCountField)}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)0}} + {CSN_VARIABLE_ARRAY, _OFFSET, {(void*)offsetof(_STRUCT, _ElementCountField)}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {NULL}, NULL} /****************************************************************************** * M_VAR_TARRAY(Par1, Par2, Par3, Par4) @@ -408,14 +410,14 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par4: name of the structure member holding the size of the array *****************************************************************************/ #define M_VAR_TARRAY(_STRUCT, _MEMBER, _MEMBER_TYPE, _ElementCountField)\ - {CSN_VARIABLE_TARRAY, offsetof(_STRUCT, _ElementCountField), {(void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)sizeof(_MEMBER_TYPE)}} + {CSN_VARIABLE_TARRAY, offsetof(_STRUCT, _ElementCountField), {(void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(void *)sizeof(_MEMBER_TYPE)}, NULL} /****************************************************************************** * M_VAR_TARRAY_OFFSET(Par1, Par2, Par3, Par4) * Same as M_VAR_TARRAY with offset *****************************************************************************/ #define M_VAR_TARRAY_OFFSET(_STRUCT, _MEMBER, _MEMBER_TYPE, _ElementCountField)\ - {CSN_VARIABLE_TARRAY_OFFSET, offsetof(_STRUCT, _ElementCountField), {(void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)sizeof(_MEMBER_TYPE)}} + {CSN_VARIABLE_TARRAY_OFFSET, offsetof(_STRUCT, _ElementCountField), {(void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(void *)sizeof(_MEMBER_TYPE)}, NULL} /****************************************************************************** * M_REC_ARRAY(Par1, Par2, Par3, Par4) @@ -433,7 +435,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par4: length of each element in bits *****************************************************************************/ #define M_REC_ARRAY(_STRUCT, _MEMBER, _ElementCountField, _BITS)\ - {CSN_RECURSIVE_ARRAY, _BITS, {(void*)offsetof(_STRUCT, _ElementCountField)}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)0}} + {CSN_RECURSIVE_ARRAY, _BITS, {(void*)offsetof(_STRUCT, _ElementCountField)}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {NULL}, NULL} /****************************************************************************** * M_VAR_TYPE_ARRAY(Par1, Par2, Par3, Par4) @@ -444,7 +446,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par4: number of elements in the array (fixed integer value) *****************************************************************************/ #define M_TYPE_ARRAY(_STRUCT, _MEMBER, _MEMBER_TYPE, _ElementCount)\ - {CSN_TYPE_ARRAY, _ElementCount, {(void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)sizeof(_MEMBER_TYPE)}} + {CSN_TYPE_ARRAY, _ElementCount, {(void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(void *)sizeof(_MEMBER_TYPE)}, NULL} /****************************************************************************** * M_REC_TARRAY(Par1, Par2, Par3, Par4) @@ -456,7 +458,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par4: will hold the number of element in the array after unpacking *****************************************************************************/ #define M_REC_TARRAY(_STRUCT, _MEMBER, _MEMBER_TYPE, _ElementCountField)\ - {CSN_RECURSIVE_TARRAY, offsetof(_STRUCT, _ElementCountField), {(void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)sizeof(_MEMBER_TYPE)}} + {CSN_RECURSIVE_TARRAY, offsetof(_STRUCT, _ElementCountField), {(void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(void *)sizeof(_MEMBER_TYPE)}, NULL} /****************************************************************************** * M_REC_TARRAY1(Par1, Par2, Par3, Par4) @@ -464,7 +466,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * <list> ::= <type> {1 <type>} ** 0 ; *****************************************************************************/ #define M_REC_TARRAY_1(_STRUCT, _MEMBER, _MEMBER_TYPE, _ElementCountField)\ - {CSN_RECURSIVE_TARRAY_1, offsetof(_STRUCT, _ElementCountField), {(void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)sizeof(_MEMBER_TYPE)}} + {CSN_RECURSIVE_TARRAY_1, offsetof(_STRUCT, _ElementCountField), {(void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(void *)sizeof(_MEMBER_TYPE)}, NULL} /****************************************************************************** * M_REC_TARRAY2(Par1, Par2, Par3, Par4) @@ -472,7 +474,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * <lists> ::= <type> { 0 <type> } ** 1 ; *****************************************************************************/ #define M_REC_TARRAY_2(_STRUCT, _MEMBER, _MEMBER_TYPE, _ElementCountField)\ - {CSN_RECURSIVE_TARRAY_2, offsetof(_STRUCT, _ElementCountField), {(void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)sizeof(_MEMBER_TYPE)}} + {CSN_RECURSIVE_TARRAY_2, offsetof(_STRUCT, _ElementCountField), {(void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(void *)sizeof(_MEMBER_TYPE)}, NULL} /****************************************************************************** * M_TYPE(Par1, Par2, Par3) @@ -483,7 +485,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par3: type of member *****************************************************************************/ #define M_TYPE(_STRUCT, _MEMBER, _MEMBER_TYPE)\ - {CSN_TYPE, 0, {(void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)0}} + {CSN_TYPE, 0, {(void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {NULL}, NULL} /****************************************************************************** * M_TYPE_LABEL(Par1, Par2, Par3, Par4) @@ -495,7 +497,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par4: C string for the text *****************************************************************************/ #define M_TYPE_LABEL(_STRUCT, _MEMBER, _MEMBER_TYPE, _LABEL)\ - {CSN_TYPE, 0, {(void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, _LABEL, {(StreamSerializeFcn_t)0}} + {CSN_TYPE, 0, {(void*)CSNDESCR_##_MEMBER_TYPE}, offsetof(_STRUCT, _MEMBER), FALSE, _LABEL, {NULL}, NULL} /****************************************************************************** * M_UNION(Par1, Par2) @@ -508,14 +510,14 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par2: number of possible choice in the union *****************************************************************************/ #define M_UNION(_STRUCT, _COUNT)\ - {CSN_UNION, _COUNT, {0}, offsetof(_STRUCT, UnionType), FALSE, "UnionType", {(StreamSerializeFcn_t)0}} + {CSN_UNION, _COUNT, {0}, offsetof(_STRUCT, UnionType), FALSE, "UnionType", {NULL}, NULL} /****************************************************************************** * M_UNION_LH(Par1, Par2) * Same as M_UNION but masked with background value 0x2B *****************************************************************************/ #define M_UNION_LH(_STRUCT, _COUNT)\ - {CSN_UNION_LH, _COUNT, {0}, offsetof(_STRUCT, UnionType), FALSE, "UnionType", {(StreamSerializeFcn_t)0}} + {CSN_UNION_LH, _COUNT, {0}, offsetof(_STRUCT, UnionType), FALSE, "UnionType", {NULL}, NULL} /****************************************************************************** * M_CHOICE(Par1, Par2, Par3, Par4) @@ -544,7 +546,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par4: number of possible choices in the union *****************************************************************************/ #define M_CHOICE(_STRUCT, _MEMBER, _CHOICE, _ElementCount)\ - {CSN_CHOICE, _ElementCount, {(void*)_CHOICE}, offsetof(_STRUCT, _MEMBER), FALSE, #_CHOICE, {(StreamSerializeFcn_t)0}} + {CSN_CHOICE, _ElementCount, {(void*)_CHOICE}, offsetof(_STRUCT, _MEMBER), FALSE, #_CHOICE, {NULL}, NULL} /****************************************************************************** * M_CHOICE_IL(Par1, Par2, Par3, Par4) @@ -552,7 +554,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * displayed to show there was a choice *****************************************************************************/ #define M_CHOICE_IL(_STRUCT, _MEMBER, _CHOICE, _ElementCount)\ - {CSN_CHOICE, _ElementCount, {(void*)_CHOICE}, offsetof(_STRUCT, _MEMBER), FALSE, NULL, {(StreamSerializeFcn_t)0}} + {CSN_CHOICE, _ElementCount, {(void*)_CHOICE}, offsetof(_STRUCT, _MEMBER), FALSE, NULL, {NULL}, NULL} /****************************************************************************** * M_FIXED(Par1, Par2, Par3) @@ -564,7 +566,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * the message the unpacking procedure is aborted *****************************************************************************/ #define M_FIXED(_STRUCT, _BITS, _BITVALUE)\ - {CSN_FIXED, _BITS, {0}, _BITVALUE, FALSE, #_BITVALUE, {(StreamSerializeFcn_t)0}} + {CSN_FIXED, _BITS, {0}, _BITVALUE, FALSE, #_BITVALUE, {NULL}, NULL} /****************************************************************************** * M_FIXED_LABEL(Par1, Par2, Par3, Par4) @@ -576,7 +578,7 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par4: C string for the text *****************************************************************************/ #define M_FIXED_LABEL(_STRUCT, _BITS, _BITVALUE, _LABEL)\ - {CSN_FIXED, _BITS, {0}, _BITVALUE, FALSE, _LABEL, {(StreamSerializeFcn_t)0}} + {CSN_FIXED, _BITS, {0}, _BITVALUE, FALSE, _LABEL, {NULL}, NULL} /****************************************************************************** * M_SERIALIZE(Par1, Par2, Par3) @@ -589,10 +591,10 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * back control over the data stream and continues to work with the message. *****************************************************************************/ #define M_SERIALIZE(_STRUCT, _MEMBER, _LENGTH_LEN, _SERIALIZEFCN)\ - {CSN_SERIALIZE, _LENGTH_LEN, {0}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {_SERIALIZEFCN}} + {CSN_SERIALIZE, _LENGTH_LEN, {0}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {NULL}, (void_fn_t)_SERIALIZEFCN} #define M_CALLBACK(_STRUCT, _CSNCALLBACKFCN, _PARAM1, _PARAM2)\ - {CSN_CALLBACK, offsetof(_STRUCT, _PARAM1), {_CSNCALLBACKFCN}, offsetof(_STRUCT, _PARAM2), FALSE, "CallBack_"#_CSNCALLBACKFCN, {(StreamSerializeFcn_t)0}} + {CSN_CALLBACK, offsetof(_STRUCT, _PARAM1), {0}, offsetof(_STRUCT, _PARAM2), FALSE, "CallBack_"#_CSNCALLBACKFCN, {NULL}, (void_fn_t)_CSNCALLBACKFCN} /****************************************************************************** * M_BITMAP(Par1, Par2, Par3) @@ -603,42 +605,42 @@ gint16 csnStreamDissector(proto_tree *tree, csnStream_t* ar, const CSN_DESCR* pD * Par3: length of the bitmap expressed in bits *****************************************************************************/ #define M_BITMAP(_STRUCT, _MEMBER, _BITS)\ - {CSN_BITMAP, _BITS, {0}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)0}} + {CSN_BITMAP, _BITS, {0}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {NULL}, NULL} /* variable length, right aligned bitmap i.e. _ElementCountField = 11 => 00000111 11111111 */ #define M_VAR_BITMAP(_STRUCT, _MEMBER, _ElementCountField, _OFFSET)\ - {CSN_VARIABLE_BITMAP, _OFFSET, {(void*)offsetof(_STRUCT, _ElementCountField)}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)0}} + {CSN_VARIABLE_BITMAP, _OFFSET, {(void*)offsetof(_STRUCT, _ElementCountField)}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {NULL}, NULL} /* variable length, right aligned bitmap filling the rest of message * - when unpacking the _ElementCountField will be set in runtime * - when packing _ElementCountField contains the size of bitmap */ #define M_VAR_BITMAP_1(_STRUCT, _MEMBER, _ElementCountField, _OFFSET)\ - {CSN_VARIABLE_BITMAP_1, _OFFSET, {(void*)offsetof(_STRUCT, _ElementCountField)}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)0}} + {CSN_VARIABLE_BITMAP_1, _OFFSET, {(void*)offsetof(_STRUCT, _ElementCountField)}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {NULL}, NULL} /* variable length, left aligned bitmap i.e. _ElementCountField = 11 => 11111111 11100000 */ #define M_LEFT_VAR_BMP(_STRUCT, _MEMBER, _ElementCountField, _OFFSET)\ - {CSN_LEFT_ALIGNED_VAR_BMP, _OFFSET, {(void*)offsetof(_STRUCT, _ElementCountField)}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)0}} + {CSN_LEFT_ALIGNED_VAR_BMP, _OFFSET, {(void*)offsetof(_STRUCT, _ElementCountField)}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {NULL}, NULL} /* variable length, left aligned bitmap filling the rest of message *- when unpacking the _ElementCountField will be set in runtime * - when packing _ElementCountField contains the size of bitmap */ #define M_LEFT_VAR_BMP_1(_STRUCT, _MEMBER, _ElementCountField, _OFFSET)\ - {CSN_LEFT_ALIGNED_VAR_BMP_1, _OFFSET, {(void*)offsetof(_STRUCT, _ElementCountField)}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)0}} + {CSN_LEFT_ALIGNED_VAR_BMP_1, _OFFSET, {(void*)offsetof(_STRUCT, _ElementCountField)}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {NULL}, NULL} /* todo: dissect padding bits looking for unexpected extensions */ #define M_PADDING_BITS(_STRUCT)\ - {CSN_PADDING_BITS, 0, {0}, 0, TRUE, "Padding", {(StreamSerializeFcn_t)0}} + {CSN_PADDING_BITS, 0, {0}, 0, TRUE, "Padding", {NULL}, NULL} #define M_NULL(_STRUCT, _MEMBER, _SKIP_BITS)\ - {CSN_NULL, _SKIP_BITS, {0}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {(StreamSerializeFcn_t)0}} + {CSN_NULL, _SKIP_BITS, {0}, offsetof(_STRUCT, _MEMBER), FALSE, #_MEMBER, {NULL}, NULL} #define M_THIS_EXIST(_STRUCT)\ - {CSN_EXIST, 0, {0}, offsetof(_STRUCT, Exist), FALSE, "Exist", {(StreamSerializeFcn_t)0}} + {CSN_EXIST, 0, {0}, offsetof(_STRUCT, Exist), FALSE, "Exist", {NULL}, NULL} #define M_THIS_EXIST_LH(_STRUCT)\ - {CSN_EXIST_LH, 0, {0}, offsetof(_STRUCT, Exist), FALSE, "Exist", {(StreamSerializeFcn_t)0}} + {CSN_EXIST_LH, 0, {0}, offsetof(_STRUCT, Exist), FALSE, "Exist", {NULL}, NULL} /* return value 0 if ok else discontionue the unpacking */ typedef gint16 (*CsnCallBackFcn_t)(void* pv ,...); diff --git a/epan/dissectors/packet-gsm_rlcmac.c b/epan/dissectors/packet-gsm_rlcmac.c index 34b886ddba..636256f64c 100644 --- a/epan/dissectors/packet-gsm_rlcmac.c +++ b/epan/dissectors/packet-gsm_rlcmac.c @@ -3389,7 +3389,7 @@ CSN_DESCR_BEGIN(NeighbourCellParameters_t) M_TYPE (NeighbourCellParameters_t, Cell_Selection, Cell_Selection_t), M_UINT (NeighbourCellParameters_t, NR_OF_REMAINING_CELLS, 4, &hf_neighbourcellparameters_nr_of_remaining_cells), M_UINT_OFFSET(NeighbourCellParameters_t, FREQ_DIFF_LENGTH, 3, 1),/* offset 1 */ - M_CALLBACK (NeighbourCellParameters_t, (void*)callback_init_Cell_Selection_Params_FREQUENCY_DIFF, FREQ_DIFF_LENGTH, Cell_Selection_Params_With_FreqDiff), + M_CALLBACK (NeighbourCellParameters_t, callback_init_Cell_Selection_Params_FREQUENCY_DIFF, FREQ_DIFF_LENGTH, Cell_Selection_Params_With_FreqDiff), M_VAR_TARRAY (NeighbourCellParameters_t, Cell_Selection_Params_With_FreqDiff, Cell_Selection_Params_With_FreqDiff_t, NR_OF_REMAINING_CELLS), CSN_DESCR_END (NeighbourCellParameters_t) @@ -3514,7 +3514,7 @@ CSN_DESCR_BEGIN(Add_Frequency_list_t) M_UINT (Add_Frequency_list_t, NR_OF_FREQUENCIES, 5, &hf_add_frequency_list_nr_of_frequencies), M_UINT_OFFSET(Add_Frequency_list_t, FREQ_DIFF_LENGTH, 3, 1),/*offset 1*/ - M_CALLBACK (Add_Frequency_list_t, (void*)callback_init_Cell_Sel_Param_2_FREQUENCY_DIFF, FREQ_DIFF_LENGTH, CellSelectionParamsWithFreqDiff), + M_CALLBACK (Add_Frequency_list_t, callback_init_Cell_Sel_Param_2_FREQUENCY_DIFF, FREQ_DIFF_LENGTH, CellSelectionParamsWithFreqDiff), M_VAR_TARRAY (Add_Frequency_list_t, CellSelectionParamsWithFreqDiff, CellSelectionParamsWithFreqDiff_t, NR_OF_FREQUENCIES), CSN_DESCR_END (Add_Frequency_list_t) @@ -3879,8 +3879,8 @@ CSN_DESCR_BEGIN(UTRAN_TDD_NeighbourCells_t) M_UINT (UTRAN_TDD_NeighbourCells_t, UARFCN, 14, &hf_utran_tdd_neighbourcells_uarfcn), M_UINT (UTRAN_TDD_NeighbourCells_t, Indic0, 1, &hf_utran_tdd_neighbourcells_indic0), M_UINT (UTRAN_TDD_NeighbourCells_t, NrOfCells, 5, &hf_utran_tdd_neighbourcells_nrofcells), - M_CALLBACK (UTRAN_TDD_NeighbourCells_t, (void*)callback_UTRAN_TDD_map_NrOfFrequencies, NrOfCells, BitsInCellInfo), - M_CALLBACK (UTRAN_TDD_NeighbourCells_t, (void*)callback_UTRAN_TDD_compute_TDD_CELL_INFORMATION, ZERO, CellInfo), + M_CALLBACK (UTRAN_TDD_NeighbourCells_t, callback_UTRAN_TDD_map_NrOfFrequencies, NrOfCells, BitsInCellInfo), + M_CALLBACK (UTRAN_TDD_NeighbourCells_t, callback_UTRAN_TDD_compute_TDD_CELL_INFORMATION, ZERO, CellInfo), CSN_DESCR_END (UTRAN_TDD_NeighbourCells_t) @@ -4052,7 +4052,7 @@ CSN_DESCR_BEGIN(Add_lu_ModeOnlyFrequencyList_t) M_UINT (Add_lu_ModeOnlyFrequencyList_t, NR_OF_FREQUENCIES, 5, &hf_add_lu_modeonlyfrequencylist_nr_of_frequencies), M_UINT (Add_lu_ModeOnlyFrequencyList_t, FREQ_DIFF_LENGTH, 3, &hf_add_lu_modeonlyfrequencylist_freq_diff_length), - M_CALLBACK (Add_lu_ModeOnlyFrequencyList_t, (void*)callback_init_luMode_Cell_Sel_Param_FREQUENCY_DIFF, FREQ_DIFF_LENGTH, lu_ModeOnlyCellSelectionParamsWithFreqDiff), + M_CALLBACK (Add_lu_ModeOnlyFrequencyList_t, callback_init_luMode_Cell_Sel_Param_FREQUENCY_DIFF, FREQ_DIFF_LENGTH, lu_ModeOnlyCellSelectionParamsWithFreqDiff), M_VAR_TARRAY (Add_lu_ModeOnlyFrequencyList_t, lu_ModeOnlyCellSelectionParamsWithFreqDiff, lu_ModeOnlyCellSelectionParamsWithFreqDiff_t, NR_OF_FREQUENCIES), CSN_DESCR_END (Add_lu_ModeOnlyFrequencyList_t) @@ -5649,7 +5649,7 @@ CSN_DESCR_BEGIN(COMPACT_Neighbour_Cell_Param_t) M_TYPE (COMPACT_Neighbour_Cell_Param_t, COMPACT_Cell_Sel, COMPACT_Cell_Sel_t), M_UINT (COMPACT_Neighbour_Cell_Param_t, NR_OF_REMAINING_CELLS, 4, &hf_packet_compact_ncell_param_nr_of_remaining_cells), M_UINT_OFFSET(COMPACT_Neighbour_Cell_Param_t, FREQ_DIFF_LENGTH, 3, 1), - M_CALLBACK (COMPACT_Neighbour_Cell_Param_t, (void*)callback_init_COMP_Ncell_Param_FREQUENCY_DIFF, FREQ_DIFF_LENGTH, COMPACT_Neighbour_Cell_Param_Remaining), + M_CALLBACK (COMPACT_Neighbour_Cell_Param_t, callback_init_COMP_Ncell_Param_FREQUENCY_DIFF, FREQ_DIFF_LENGTH, COMPACT_Neighbour_Cell_Param_Remaining), M_VAR_TARRAY (COMPACT_Neighbour_Cell_Param_t, COMPACT_Neighbour_Cell_Param_Remaining, COMPACT_Neighbour_Cell_Param_Remaining_t, NR_OF_REMAINING_CELLS), CSN_DESCR_END (COMPACT_Neighbour_Cell_Param_t) diff --git a/epan/dissectors/packet-gsm_rlcmac.h b/epan/dissectors/packet-gsm_rlcmac.h index 7746a33654..138b8c20eb 100644 --- a/epan/dissectors/packet-gsm_rlcmac.h +++ b/epan/dissectors/packet-gsm_rlcmac.h @@ -334,10 +334,10 @@ typedef struct struct MobileId /* Mobile id, -> TMSI, IMEI or IMSI */ { - guint8 Length:8; - guint8 IdType:3; - guint8 OddEven:1; - guint8 Dig1:4; + guint8 Length; + guint8 IdType; + guint8 OddEven; + guint8 Dig1; union { unsigned char TMSI[TMSI_LEN]; @@ -5004,7 +5004,7 @@ typedef enum RLCMAC_HDR_TYPE_7 = 0x37, RLCMAC_HDR_TYPE_8 = 0x38, RLCMAC_HDR_TYPE_9 = 0x39, - RLCMAC_HDR_TYPE_10 = 0x3a, + RLCMAC_HDR_TYPE_10 = 0x3a }RLCMAC_block_format_t; /* < Downlink RLC/MAC control message > */ |