diff options
author | Darien Spencer <cusneud@mail.com> | 2018-05-23 19:52:42 +0300 |
---|---|---|
committer | Peter Wu <peter@lekensteyn.nl> | 2018-05-23 17:50:56 +0000 |
commit | 5ccac2b65af39fe778aec9a3ed83c502dc6023d3 (patch) | |
tree | 3402b9fff7bee7f794fca78ed6295c7af33cdbe2 | |
parent | 14b2d4c4a31443e8e9063eef4bf3b035d7da2c2e (diff) |
NBAP: Simplify private data API
Explicit getters/setters seems excessive and become
unmaintainable when the private data struct gets big, like in NBAP
Change-Id: I54d6eea327f1b393d9f80aafcbdd75080e10d50d
Reviewed-on: https://code.wireshark.org/review/27749
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
-rw-r--r-- | epan/dissectors/asn1/nbap/nbap.cnf | 585 | ||||
-rw-r--r-- | epan/dissectors/asn1/nbap/packet-nbap-template.c | 398 | ||||
-rw-r--r-- | epan/dissectors/packet-nbap.c | 1240 |
3 files changed, 670 insertions, 1553 deletions
diff --git a/epan/dissectors/asn1/nbap/nbap.cnf b/epan/dissectors/asn1/nbap/nbap.cnf index 80ca95c05b..a2235d171b 100644 --- a/epan/dissectors/asn1/nbap/nbap.cnf +++ b/epan/dissectors/asn1/nbap/nbap.cnf @@ -80,7 +80,7 @@ ProtocolIE-ContainerPairList #.FN_BODY ProtocolIE-ID VAL_PTR = &protocol_ie_id guint32 protocol_ie_id; %(DEFAULT_BODY)s - private_data_set_protocol_ie_id(actx->pinfo, protocol_ie_id); /* To carry around the packet */ + nbap_get_private_data(actx->pinfo)->protocol_ie_id = protocol_ie_id; /* To carry around the packet */ if (tree) { proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %%s", val_to_str_ext(protocol_ie_id, &nbap_ProtocolIE_ID_vals_ext, "unknown (%%d)")); } @@ -93,34 +93,26 @@ ProtocolIE-ContainerPairList #.FN_BODY ProcedureCode VAL_PTR = &procedure_code guint32 procedure_code; %(DEFAULT_BODY)s - private_data_set_procedure_code(actx->pinfo, procedure_code); + nbap_get_private_data(actx->pinfo)->procedure_code = procedure_code; col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%%s ", val_to_str(procedure_code, nbap_ProcedureCode_vals, "unknown message")); -#.FN_BODY ProcedureID/ddMode VAL_PTR = &dd_mode - guint32 dd_mode; -%(DEFAULT_BODY)s - private_data_set_dd_mode(actx->pinfo, dd_mode); +#.FN_PARS ProcedureID/ddMode VAL_PTR = &nbap_get_private_data(actx->pinfo)->dd_mode #.FN_BODY ProcedureID ProcedureID = NULL; + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); %(DEFAULT_BODY)s ProcedureID = wmem_strdup_printf(wmem_packet_scope(), "%%s/%%s", - val_to_str(private_data_get_procedure_code(actx->pinfo), VALS(nbap_ProcedureCode_vals), "unknown(%%u)"), - val_to_str(private_data_get_dd_mode(actx->pinfo), VALS(nbap_DdMode_vals), "unknown(%%u)")); - private_data_set_crnc_context_present(actx->pinfo, FALSE); /*Reset CRNC Com context present flag.*/ + val_to_str(nbap_private_data->procedure_code, VALS(nbap_ProcedureCode_vals), "unknown(%%u)"), + val_to_str(nbap_private_data->dd_mode, VALS(nbap_DdMode_vals), "unknown(%%u)")); + nbap_private_data->crnc_context_present = FALSE; /*Reset CRNC Com context present flag.*/ -#.FN_BODY TransactionID/shortTransActionId VAL_PTR = &transaction_id - guint32 transaction_id; -%(DEFAULT_BODY)s - private_data_set_transaction_id(actx->pinfo, transaction_id); +#.FN_PARS TransactionID/shortTransActionId VAL_PTR = &nbap_get_private_data(actx->pinfo)->transaction_id -#.FN_BODY TransactionID/longTransActionId VAL_PTR = &transaction_id - guint32 transaction_id; -%(DEFAULT_BODY)s - private_data_set_transaction_id(actx->pinfo, transaction_id); +#.FN_PARS TransactionID/longTransActionId VAL_PTR = &nbap_get_private_data(actx->pinfo)->transaction_id #.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue @@ -186,23 +178,24 @@ nbap_setup_conv_t *request_conv; conversation_t *conv; guint32 transportLayerAddress_ipv4; guint16 bindingID; +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); nbap_debug("Frame %%u CommonTransportChannel-InformationResponse Start", actx->pinfo->num); -private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); -private_data_set_binding_id_port(actx->pinfo, 0); +nbap_private_data->transportLayerAddress_ipv4 = 0; +nbap_private_data->binding_id_port = 0; %(DEFAULT_BODY)s - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); - request_conv = find_setup_conv(private_data_get_transaction_id(actx->pinfo),private_data_get_dd_mode(actx->pinfo),private_data_get_common_transport_channel_id(actx->pinfo)); + request_conv = find_setup_conv(nbap_private_data->transaction_id,nbap_private_data->dd_mode,nbap_private_data->common_transport_channel_id); if(request_conv == NULL){ return offset; @@ -597,22 +590,13 @@ actx->pinfo->link_dir=P2P_DIR_UL; # SecondaryULFrequencyReport # SecondaryULFrequencyUpdateIndication -#.FN_BODY IB-Type VAL_PTR = &ib_type - guint32 ib_type; -%(DEFAULT_BODY)s - private_data_set_ib_type(actx->pinfo, ib_type); - -#.FN_BODY Segment-Type VAL_PTR = &segment_type - guint32 segment_type; -%(DEFAULT_BODY)s - private_data_set_segment_type(actx->pinfo, segment_type); +#.FN_PARS IB-Type VAL_PTR = &nbap_get_private_data(actx->pinfo)->ib_type -#.FN_BODY MIB-SB-SIB-InformationItem-SystemInfoUpdateRqst +#.FN_PARS Segment-Type VAL_PTR = &nbap_get_private_data(actx->pinfo)->segment_type - private_data_set_ib_type(actx->pinfo, 10); /* not-Used-sIB8 */ - private_data_set_segment_type(actx->pinfo, 0); - -%(DEFAULT_BODY)s +#.FN_HDR MIB-SB-SIB-InformationItem-SystemInfoUpdateRqst + nbap_get_private_data(actx->pinfo)->ib_type = 10; /* not-Used-sIB8 */ + nbap_get_private_data(actx->pinfo)->segment_type = 0; #.FN_BODY IB-SG-DATA VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb=NULL; @@ -635,12 +619,13 @@ actx->pinfo->link_dir=P2P_DIR_UL; guint32 byte_off = 0; guint32 bit_off = 0x80; guint32 sources_count; + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); %(DEFAULT_BODY)s if(!parameter_tvb) return offset; - segment_type = private_data_get_segment_type(actx->pinfo); + segment_type = nbap_private_data->segment_type; switch(segment_type) { case 5: /*complete-SIB */ final_tvb = tvb_new_subset_length(parameter_tvb,0,tvb_captured_length (parameter_tvb)-1); @@ -655,11 +640,11 @@ actx->pinfo->link_dir=P2P_DIR_UL; if (nbap_ib_segment == NULL ) { /* failed to parse */ return offset; } - list = private_data_get_ib_segments(actx->pinfo); + list = nbap_private_data->ib_segments; if (!list) { if ( segment_type == 0 || segment_type == 1 ) { /* first or first-short */ list = wmem_list_new(wmem_packet_scope()); - private_data_set_ib_segments(actx->pinfo,list); + nbap_private_data->ib_segments = list; } else { return offset; @@ -717,7 +702,7 @@ actx->pinfo->link_dir=P2P_DIR_UL; add_new_data_source(actx->pinfo, final_tvb, "Reassembled Information Block"); /* Reset segments list */ - private_data_set_ib_segments(actx->pinfo,NULL); + nbap_private_data->ib_segments = NULL; /* Add 'reassembled' item to tree */ ti = proto_tree_add_item(tree, hf_nbap_reassembled_information_block, final_tvb, 0, total_byte_size, ENC_NA); @@ -727,7 +712,7 @@ actx->pinfo->link_dir=P2P_DIR_UL; } subtree = proto_item_add_subtree(ti, ett_nbap_ib_sg_data); - switch(private_data_get_ib_type(actx->pinfo)){ + switch(nbap_private_data->ib_type){ case 0: /* mIB */ dissect_rrc_MasterInformationBlock_PDU(final_tvb, actx->pinfo, subtree, NULL); @@ -839,6 +824,7 @@ actx->pinfo->link_dir=P2P_DIR_UL; guint8 *padded_nsap_bytes; tvbuff_t *nsap_tvb; gint tvb_len; + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); %(DEFAULT_BODY)s if (!parameter_tvb) @@ -851,7 +837,7 @@ actx->pinfo->link_dir=P2P_DIR_UL; if (tvb_len==4){ /* IPv4 */ proto_tree_add_item(subtree, hf_nbap_transportLayerAddress_ipv4, parameter_tvb, 0, tvb_len, ENC_BIG_ENDIAN); - private_data_set_transportLayerAddress_ipv4(actx->pinfo, tvb_get_ipv4(parameter_tvb, 0)); + nbap_private_data->transportLayerAddress_ipv4 = tvb_get_ipv4(parameter_tvb, 0); } if (tvb_len==16){ /* IPv6 */ @@ -874,7 +860,7 @@ actx->pinfo->link_dir=P2P_DIR_UL; nsap_tree = proto_item_add_subtree(item, ett_nbap_TransportLayerAddress_nsap); if(tvb_get_ntoh24(parameter_tvb,0) == 0x350001){ /* IPv4 */ - private_data_set_transportLayerAddress_ipv4(actx->pinfo, tvb_get_ipv4(parameter_tvb, 3)); + nbap_private_data->transportLayerAddress_ipv4 = tvb_get_ipv4(parameter_tvb, 3); } dissect_nsap(nsap_tvb, 0, 20, nsap_tree); } @@ -886,78 +872,75 @@ guint32 payload_crc_value; %(DEFAULT_BODY)s if(payload_crc_value == 0){ - private_data_set_dch_crc_present(actx->pinfo, TRUE); + nbap_get_private_data(actx->pinfo)->dch_crc_present = TRUE; }else{ - private_data_set_dch_crc_present(actx->pinfo, FALSE); + nbap_get_private_data(actx->pinfo)->dch_crc_present = FALSE; } -#.FN_BODY DCH-ID VAL_PTR = &t_dch_id - guint32 t_dch_id; -%(DEFAULT_BODY)s - private_data_set_t_dch_id(actx->pinfo, t_dch_id); +#.FN_PARS DCH-ID VAL_PTR = &nbap_get_private_data(actx->pinfo)->t_dch_id #.FN_BODY DCH-Specific-FDD-Item/dCH-ID guint32 dch_id; gint num_dch_in_flow; nbap_dch_channel_info_t* nbap_dch_chnl_info; - nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, &dch_id, FALSE); - num_dch_in_flow = private_data_get_num_dch_in_flow(actx->pinfo); - private_data_set_dch_id(actx->pinfo, dch_id); + num_dch_in_flow = nbap_private_data->num_dch_in_flow; + nbap_private_data->dch_id = dch_id; if(num_dch_in_flow>0){ - guint32 prev_dch_id = private_data_get_prev_dch_id(actx->pinfo); + guint32 prev_dch_id = nbap_private_data->prev_dch_id; nbap_dch_chnl_info[dch_id].next_dch = 0; if(prev_dch_id != 0 && prev_dch_id != 0xffffffff && prev_dch_id != dch_id){ nbap_dch_chnl_info[prev_dch_id].next_dch = dch_id; } } -#.FN_BODY DCH-ModifySpecificItem-FDD/dCH-ID - -%(DEFAULT_BODY)s - private_data_set_dch_id(actx->pinfo, private_data_get_t_dch_id(actx->pinfo)); +#.FN_FTR DCH-ModifySpecificItem-FDD/dCH-ID + nbap_get_private_data(actx->pinfo)->dch_id = nbap_get_private_data(actx->pinfo)->t_dch_id; #.FN_BODY CommonPhysicalChannelID VAL_PTR = &commonphysicalchannelid guint32 commonphysicalchannelid; nbap_dch_channel_info_t* nbap_dch_chnl_info; -nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; %(DEFAULT_BODY)s -private_data_set_common_physical_channel_id(actx->pinfo, commonphysicalchannelid); +nbap_private_data->common_physical_channel_id = commonphysicalchannelid; if(commonphysicalchannelid<maxNrOfDCHs) nbap_dch_chnl_info[commonphysicalchannelid].next_dch = 0; #.FN_BODY CommonTransportChannelID VAL_PTR = &commontransportchannelid guint32 commontransportchannelid; nbap_dch_channel_info_t* nbap_dch_chnl_info; - nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; %(DEFAULT_BODY)s -private_data_set_common_transport_channel_id(actx->pinfo, commontransportchannelid); +nbap_private_data->common_transport_channel_id = commontransportchannelid; if(commontransportchannelid<maxNrOfDCHs) nbap_dch_chnl_info[commontransportchannelid].next_dch = 0; -#.FN_BODY E-DCH-MACdFlow-ID VAL_PTR = &e_dch_macdflow_id - guint32 e_dch_macdflow_id; -%(DEFAULT_BODY)s - private_data_set_e_dch_macdflow_id(actx->pinfo, e_dch_macdflow_id); +#.FN_PARS E-DCH-MACdFlow-ID VAL_PTR = &nbap_get_private_data(actx->pinfo)->e_dch_macdflow_id #.FN_BODY HSDSCH-MACdFlow-ID VAL_PTR = &hsdsch_macdflow_id guint32 hsdsch_macdflow_id; guint num_items; gint* hsdsch_macdflow_ids; + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); %(DEFAULT_BODY)s - private_data_set_hsdsch_macdflow_id(actx->pinfo, hsdsch_macdflow_id); + nbap_private_data->hsdsch_macdflow_id = hsdsch_macdflow_id; - num_items = private_data_get_num_items(actx->pinfo); + num_items = nbap_private_data->num_items; DISSECTOR_ASSERT(num_items < maxNrOfMACdFlows+1); DISSECTOR_ASSERT(num_items > 0); -hsdsch_macdflow_ids = private_data_get_hsdsch_macdflow_ids(actx->pinfo); +hsdsch_macdflow_ids = nbap_private_data->hsdsch_macdflow_ids; hsdsch_macdflow_ids[num_items-1] = hsdsch_macdflow_id; #.FN_BODY BindingID VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb=NULL; + guint16 binding_id_port; %(DEFAULT_BODY)s @@ -968,16 +951,17 @@ hsdsch_macdflow_ids[num_items-1] = hsdsch_macdflow_id; # -- If the Binding ID includes a UDP port, the UDP port is included in octet 1 and 2.The first octet of # -- the UDP port field is included in the first octet of the Binding ID. if(tvb_reported_length(parameter_tvb)>=2){ - private_data_set_binding_id_port(actx->pinfo, tvb_get_ntohs(parameter_tvb,0)); - proto_item_append_text(actx->created_item, " (%%u)",private_data_get_binding_id_port(actx->pinfo)); + binding_id_port = tvb_get_ntohs(parameter_tvb,0); + nbap_get_private_data(actx->pinfo)->binding_id_port = binding_id_port; + proto_item_append_text(actx->created_item, " (%%u)",binding_id_port); } #.FN_BODY UL-ScramblingCodeNumber VAL_PTR = &ul_scrambling_code guint32 ul_scrambling_code; guint32 com_context_id; %(DEFAULT_BODY)s - private_data_set_ul_scrambling_code(actx->pinfo, ul_scrambling_code); - com_context_id = private_data_get_com_context_id(actx->pinfo); + nbap_get_private_data(actx->pinfo)->ul_scrambling_code = ul_scrambling_code; + com_context_id = nbap_get_private_data(actx->pinfo)->com_context_id; if(ul_scrambling_code != 0 && com_context_id != 0) { wmem_tree_insert32(nbap_scrambling_code_crncc_map,ul_scrambling_code,GUINT_TO_POINTER(com_context_id)); } @@ -992,17 +976,18 @@ guint32 transportLayerAddress_ipv4; guint16 bindingID; guint32 common_physical_channel_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; -nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; -private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); -private_data_set_binding_id_port(actx->pinfo, 0); -private_data_set_transport_format_set_type(actx->pinfo, NBAP_CPCH); +nbap_private_data->transportLayerAddress_ipv4 = 0; +nbap_private_data->binding_id_port = 0; +nbap_private_data->transport_format_set_type = NBAP_CPCH; %(DEFAULT_BODY)s - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -1033,12 +1018,12 @@ private_data_set_transport_format_set_type(actx->pinfo, NBAP_CPCH); /*Save unique UE-identifier */ - umts_fp_conversation_info->com_context_id = private_data_get_crnc_context_present(actx->pinfo) ? private_data_get_com_context_id(actx->pinfo) : 1; + umts_fp_conversation_info->com_context_id = nbap_private_data->crnc_context_present ? nbap_private_data->com_context_id : 1; /* DCH's in this flow */ - umts_fp_conversation_info->dch_crc_present = private_data_get_dch_crc_present(actx->pinfo); + umts_fp_conversation_info->dch_crc_present = nbap_private_data->dch_crc_present; /* Set data for First or single channel */ - common_physical_channel_id = private_data_get_common_physical_channel_id(actx->pinfo); + common_physical_channel_id = nbap_private_data->common_physical_channel_id; umts_fp_conversation_info->fp_dch_channel_info[0].num_ul_chans = num_tf = nbap_dch_chnl_info[common_physical_channel_id].num_ul_chans; for (j = 0; j < num_tf; j++) { umts_fp_conversation_info->fp_dch_channel_info[0].ul_chan_tf_size[j] = nbap_dch_chnl_info[common_physical_channel_id].ul_chan_tf_size[j]; @@ -1057,7 +1042,7 @@ private_data_set_transport_format_set_type(actx->pinfo, NBAP_CPCH); set_umts_fp_conv_data(conversation, umts_fp_conversation_info); /* Add Setup Conversation to list, we need it in response msg */ - add_setup_conv(private_data_get_transaction_id(actx->pinfo),private_data_get_dd_mode(actx->pinfo),private_data_get_common_transport_channel_id(actx->pinfo), actx->pinfo->num, &dst_addr, bindingID, umts_fp_conversation_info, conversation); + add_setup_conv(nbap_private_data->transaction_id,nbap_private_data->dd_mode,nbap_private_data->common_transport_channel_id, actx->pinfo->num, &dst_addr, bindingID, umts_fp_conversation_info, conversation); } #.FN_BODY PICH-Mode VAL_PTR = &PICH_Mode @@ -1066,16 +1051,16 @@ guint32 PICH_Mode = 0; switch(PICH_Mode){ case 0: /* v18 */ - private_data_set_paging_indications(actx->pinfo, 18); + nbap_get_private_data(actx->pinfo)->paging_indications = 18; break; case 1: /* v36 */ - private_data_set_paging_indications(actx->pinfo, 36); + nbap_get_private_data(actx->pinfo)->paging_indications = 36; break; case 2: /* v72 */ - private_data_set_paging_indications(actx->pinfo, 72); + nbap_get_private_data(actx->pinfo)->paging_indications = 72; break; case 3: /* v144 */ - private_data_set_paging_indications(actx->pinfo, 144); + nbap_get_private_data(actx->pinfo)->paging_indications = 144; break; } @@ -1093,18 +1078,19 @@ guint32 transportLayerAddress_ipv4; guint16 bindingID; guint32 common_transport_channel_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; -nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; -private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); -private_data_set_binding_id_port(actx->pinfo, 0); +nbap_private_data->transportLayerAddress_ipv4 = 0; +nbap_private_data->binding_id_port = 0; /* There can only be one item, set num_items here to collect the TransportFormatSet data */ -private_data_set_num_items(actx->pinfo, 1); +nbap_private_data->num_items = 1; %(DEFAULT_BODY)s - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -1130,13 +1116,13 @@ private_data_set_num_items(actx->pinfo, 1); umts_fp_conversation_info->rlc_mode = FP_RLC_MODE_UNKNOWN; fp_pch_channel_info = wmem_new0(wmem_file_scope(), fp_pch_channel_info_t); - fp_pch_channel_info->paging_indications = private_data_get_paging_indications(actx->pinfo); + fp_pch_channel_info->paging_indications = nbap_private_data->paging_indications; umts_fp_conversation_info->channel_specific_info = (void*)fp_pch_channel_info; /* DCH's in this flow */ - umts_fp_conversation_info->dch_crc_present = private_data_get_dch_crc_present(actx->pinfo); + umts_fp_conversation_info->dch_crc_present = nbap_private_data->dch_crc_present; /* Set data for First or single channel */ - common_transport_channel_id = private_data_get_common_transport_channel_id(actx->pinfo); + common_transport_channel_id = nbap_private_data->common_transport_channel_id; umts_fp_conversation_info->fp_dch_channel_info[0].num_ul_chans = num_tf = nbap_dch_chnl_info[common_transport_channel_id].num_ul_chans; nbap_debug("Frame %%u PCH-ParametersItem-CTCH-SetupRqstFDD Start: num_tf %%u", actx->pinfo->num, num_tf); @@ -1187,7 +1173,7 @@ private_data_set_num_items(actx->pinfo, 1); set_umts_fp_conv_data(conversation, umts_fp_conversation_info); /* Add Setup Conversation to list, we need it in response msg */ - add_setup_conv(private_data_get_transaction_id(actx->pinfo), private_data_get_dd_mode(actx->pinfo), common_transport_channel_id, actx->pinfo->num, &dst_addr, bindingID, umts_fp_conversation_info, conversation); + add_setup_conv(nbap_private_data->transaction_id, nbap_private_data->dd_mode, common_transport_channel_id, actx->pinfo->num, &dst_addr, bindingID, umts_fp_conversation_info, conversation); nbap_debug("Frame %%u PCH-ParametersItem-CTCH-SetupRqstFDD End", actx->pinfo->num); } @@ -1203,18 +1189,19 @@ guint32 transportLayerAddress_ipv4; guint16 bindingID; guint32 common_physical_channel_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; -nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; -private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); -private_data_set_binding_id_port(actx->pinfo, 0); +nbap_private_data->transportLayerAddress_ipv4 = 0; +nbap_private_data->binding_id_port = 0; -private_data_set_transport_format_set_type(actx->pinfo, NBAP_CPCH); +nbap_private_data->transport_format_set_type = NBAP_CPCH; %(DEFAULT_BODY)s - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -1239,7 +1226,7 @@ private_data_set_transport_format_set_type(actx->pinfo, NBAP_CPCH); umts_fp_conversation_info->crnc_port = bindingID; umts_fp_conversation_info->rlc_mode = FP_RLC_MODE_UNKNOWN; /*Save unique UE-identifier */ - umts_fp_conversation_info->com_context_id = private_data_get_crnc_context_present(actx->pinfo) ? private_data_get_com_context_id(actx->pinfo) : 1; + umts_fp_conversation_info->com_context_id = nbap_private_data->crnc_context_present ? nbap_private_data->com_context_id : 1; /* Adding the 'channel specific info' for FACH */ fp_fach_channel_info = wmem_new0(wmem_file_scope(), fp_fach_channel_info_t); @@ -1247,9 +1234,9 @@ private_data_set_transport_format_set_type(actx->pinfo, NBAP_CPCH); umts_fp_conversation_info->channel_specific_info = (void*)fp_fach_channel_info; /* DCH's in this flow */ - umts_fp_conversation_info->dch_crc_present = private_data_get_dch_crc_present(actx->pinfo); + umts_fp_conversation_info->dch_crc_present = nbap_private_data->dch_crc_present; /* Set data for First or single channel */ - common_physical_channel_id = private_data_get_common_physical_channel_id(actx->pinfo); + common_physical_channel_id = nbap_private_data->common_physical_channel_id; umts_fp_conversation_info->fp_dch_channel_info[0].num_ul_chans = num_tf = nbap_dch_chnl_info[common_physical_channel_id].num_ul_chans; for (j = 0; j < num_tf; j++) { umts_fp_conversation_info->fp_dch_channel_info[0].ul_chan_tf_size[j] = nbap_dch_chnl_info[common_physical_channel_id].ul_chan_tf_size[j]; @@ -1289,68 +1276,73 @@ private_data_set_transport_format_set_type(actx->pinfo, NBAP_CPCH); set_umts_fp_conv_data(conversation, umts_fp_conversation_info); /* Add Setup Conversation to list, we need it in response msg */ - add_setup_conv(private_data_get_transaction_id(actx->pinfo),private_data_get_dd_mode(actx->pinfo),private_data_get_common_transport_channel_id(actx->pinfo), actx->pinfo->num, &dst_addr, bindingID, umts_fp_conversation_info, conversation); + add_setup_conv(nbap_private_data->transaction_id,nbap_private_data->dd_mode,nbap_private_data->common_transport_channel_id, actx->pinfo->num, &dst_addr, bindingID, umts_fp_conversation_info, conversation); } #.FN_HDR DCH-Specific-FDD-InformationList - private_data_set_num_dch_in_flow(actx->pinfo, 0); - private_data_set_prev_dch_id(actx->pinfo, 0); + nbap_get_private_data(actx->pinfo)->num_dch_in_flow = 0; + nbap_get_private_data(actx->pinfo)->prev_dch_id = 0; #.FN_HDR DCH-Specific-FDD-Item - private_data_increment_num_dch_in_flow(actx->pinfo); + nbap_get_private_data(actx->pinfo)->num_dch_in_flow++; #.FN_FTR DCH-Specific-FDD-Item - private_data_set_prev_dch_id(actx->pinfo,private_data_get_dch_id(actx->pinfo)); + nbap_get_private_data(actx->pinfo)->prev_dch_id = nbap_get_private_data(actx->pinfo)->dch_id; #.FN_HDR DCH-Specific-FDD-Item/ul-TransportFormatSet - guint32 dch_id = private_data_get_dch_id(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + guint32 dch_id = nbap_private_data->dch_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; - nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); - private_data_set_transport_format_set_type(actx->pinfo, NBAP_DCH_UL); + nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; + nbap_private_data->transport_format_set_type = NBAP_DCH_UL; if (dch_id != 0xffffffff) { nbap_dch_chnl_info[dch_id].num_ul_chans = 0; } #.FN_HDR DCH-Specific-FDD-Item/dl-TransportFormatSet - guint32 dch_id = private_data_get_dch_id(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + guint32 dch_id = nbap_private_data->dch_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; - nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); - private_data_set_transport_format_set_type(actx->pinfo, NBAP_DCH_DL); + nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; + nbap_private_data->transport_format_set_type = NBAP_DCH_DL; if (dch_id != 0xffffffff) { nbap_dch_chnl_info[dch_id].num_dl_chans = 0; } #.FN_HDR DCH-ModifySpecificItem-FDD/ul-TransportFormatSet - guint32 dch_id = private_data_get_dch_id(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + guint32 dch_id = nbap_private_data->dch_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; - nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); - private_data_set_transport_format_set_type(actx->pinfo, NBAP_DCH_UL); + nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; + nbap_private_data->transport_format_set_type = NBAP_DCH_UL; if (dch_id != 0xffffffff) { nbap_dch_chnl_info[dch_id].num_ul_chans = 0; } #.FN_HDR DCH-ModifySpecificItem-FDD/dl-TransportFormatSet - guint32 dch_id = private_data_get_dch_id(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + guint32 dch_id = nbap_private_data->dch_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; - nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); - private_data_set_transport_format_set_type(actx->pinfo, NBAP_DCH_DL); + nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; + nbap_private_data->transport_format_set_type = NBAP_DCH_DL; if (dch_id != 0xffffffff) { nbap_dch_chnl_info[dch_id].num_dl_chans = 0; } #.FN_HDR PCH-ParametersItem-CTCH-SetupRqstFDD/transportFormatSet + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); nbap_dch_channel_info_t* nbap_dch_chnl_info; - nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); - private_data_set_transport_format_set_type(actx->pinfo, NBAP_PCH); - nbap_dch_chnl_info[private_data_get_common_transport_channel_id(actx->pinfo)].num_dl_chans = 0; - nbap_dch_chnl_info[private_data_get_common_transport_channel_id(actx->pinfo)].num_ul_chans = 0; + nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; + nbap_private_data->transport_format_set_type = NBAP_PCH; + nbap_dch_chnl_info[nbap_private_data->common_transport_channel_id].num_dl_chans = 0; + nbap_dch_chnl_info[nbap_private_data->common_transport_channel_id].num_ul_chans = 0; #.FN_HDR TransportFormatSet-DynamicPartList - private_data_set_num_items(actx->pinfo, 0); + nbap_get_private_data(actx->pinfo)->num_items = 0; #.FN_HDR TransportFormatSet-DynamicPartList/_item - private_data_increment_num_items(actx->pinfo); + nbap_get_private_data(actx->pinfo)->num_items++; #.FN_BODY TransportFormatSet-NrOfTransportBlocks VAL_PTR = &NrOfTransportBlocks @@ -1360,17 +1352,18 @@ guint32 dch_id; guint32 common_physical_channel_id; guint32 common_transport_channel_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; -nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; %(DEFAULT_BODY)s - if(private_data_get_num_items(actx->pinfo)>0){ - num_items = private_data_get_num_items(actx->pinfo); - dch_id = private_data_get_dch_id(actx->pinfo); + if(nbap_private_data->num_items>0){ + num_items = nbap_private_data->num_items; + dch_id = nbap_private_data->dch_id; if (num_items > 0 && dch_id != 0xffffffff) { - common_physical_channel_id = private_data_get_common_physical_channel_id(actx->pinfo); - common_transport_channel_id = private_data_get_common_transport_channel_id(actx->pinfo); - switch(private_data_get_transport_format_set_type(actx->pinfo)){ + common_physical_channel_id = nbap_private_data->common_physical_channel_id; + common_transport_channel_id = nbap_private_data->common_transport_channel_id; + switch(nbap_private_data->transport_format_set_type){ case NBAP_DCH_UL: nbap_dch_chnl_info[dch_id].num_ul_chans++; nbap_dch_chnl_info[dch_id].ul_chan_num_tbs[num_items-1] = NrOfTransportBlocks; @@ -1404,17 +1397,18 @@ guint32 dch_id; guint32 common_physical_channel_id; guint32 common_transport_channel_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; -nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; %(DEFAULT_BODY)s - if(private_data_get_num_items(actx->pinfo)>0){ - num_items = private_data_get_num_items(actx->pinfo); - dch_id = private_data_get_dch_id(actx->pinfo); + if(nbap_private_data->num_items>0){ + num_items = nbap_private_data->num_items; + dch_id = nbap_private_data->dch_id; if (num_items > 0 && dch_id != 0xffffffff) { - common_physical_channel_id = private_data_get_common_physical_channel_id(actx->pinfo); - common_transport_channel_id = private_data_get_common_transport_channel_id(actx->pinfo); - switch(private_data_get_transport_format_set_type(actx->pinfo)){ + common_physical_channel_id = nbap_private_data->common_physical_channel_id; + common_transport_channel_id = nbap_private_data->common_transport_channel_id; + switch(nbap_private_data->transport_format_set_type){ case NBAP_DCH_UL: nbap_dch_chnl_info[dch_id].ul_chan_tf_size[num_items-1] = TransportBlockSize; break; @@ -1435,17 +1429,8 @@ nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); } } -#Handle when DCHs get modified -#.FN_BODY FDD-DCHs-to-ModifyItem - -%(DEFAULT_BODY)s - /*g_warning("I'm going to modify dch_id: %%d and t_dch_id: %%d",private_data_get_dch_id(actx->pinfo),private_data_get_t_dch_id(actx->pinfo)); - */ - -#.FN_BODY RL-Specific-DCH-Info-Item/dCH-id - -%(DEFAULT_BODY)s - private_data_set_dch_id(actx->pinfo, private_data_get_t_dch_id(actx->pinfo)); +#.FN_FTR RL-Specific-DCH-Info-Item/dCH-id + nbap_get_private_data(actx->pinfo)->dch_id = nbap_get_private_data(actx->pinfo)->t_dch_id; #.FN_BODY RL-Specific-DCH-Info-Item address dst_addr, null_addr; @@ -1456,17 +1441,18 @@ guint32 transportLayerAddress_ipv4; guint16 bindingID; guint32 dch_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; -nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; -private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); -private_data_set_binding_id_port(actx->pinfo, 0); -private_data_set_dch_id(actx->pinfo, 0xFFFFFFFF); +nbap_private_data->transportLayerAddress_ipv4 = 0; +nbap_private_data->binding_id_port = 0; +nbap_private_data->dch_id = 0xFFFFFFFF; %(DEFAULT_BODY)s - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -1481,13 +1467,13 @@ private_data_set_dch_id(actx->pinfo, 0xFFFFFFFF); set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); conversation = find_conversation(actx->pinfo->num, &dst_addr, - &null_addr, ENDPOINT_UDP, private_data_get_binding_id_port(actx->pinfo), + &null_addr, ENDPOINT_UDP, nbap_private_data->binding_id_port, 0, NO_ADDR_B|NO_PORT_B); if (conversation == NULL) { /* It's not part of any conversation - create a new one. */ conversation = conversation_new(actx->pinfo->num, &dst_addr, - &null_addr, ENDPOINT_UDP, private_data_get_binding_id_port(actx->pinfo), + &null_addr, ENDPOINT_UDP, nbap_private_data->binding_id_port, 0, NO_ADDR2|NO_PORT2); /* Set dissector */ @@ -1503,18 +1489,18 @@ private_data_set_dch_id(actx->pinfo, 0xFFFFFFFF); umts_fp_conversation_info->ul_frame_number = actx->pinfo->num; copy_address_wmem(wmem_file_scope(), &(umts_fp_conversation_info->crnc_address), &dst_addr); umts_fp_conversation_info->crnc_port = bindingID; - umts_fp_conversation_info->scrambling_code = private_data_get_ul_scrambling_code(actx->pinfo); + umts_fp_conversation_info->scrambling_code = nbap_private_data->ul_scrambling_code; umts_fp_conversation_info->rlc_mode = FP_RLC_MODE_UNKNOWN; /* DCH's in this flow */ - umts_fp_conversation_info->dch_crc_present = private_data_get_dch_crc_present(actx->pinfo); + umts_fp_conversation_info->dch_crc_present = nbap_private_data->dch_crc_present; /*Save unique UE-identifier */ - umts_fp_conversation_info->com_context_id = private_data_get_com_context_id(actx->pinfo); + umts_fp_conversation_info->com_context_id = nbap_private_data->com_context_id; /*UPLINK*/ /* Set data for First or single channel */ - dch_id = private_data_get_dch_id(actx->pinfo); + dch_id = nbap_private_data->dch_id; if (dch_id != 0xffffffff) { umts_fp_conversation_info->fp_dch_channel_info[0].num_ul_chans = num_tf = nbap_dch_chnl_info[dch_id].num_ul_chans; for (j = 0; j < num_tf; j++) { @@ -1579,16 +1565,17 @@ guint32 transportLayerAddress_ipv4; guint16 bindingID; guint32 e_dch_macdflow_id; nbap_edch_channel_info_t* nbap_edch_channel_info; -nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info; -private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); -private_data_set_binding_id_port(actx->pinfo, 0); +nbap_private_data->transportLayerAddress_ipv4 = 0; +nbap_private_data->binding_id_port = 0; %(DEFAULT_BODY)s - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -1634,16 +1621,16 @@ private_data_set_binding_id_port(actx->pinfo, 0); fp_edch_channel_info = wmem_new0(wmem_file_scope(), fp_edch_channel_info_t); umts_fp_conversation_info->channel_specific_info = (void*)fp_edch_channel_info; - if(private_data_get_crnc_context_present(actx->pinfo)){ - umts_fp_conversation_info->com_context_id = private_data_get_com_context_id(actx->pinfo); + if(nbap_private_data->crnc_context_present){ + umts_fp_conversation_info->com_context_id = nbap_private_data->com_context_id; }else{ expert_add_info(actx->pinfo, NULL, &ei_nbap_no_set_comm_context_id); } /* Check if we allready have this context */ - e_dch_macdflow_id = private_data_get_e_dch_macdflow_id(actx->pinfo); - if( (old_info = (nbap_edch_port_info_t *)wmem_tree_lookup32(edch_flow_port_map,private_data_get_com_context_id(actx->pinfo))) == NULL ){ + e_dch_macdflow_id = nbap_private_data->e_dch_macdflow_id; + if( (old_info = (nbap_edch_port_info_t *)wmem_tree_lookup32(edch_flow_port_map,nbap_private_data->com_context_id)) == NULL ){ nbap_edch_port_info_t * nbap_edch_port_info; nbap_edch_port_info = wmem_new0(wmem_file_scope(), nbap_edch_port_info_t); @@ -1651,7 +1638,7 @@ private_data_set_binding_id_port(actx->pinfo, 0); /*Saving port/flow map based on context id for future reconfigurations*/ nbap_edch_port_info->crnc_port[e_dch_macdflow_id] = bindingID; /*Ip address might be useful as well*/ - nbap_edch_port_info->crnc_address = private_data_get_transportLayerAddress_ipv4(actx->pinfo); + nbap_edch_port_info->crnc_address = nbap_private_data->transportLayerAddress_ipv4; nbap_debug("Frame %%u RL-Specific-E-DCH-Information-Item Start", actx->pinfo->num); @@ -1690,7 +1677,8 @@ conversation_t *p_conv; guint32 no_ddi_entries, i; guint32 e_dch_macdflow_id; nbap_edch_channel_info_t* nbap_edch_channel_info; -nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info; %(DEFAULT_BODY)s if (actx->pinfo->fd->flags.visited) @@ -1699,7 +1687,7 @@ nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); } /* Check if we have conversation info */ - e_dch_macdflow_id = private_data_get_e_dch_macdflow_id(actx->pinfo); + e_dch_macdflow_id = nbap_private_data->e_dch_macdflow_id; clear_address(&null_addr); p_conv = find_conversation(actx->pinfo->num, &nbap_edch_channel_info[e_dch_macdflow_id].crnc_address, &null_addr, ENDPOINT_UDP, nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B); @@ -1723,10 +1711,10 @@ nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); fp_edch_channel_info->edch_lchId[i] = nbap_edch_channel_info[e_dch_macdflow_id].lchId[i]; } - p_conv_data->dch_crc_present = private_data_get_dch_crc_present(actx->pinfo); + p_conv_data->dch_crc_present = nbap_private_data->dch_crc_present; /* Figure out which type of E-DCH frame, based on DDI value (DDI = 0 => type 2)*/ - if( 0 == private_data_get_e_dch_ddi_value(actx->pinfo) ){ + if( 0 == nbap_private_data->e_dch_ddi_value ){ fp_edch_channel_info->edch_type = 1; /* 1 means T2 */ }else{ /*Value 1-5 means T1*/ @@ -1734,7 +1722,7 @@ nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); } /* use to display e_dch_macdflow_id */ p_conv_data->num_dch_in_flow = 1; - p_conv_data->dch_ids_in_flow_list[0] = private_data_get_e_dch_macdflow_id(actx->pinfo); + p_conv_data->dch_ids_in_flow_list[0] = nbap_private_data->e_dch_macdflow_id; #Handle Modified E-DCH Flows #.FN_BODY E-DCH-FDD-Information-to-Modify @@ -1748,15 +1736,16 @@ guint32 transportLayerAddress_ipv4; guint16 bindingID; guint32 e_dch_macdflow_id; nbap_edch_channel_info_t* nbap_edch_channel_info; -nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info; -private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); -private_data_set_binding_id_port(actx->pinfo, 0); +nbap_private_data->transportLayerAddress_ipv4 = 0; +nbap_private_data->binding_id_port = 0; %(DEFAULT_BODY)s - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -1812,14 +1801,14 @@ private_data_set_binding_id_port(actx->pinfo, 0); fp_edch_channel_info = wmem_new0(wmem_file_scope(), fp_edch_channel_info_t); umts_fp_conversation_info->channel_specific_info = (void*)fp_edch_channel_info; - if(private_data_get_crnc_context_present(actx->pinfo)){ - umts_fp_conversation_info->com_context_id = private_data_get_com_context_id(actx->pinfo); + if(nbap_private_data->crnc_context_present){ + umts_fp_conversation_info->com_context_id = nbap_private_data->com_context_id; }else{ expert_add_info(actx->pinfo, NULL, &ei_nbap_no_set_comm_context_id); } /* Set address for collection of DDI entries */ - e_dch_macdflow_id = private_data_get_e_dch_macdflow_id(actx->pinfo); + e_dch_macdflow_id = nbap_private_data->e_dch_macdflow_id; copy_address_wmem(actx->pinfo->pool,&(nbap_edch_channel_info[e_dch_macdflow_id].crnc_address),&dst_addr); nbap_edch_channel_info[e_dch_macdflow_id].crnc_port = bindingID; @@ -1841,9 +1830,10 @@ fp_edch_channel_info_t* fp_edch_channel_info; conversation_t *p_conv; guint32 e_dch_macdflow_id; nbap_edch_channel_info_t* nbap_edch_channel_info; -nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info; -private_data_set_num_items(actx->pinfo, 1); +nbap_private_data->num_items = 1; %(DEFAULT_BODY)s if (actx->pinfo->fd->flags.visited) @@ -1856,27 +1846,27 @@ private_data_set_num_items(actx->pinfo, 1); /****** Look up old port and ip information since this is not included in this message ******/ /*Find proper communication context ID*/ - if(private_data_get_crnc_context_present(actx->pinfo)){ - /*umts_fp_conversation_info->com_context_id = private_data_get_com_context_id(actx->pinfo);*/ + if(nbap_private_data->crnc_context_present){ + /*umts_fp_conversation_info->com_context_id = nbap_private_data->com_context_id;*/ }else{ expert_add_info(actx->pinfo, NULL, &ei_nbap_no_set_comm_context_id); } /*This should not happen*/ - if(( old_info = (nbap_edch_port_info_t *)wmem_tree_lookup32(edch_flow_port_map,private_data_get_com_context_id(actx->pinfo))) == NULL ){ + if(( old_info = (nbap_edch_port_info_t *)wmem_tree_lookup32(edch_flow_port_map,nbap_private_data->com_context_id)) == NULL ){ expert_add_info(actx->pinfo, NULL, &ei_nbap_no_find_port_info); return offset; } - nbap_debug(" Found com_context_id %%u",private_data_get_com_context_id(actx->pinfo)); + nbap_debug(" Found com_context_id %%u",nbap_private_data->com_context_id); /*Set the appropriate port, cheat and use same variable.*/ - e_dch_macdflow_id = private_data_get_e_dch_macdflow_id(actx->pinfo); - private_data_set_binding_id_port(actx->pinfo, old_info->crnc_port[e_dch_macdflow_id]); + e_dch_macdflow_id = nbap_private_data->e_dch_macdflow_id; + nbap_private_data->binding_id_port = old_info->crnc_port[e_dch_macdflow_id]; - nbap_debug(" Port %%u loaded from old_info->crnc_port[e_dch_macdflow_id %%u]",private_data_get_binding_id_port(actx->pinfo), e_dch_macdflow_id); + nbap_debug(" Port %%u loaded from old_info->crnc_port[e_dch_macdflow_id %%u]",nbap_private_data->binding_id_port, e_dch_macdflow_id); /*TODO: Fix this for ipv6 as well!*/ - private_data_set_transportLayerAddress_ipv4(actx->pinfo, old_info->crnc_address); + nbap_private_data->transportLayerAddress_ipv4 = old_info->crnc_address; /*Do the configurations*/ /* Check if we have conversation info */ @@ -1903,10 +1893,10 @@ private_data_set_num_items(actx->pinfo, 1); fp_edch_channel_info->edch_lchId[i] = nbap_edch_channel_info[e_dch_macdflow_id].lchId[i]; } - p_conv_data->dch_crc_present = private_data_get_dch_crc_present(actx->pinfo); + p_conv_data->dch_crc_present = nbap_private_data->dch_crc_present; /* Figure out which type of E-DCH frame, based on DDI value (DDI = 0 => type 2)*/ - if( 0 == private_data_get_e_dch_ddi_value(actx->pinfo) ){ + if( 0 == nbap_private_data->e_dch_ddi_value ){ fp_edch_channel_info->edch_type = 1; /* 1 means T2 */ }else{ /*Value 1-5 means T1*/ @@ -1919,81 +1909,84 @@ private_data_set_num_items(actx->pinfo, 1); -#.FN_BODY E-DCH-LogicalChannelToModifyItem - -%(DEFAULT_BODY)s -private_data_increment_num_items(actx->pinfo); +#.FN_FTR E-DCH-LogicalChannelToModifyItem + nbap_get_private_data(actx->pinfo)->num_items++; #.FN_BODY E-DCH-LogicalChannelInformation - private_data_set_num_items(actx->pinfo, 0); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_private_data->num_items = 0; nbap_edch_channel_info_t* nbap_edch_channel_info; - nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); + nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info; %(DEFAULT_BODY)s -nbap_edch_channel_info[private_data_get_e_dch_macdflow_id(actx->pinfo)].no_ddi_entries = private_data_get_num_items(actx->pinfo); +nbap_edch_channel_info[nbap_private_data->e_dch_macdflow_id].no_ddi_entries = nbap_private_data->num_items; #.FN_HDR E-DCH-LogicalChannelInformationItem - private_data_increment_num_items(actx->pinfo); + nbap_get_private_data(actx->pinfo)->num_items++; #.FN_BODY E-DCH-DDI-Value VAL_PTR = &e_dch_ddi_value guint32 e_dch_ddi_value; guint num_items; nbap_edch_channel_info_t* nbap_edch_channel_info; - nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info; %(DEFAULT_BODY)s - private_data_set_e_dch_ddi_value(actx->pinfo, e_dch_ddi_value); + nbap_private_data->e_dch_ddi_value = e_dch_ddi_value; if (actx->pinfo->fd->flags.visited) { return offset; } - num_items = private_data_get_num_items(actx->pinfo); + num_items = nbap_private_data->num_items; if(num_items>0) - nbap_edch_channel_info[private_data_get_e_dch_macdflow_id(actx->pinfo)].edch_ddi[num_items-1] = private_data_get_e_dch_ddi_value(actx->pinfo); + nbap_edch_channel_info[nbap_private_data->e_dch_macdflow_id].edch_ddi[num_items-1] = nbap_private_data->e_dch_ddi_value; #.FN_BODY MACdPDU-Size VAL_PTR = &mac_d_pdu_size guint32 mac_d_pdu_size; guint num_items; nbap_edch_channel_info_t* nbap_edch_channel_info; -nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info; %(DEFAULT_BODY)s - private_data_set_mac_d_pdu_size(actx->pinfo, mac_d_pdu_size); + nbap_private_data->mac_d_pdu_size = mac_d_pdu_size; if (actx->pinfo->fd->flags.visited) { return offset; } - num_items = private_data_get_num_items(actx->pinfo); + num_items = nbap_private_data->num_items; if(num_items>0) - nbap_edch_channel_info[private_data_get_e_dch_macdflow_id(actx->pinfo)].edch_macd_pdu_size[num_items-1] = private_data_get_mac_d_pdu_size(actx->pinfo); + nbap_edch_channel_info[nbap_private_data->e_dch_macdflow_id].edch_macd_pdu_size[num_items-1] = nbap_private_data->mac_d_pdu_size; #.FN_BODY LogicalChannelID VAL_PTR = &logical_channel_id guint32 logical_channel_id; guint num_items; nbap_edch_channel_info_t* nbap_edch_channel_info; - nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info; /* Set logical channel id for this entry*/ %(DEFAULT_BODY)s - private_data_set_logical_channel_id(actx->pinfo, logical_channel_id); - num_items = private_data_get_num_items(actx->pinfo); + nbap_private_data->logical_channel_id = logical_channel_id; + num_items = nbap_private_data->num_items; if(num_items>0) - nbap_edch_channel_info[private_data_get_e_dch_macdflow_id(actx->pinfo)].lchId[num_items-1] = private_data_get_logical_channel_id(actx->pinfo); + nbap_edch_channel_info[nbap_private_data->e_dch_macdflow_id].lchId[num_items-1] = nbap_private_data->logical_channel_id; #.FN_BODY RLC-Mode VAL_PTR = &rlc_mode guint32 rlc_mode; nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; - nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info; %(DEFAULT_BODY)s switch(rlc_mode){ case 0: /* rLC-AM */ - nbap_hsdsch_channel_info[private_data_get_hsdsch_macdflow_id(actx->pinfo)].rlc_mode = FP_RLC_AM; + nbap_hsdsch_channel_info[nbap_private_data->hsdsch_macdflow_id].rlc_mode = FP_RLC_AM; break; case 1: /* rLC-UM */ - nbap_hsdsch_channel_info[private_data_get_hsdsch_macdflow_id(actx->pinfo)].rlc_mode = FP_RLC_UM; + nbap_hsdsch_channel_info[nbap_private_data->hsdsch_macdflow_id].rlc_mode = FP_RLC_UM; break; default: break; @@ -2002,19 +1995,21 @@ nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); #.FN_BODY UE-Capability-Information/hSDSCH-Physical-Layer-Category VAL_PTR = &hsdsch_physical_layer_category guint32 hsdsch_physical_layer_category; nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; - nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info; %(DEFAULT_BODY)s - nbap_hsdsch_channel_info[private_data_get_hsdsch_macdflow_id(actx->pinfo)].hsdsch_physical_layer_category = hsdsch_physical_layer_category; + nbap_hsdsch_channel_info[nbap_private_data->hsdsch_macdflow_id].hsdsch_physical_layer_category = hsdsch_physical_layer_category; #.FN_BODY HSDSCH-MACdFlows-Information int protocol_ie_id; guint32 i; - private_data_set_num_items(actx->pinfo,0); - protocol_ie_id = private_data_get_protocol_ie_id(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_private_data->num_items = 0; + protocol_ie_id = nbap_private_data->protocol_ie_id; nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; - nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); + nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info; /*Handle special cases, when the tree is weird, ie. no useful message appears in the tree, like HSDHSCH-Information-FDD */ @@ -2042,38 +2037,39 @@ nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); # Reset num_items before calling the sequence #.FN_HDR HSDSCH-MACdFlows-to-Delete - private_data_set_num_items(actx->pinfo,0); + nbap_get_private_data(actx->pinfo)->num_items = 0; # Make sure num_items isn't 0 when accessing HSDSCH-MACdFlow-ID # #.FN_HDR HSDSCH-MACdFlows-to-Delete-Item - private_data_increment_num_items(actx->pinfo); + nbap_get_private_data(actx->pinfo)->num_items++; #.FN_HDR PriorityQueue-InfoItem - private_data_increment_num_items(actx->pinfo); + nbap_get_private_data(actx->pinfo)->num_items++; #.FN_HDR PriorityQueue-InfoItem-to-Add - private_data_set_num_items(actx->pinfo,1); + nbap_get_private_data(actx->pinfo)->num_items = 1; #.FN_HDR HSDSCH-MACdFlow-Specific-InformationResp-Item - private_data_increment_num_items(actx->pinfo); + nbap_get_private_data(actx->pinfo)->num_items++; #.FN_BODY HSDSCH-MACdFlow-Specific-InfoItem address dst_addr; guint32 transportLayerAddress_ipv4; guint16 bindingID; guint32 hsdsch_macdflow_id; + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; - nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); + nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info; - private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); - private_data_set_binding_id_port(actx->pinfo, 0); - private_data_increment_num_items(actx->pinfo); + nbap_private_data->transportLayerAddress_ipv4 = 0; + nbap_private_data->binding_id_port = 0; + nbap_private_data->num_items++; %(DEFAULT_BODY)s - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -2081,7 +2077,7 @@ nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); /* Set address for collection of HSDSCH entries */ - hsdsch_macdflow_id = private_data_get_hsdsch_macdflow_id(actx->pinfo); + hsdsch_macdflow_id = nbap_private_data->hsdsch_macdflow_id; copy_address_wmem(actx->pinfo->pool,&(nbap_hsdsch_channel_info[hsdsch_macdflow_id].crnc_address),&dst_addr); nbap_hsdsch_channel_info[hsdsch_macdflow_id].crnc_port = bindingID; @@ -2089,37 +2085,14 @@ nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); #.FN_BODY MAC-PDU-SizeExtended guint32 hsdsch_macdflow_id; nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; -nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); +nbap_hsdsch_channel_info = nbap_get_private_data(actx->pinfo)->nbap_hsdsch_channel_info; %(DEFAULT_BODY)s - hsdsch_macdflow_id = private_data_get_hsdsch_macdflow_id(actx->pinfo); + hsdsch_macdflow_id = nbap_get_private_data(actx->pinfo)->hsdsch_macdflow_id; if(nbap_hsdsch_channel_info[hsdsch_macdflow_id].crnc_port != 0){ nbap_hsdsch_channel_info[hsdsch_macdflow_id].entity = ehs; } -#.FN_BODY HSDSCH-MACdPDUSizeFormat -/* - * Removed 10 Aug. 2012, I'm not sure if this was right, it wrongfully - * set some packets as type 2 for HSDHCH modified items. - **/ - - - /* - * Set the channel entity i.e the type of the hsdsch channels (if this is present entity = ehs) - */ - -/*int i;*/ - -%(DEFAULT_BODY)s - /*for (i = 0; i < maxNrOfMACdFlows; i++) { - if (nbap_hsdsch_channel_info[i].crnc_port != 0){ - nbap_hsdsch_channel_info[i].entity = ehs; - } - - }*/ - - - #.FN_BODY HSDSCH-FDD-Information /* * Collect the information about the HSDSCH MACdFlows set up conversation(s) and set the conversation data. @@ -2130,7 +2103,7 @@ nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo fp_hsdsch_channel_info_t* fp_hsdsch_channel_info = NULL; guint32 i; nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; - nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); + nbap_hsdsch_channel_info = nbap_get_private_data(actx->pinfo)->nbap_hsdsch_channel_info; if (!actx->pinfo->fd->flags.visited){ /* Set port to zero use that as an indication of whether we have data or not */ @@ -2189,7 +2162,7 @@ nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo fp_hsdsch_channel_info->hsdsch_macdflow_id = i ; /*hsdsch_macdflow_ids[i];*/ /* hsdsch_macdflow_id;*/ /*Added july 2012*/ - umts_fp_conversation_info->com_context_id = private_data_get_com_context_id(actx->pinfo); + umts_fp_conversation_info->com_context_id = nbap_get_private_data(actx->pinfo)->com_context_id; /* Cheat and use the DCH entries */ umts_fp_conversation_info->num_dch_in_flow++; @@ -2221,16 +2194,17 @@ nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo address dst_addr; guint32 transportLayerAddress_ipv4; guint16 bindingID; - private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); - private_data_set_binding_id_port(actx->pinfo, 0); - private_data_increment_num_items(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_private_data->transportLayerAddress_ipv4 = 0; + nbap_private_data->binding_id_port = 0; + nbap_private_data->num_items++; nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; - nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); + nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info; %(DEFAULT_BODY)s - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -2238,8 +2212,8 @@ nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); /* Set address for collection of HSDSCH entries */ - copy_address_wmem(actx->pinfo->pool,&(nbap_hsdsch_channel_info[private_data_get_hsdsch_macdflow_id(actx->pinfo)].crnc_address),&dst_addr); - nbap_hsdsch_channel_info[private_data_get_hsdsch_macdflow_id(actx->pinfo)].crnc_port = bindingID; + copy_address_wmem(actx->pinfo->pool,&(nbap_hsdsch_channel_info[nbap_private_data->hsdsch_macdflow_id].crnc_address),&dst_addr); + nbap_hsdsch_channel_info[nbap_private_data->hsdsch_macdflow_id].crnc_port = bindingID; #.FN_BODY HSDSCH-Information-to-Modify @@ -2256,7 +2230,7 @@ nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo fp_hsdsch_channel_info_t* fp_hsdsch_channel_info = NULL; guint32 i; nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; - nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); + nbap_hsdsch_channel_info = nbap_get_private_data(actx->pinfo)->nbap_hsdsch_channel_info; if (!actx->pinfo->fd->flags.visited){ /* Set port to zero use that as an indication of whether we have data or not */ @@ -2319,7 +2293,7 @@ nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo fp_hsdsch_channel_info->hsdsch_macdflow_id = i ; /*hsdsch_macdflow_ids[i];*/ /* hsdsch_macdflow_id;*/ /*Added july 2012*/ - umts_fp_conversation_info->com_context_id = private_data_get_com_context_id(actx->pinfo); + umts_fp_conversation_info->com_context_id = nbap_get_private_data(actx->pinfo)->com_context_id; /* Cheat and use the DCH entries */ umts_fp_conversation_info->num_dch_in_flow++; @@ -2355,29 +2329,26 @@ nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo } -#.FN_BODY Common-MACFlow-ID VAL_PTR = &common_macdflow_id -guint32 common_macdflow_id; -%(DEFAULT_BODY)s -private_data_set_common_macdflow_id(actx->pinfo, common_macdflow_id); - +#.FN_PARS Common-MACFlow-ID VAL_PTR = &nbap_get_private_data(actx->pinfo)->common_macdflow_id -/*hsdsch_macdflow_ids[private_data_get_num_items(actx->pinfo)-1] = private_data_get_hsdsch_macdflow_id(actx->pinfo);*/ +/*hsdsch_macdflow_ids[nbap_get_private_data(actx->pinfo)->num_items-1] = nbap_get_private_data(actx->pinfo)->hsdsch_macdflow_id;*/ /*THIS STUFF IST NOT DONE YET!*/ #.FN_BODY CommonMACFlow-Specific-InfoItem address dst_addr; guint32 transportLayerAddress_ipv4; guint16 bindingID; guint32 common_macdflow_id; - private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); - private_data_set_binding_id_port(actx->pinfo, 0); - private_data_increment_num_items(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_private_data->transportLayerAddress_ipv4 = 0; + nbap_private_data->binding_id_port = 0; + nbap_private_data->num_items++; nbap_common_channel_info_t* nbap_common_channel_info; - nbap_common_channel_info = private_data_get_nbap_common_channel_info(actx->pinfo); + nbap_common_channel_info = nbap_private_data->nbap_common_channel_info; %(DEFAULT_BODY)s - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -2385,9 +2356,9 @@ private_data_set_common_macdflow_id(actx->pinfo, common_macdflow_id); set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); /* Set address for collection of common entries */ - common_macdflow_id = private_data_get_common_macdflow_id(actx->pinfo); + common_macdflow_id = nbap_private_data->common_macdflow_id; copy_address_wmem(actx->pinfo->pool,&(nbap_common_channel_info[common_macdflow_id].crnc_address),&dst_addr); - nbap_common_channel_info[common_macdflow_id].crnc_port = private_data_get_binding_id_port(actx->pinfo); + nbap_common_channel_info[common_macdflow_id].crnc_port = nbap_private_data->binding_id_port; #.FN_BODY HSDSCH-Common-System-InformationFDD @@ -2406,7 +2377,7 @@ fp_hsdsch_channel_info_t* fp_hsdsch_channel_info = NULL; address null_addr; conversation_t *conversation = NULL; nbap_common_channel_info_t* nbap_common_channel_info; -nbap_common_channel_info = private_data_get_nbap_common_channel_info(actx->pinfo); +nbap_common_channel_info = nbap_get_private_data(actx->pinfo)->nbap_common_channel_info; int i; @@ -2454,7 +2425,7 @@ int i; fp_hsdsch_channel_info = wmem_new0(wmem_file_scope(), fp_hsdsch_channel_info_t); umts_fp_conversation_info->channel_specific_info = (void*)fp_hsdsch_channel_info; - fp_hsdsch_channel_info->common_macdflow_id = private_data_get_common_macdflow_id(actx->pinfo); + fp_hsdsch_channel_info->common_macdflow_id = nbap_get_private_data(actx->pinfo)->common_macdflow_id; fp_hsdsch_channel_info->hsdsch_entity = ehs; @@ -2484,18 +2455,19 @@ int i; #.FN_BODY CRNC-CommunicationContextID VAL_PTR = &com_context_id guint32 com_context_id; %(DEFAULT_BODY)s -private_data_set_com_context_id(actx->pinfo, com_context_id); -private_data_set_crnc_context_present(actx->pinfo, TRUE); +nbap_get_private_data(actx->pinfo)->com_context_id = com_context_id; +nbap_get_private_data(actx->pinfo)->crnc_context_present = TRUE; #.FN_BODY NodeB-CommunicationContextID VAL_PTR = &node_b_com_context_id gboolean crnc_context_present; guint node_b_com_context_id; nbap_com_context_id_t *cur_val; + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); %(DEFAULT_BODY)s /* Checking if CRNC context is present in this frame */ - crnc_context_present = private_data_get_crnc_context_present(actx->pinfo); + crnc_context_present = nbap_private_data->crnc_context_present; if(crnc_context_present) { /* This message contains both context fields. Updaaing the contexts map if needed. */ if (actx->pinfo->fd->flags.visited){ @@ -2506,7 +2478,7 @@ private_data_set_crnc_context_present(actx->pinfo, TRUE); if(wmem_tree_lookup32(com_context_map, node_b_com_context_id) == NULL) { /* Creating new mapping and adding to map */ cur_val = wmem_new(wmem_file_scope(), nbap_com_context_id_t); - cur_val->crnc_context = private_data_get_com_context_id(actx->pinfo); + cur_val->crnc_context = nbap_private_data->com_context_id; cur_val->frame_num = actx->pinfo->num; wmem_tree_insert32(com_context_map, node_b_com_context_id, cur_val); } @@ -2516,8 +2488,8 @@ private_data_set_crnc_context_present(actx->pinfo, TRUE); cur_val = (nbap_com_context_id_t *)wmem_tree_lookup32(com_context_map,node_b_com_context_id); if(cur_val != NULL){ /* A mapping was found. Adding to prvivate data. */ - private_data_set_com_context_id(actx->pinfo,cur_val->crnc_context); - private_data_set_crnc_context_present(actx->pinfo, TRUE); + nbap_private_data->com_context_id = cur_val->crnc_context; + nbap_private_data->crnc_context_present = TRUE; } } @@ -2528,11 +2500,12 @@ fp_hsdsch_channel_info_t* fp_hsdsch_channel_info = NULL; address null_addr; conversation_t *conversation = NULL; int i; +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; -nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); +nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info; %(DEFAULT_BODY)s - private_data_set_hrnti(actx->pinfo, hrnti); + nbap_private_data->hrnti = hrnti; if (actx->pinfo->fd->flags.visited){ return offset; @@ -2549,19 +2522,11 @@ nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo DISSECTOR_ASSERT(umts_fp_conversation_info != NULL); fp_hsdsch_channel_info = (fp_hsdsch_channel_info_t*)umts_fp_conversation_info->channel_specific_info; DISSECTOR_ASSERT(fp_hsdsch_channel_info != NULL); - fp_hsdsch_channel_info->hrnti = private_data_get_hrnti(actx->pinfo); + fp_hsdsch_channel_info->hrnti = nbap_private_data->hrnti; } } } -#.FN_BODY RadioLinkReconfigurationCommit -/* - * Here we need to signal the CFN value, down to FP so - * that lowert layers know when a reconfiguration becomes active - * */ - -%(DEFAULT_BODY)s - #.REGISTER #NBAP-PROTOCOL-IES diff --git a/epan/dissectors/asn1/nbap/packet-nbap-template.c b/epan/dissectors/asn1/nbap/packet-nbap-template.c index 7abac060b7..8484d7131f 100644 --- a/epan/dissectors/asn1/nbap/packet-nbap-template.c +++ b/epan/dissectors/asn1/nbap/packet-nbap-template.c @@ -290,398 +290,6 @@ static void nbap_reset_private_data(packet_info *pinfo) p_remove_proto_data(pinfo->pool, pinfo, proto_nbap, 0); } -static guint32 private_data_get_transportLayerAddress_ipv4(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->transportLayerAddress_ipv4; -} - -static void private_data_set_transportLayerAddress_ipv4(packet_info *pinfo, guint32 transportLayerAddress_ipv4) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->transportLayerAddress_ipv4 = transportLayerAddress_ipv4; -} - -static guint16 private_data_get_binding_id_port(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->binding_id_port; -} - -static void private_data_set_binding_id_port(packet_info *pinfo, guint16 binding_id_port) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->binding_id_port = binding_id_port; -} - -static guint32 private_data_get_ul_scrambling_code(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->ul_scrambling_code; -} - -static void private_data_set_ul_scrambling_code(packet_info *pinfo, guint32 ul_scrambling_code) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->ul_scrambling_code = ul_scrambling_code; -} - -static enum TransportFormatSet_type_enum private_data_get_transport_format_set_type(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->transport_format_set_type; -} - -static void private_data_set_transport_format_set_type(packet_info *pinfo, enum TransportFormatSet_type_enum transport_format_set_type) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->transport_format_set_type = transport_format_set_type; -} - -static guint32 private_data_get_procedure_code(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->procedure_code; -} - -static void private_data_set_procedure_code(packet_info *pinfo, guint32 procedure_code) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->procedure_code = procedure_code; -} - -static guint private_data_get_num_items(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->num_items; -} - -static void private_data_set_num_items(packet_info *pinfo, guint num_items) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->num_items = num_items; -} - -static guint private_data_increment_num_items(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->num_items++; - return private_data->num_items; -} - -static guint32 private_data_get_com_context_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->com_context_id; -} - -static void private_data_set_com_context_id(packet_info *pinfo, guint32 com_context_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->com_context_id = com_context_id; -} - -static gint private_data_get_num_dch_in_flow(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->num_dch_in_flow; -} - -static void private_data_set_num_dch_in_flow(packet_info *pinfo, gint num_dch_in_flow) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->num_dch_in_flow = num_dch_in_flow; -} - -static gint private_data_increment_num_dch_in_flow(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->num_dch_in_flow++; - return private_data->num_dch_in_flow; -} - -static gint private_data_get_hrnti(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->hrnti; -} - -static void private_data_set_hrnti(packet_info *pinfo, gint hrnti) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->hrnti = hrnti; -} - -static guint32 private_data_get_protocol_ie_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->protocol_ie_id; -} - -static void private_data_set_protocol_ie_id(packet_info *pinfo, guint32 protocol_ie_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->protocol_ie_id = protocol_ie_id; -} - -static guint32 private_data_get_dd_mode(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->dd_mode; -} - -static void private_data_set_dd_mode(packet_info *pinfo, guint32 dd_mode) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->dd_mode = dd_mode; -} - -static guint32 private_data_get_transaction_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->transaction_id; -} - -static void private_data_set_transaction_id(packet_info *pinfo, guint32 transaction_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->transaction_id = transaction_id; -} - -static guint32 private_data_get_t_dch_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->t_dch_id; -} - -static void private_data_set_t_dch_id(packet_info *pinfo, guint32 t_dch_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->t_dch_id = t_dch_id; -} - -static guint32 private_data_get_dch_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->dch_id; -} - -static void private_data_set_dch_id(packet_info *pinfo, guint32 dch_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->dch_id = dch_id; -} - -static guint32 private_data_get_prev_dch_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->prev_dch_id; -} - -static void private_data_set_prev_dch_id(packet_info *pinfo, guint32 prev_dch_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->prev_dch_id = prev_dch_id; -} - -static guint32 private_data_get_common_physical_channel_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->common_physical_channel_id; -} - -static void private_data_set_common_physical_channel_id(packet_info *pinfo, guint32 common_physical_channel_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->common_physical_channel_id = common_physical_channel_id; -} - -static guint32 private_data_get_e_dch_macdflow_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->e_dch_macdflow_id; -} - -static void private_data_set_e_dch_macdflow_id(packet_info *pinfo, guint32 e_dch_macdflow_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->e_dch_macdflow_id = e_dch_macdflow_id; -} - -static guint32 private_data_get_hsdsch_macdflow_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->hsdsch_macdflow_id; -} - -static void private_data_set_hsdsch_macdflow_id(packet_info *pinfo, guint32 hsdsch_macdflow_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->hsdsch_macdflow_id = hsdsch_macdflow_id; -} - -static guint32 private_data_get_e_dch_ddi_value(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->e_dch_ddi_value; -} - -static void private_data_set_e_dch_ddi_value(packet_info *pinfo, guint32 e_dch_ddi_value) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->e_dch_ddi_value = e_dch_ddi_value; -} - -static guint32 private_data_get_logical_channel_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->logical_channel_id; -} - -static void private_data_set_logical_channel_id(packet_info *pinfo, guint32 logical_channel_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->logical_channel_id = logical_channel_id; -} - -static guint32 private_data_get_common_macdflow_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->common_macdflow_id; -} - -static void private_data_set_common_macdflow_id(packet_info *pinfo, guint32 common_macdflow_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->common_macdflow_id = common_macdflow_id; -} - -static guint32 private_data_get_mac_d_pdu_size(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->mac_d_pdu_size; -} - -static void private_data_set_mac_d_pdu_size(packet_info *pinfo, guint32 mac_d_pdu_size) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->mac_d_pdu_size = mac_d_pdu_size; -} - -static guint32 private_data_get_common_transport_channel_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->common_transport_channel_id; -} - -static void private_data_set_common_transport_channel_id(packet_info *pinfo, guint32 common_transport_channel_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->common_transport_channel_id = common_transport_channel_id; -} - -static gint private_data_get_paging_indications(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->paging_indications; -} - -static void private_data_set_paging_indications(packet_info *pinfo, gint paging_indications) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->paging_indications = paging_indications; -} - -static guint32 private_data_get_ib_type(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->ib_type; -} - -static void private_data_set_ib_type(packet_info *pinfo, guint32 ib_type) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->ib_type = ib_type; -} - -static guint32 private_data_get_segment_type(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->segment_type; -} - -static void private_data_set_segment_type(packet_info *pinfo, guint32 segment_type) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->segment_type = segment_type; -} - -static gboolean private_data_get_crnc_context_present(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->crnc_context_present; -} - -static void private_data_set_crnc_context_present(packet_info *pinfo, gboolean crnc_context_present) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->crnc_context_present = crnc_context_present; -} - -static guint8 private_data_get_dch_crc_present(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->dch_crc_present; -} - -static void private_data_set_dch_crc_present(packet_info *pinfo, guint8 dch_crc_present) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->dch_crc_present = dch_crc_present; -} - -static nbap_dch_channel_info_t* private_data_get_nbap_dch_chnl_info(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->nbap_dch_chnl_info; -} - -static nbap_edch_channel_info_t* private_data_get_nbap_edch_channel_info(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->nbap_edch_channel_info; -} - -static gint* private_data_get_hsdsch_macdflow_ids(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->hsdsch_macdflow_ids; -} - -static nbap_hsdsch_channel_info_t* private_data_get_nbap_hsdsch_channel_info(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->nbap_hsdsch_channel_info; -} - -static nbap_common_channel_info_t* private_data_get_nbap_common_channel_info(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->nbap_common_channel_info; -} - -static wmem_list_t* private_data_get_ib_segments(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->ib_segments; -} - -static void private_data_set_ib_segments(packet_info *pinfo, wmem_list_t* ib_segments) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->ib_segments = ib_segments; -} - /*****************************************************************************/ @@ -818,14 +426,14 @@ static void add_hsdsch_bind(packet_info * pinfo); static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { guint32 protocol_ie_id; - protocol_ie_id = private_data_get_protocol_ie_id(pinfo); + protocol_ie_id = nbap_get_private_data(pinfo)->protocol_ie_id; return (dissector_try_uint_new(nbap_ies_dissector_table, protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0; } static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { guint32 protocol_ie_id; - protocol_ie_id = private_data_get_protocol_ie_id(pinfo); + protocol_ie_id = nbap_get_private_data(pinfo)->protocol_ie_id; return (dissector_try_uint_new(nbap_extension_dissector_table, protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0; } @@ -858,7 +466,7 @@ static void add_hsdsch_bind(packet_info *pinfo){ return; } - nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(pinfo); + nbap_hsdsch_channel_info = nbap_get_private_data(pinfo)->nbap_hsdsch_channel_info; /* Set port to zero use that as an indication of whether we have data or not */ clear_address(&null_addr); for (i = 0; i < maxNrOfMACdFlows; i++) { diff --git a/epan/dissectors/packet-nbap.c b/epan/dissectors/packet-nbap.c index 6b35d7e4b2..eec29b8e04 100644 --- a/epan/dissectors/packet-nbap.c +++ b/epan/dissectors/packet-nbap.c @@ -6683,398 +6683,6 @@ static void nbap_reset_private_data(packet_info *pinfo) p_remove_proto_data(pinfo->pool, pinfo, proto_nbap, 0); } -static guint32 private_data_get_transportLayerAddress_ipv4(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->transportLayerAddress_ipv4; -} - -static void private_data_set_transportLayerAddress_ipv4(packet_info *pinfo, guint32 transportLayerAddress_ipv4) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->transportLayerAddress_ipv4 = transportLayerAddress_ipv4; -} - -static guint16 private_data_get_binding_id_port(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->binding_id_port; -} - -static void private_data_set_binding_id_port(packet_info *pinfo, guint16 binding_id_port) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->binding_id_port = binding_id_port; -} - -static guint32 private_data_get_ul_scrambling_code(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->ul_scrambling_code; -} - -static void private_data_set_ul_scrambling_code(packet_info *pinfo, guint32 ul_scrambling_code) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->ul_scrambling_code = ul_scrambling_code; -} - -static enum TransportFormatSet_type_enum private_data_get_transport_format_set_type(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->transport_format_set_type; -} - -static void private_data_set_transport_format_set_type(packet_info *pinfo, enum TransportFormatSet_type_enum transport_format_set_type) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->transport_format_set_type = transport_format_set_type; -} - -static guint32 private_data_get_procedure_code(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->procedure_code; -} - -static void private_data_set_procedure_code(packet_info *pinfo, guint32 procedure_code) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->procedure_code = procedure_code; -} - -static guint private_data_get_num_items(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->num_items; -} - -static void private_data_set_num_items(packet_info *pinfo, guint num_items) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->num_items = num_items; -} - -static guint private_data_increment_num_items(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->num_items++; - return private_data->num_items; -} - -static guint32 private_data_get_com_context_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->com_context_id; -} - -static void private_data_set_com_context_id(packet_info *pinfo, guint32 com_context_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->com_context_id = com_context_id; -} - -static gint private_data_get_num_dch_in_flow(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->num_dch_in_flow; -} - -static void private_data_set_num_dch_in_flow(packet_info *pinfo, gint num_dch_in_flow) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->num_dch_in_flow = num_dch_in_flow; -} - -static gint private_data_increment_num_dch_in_flow(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->num_dch_in_flow++; - return private_data->num_dch_in_flow; -} - -static gint private_data_get_hrnti(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->hrnti; -} - -static void private_data_set_hrnti(packet_info *pinfo, gint hrnti) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->hrnti = hrnti; -} - -static guint32 private_data_get_protocol_ie_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->protocol_ie_id; -} - -static void private_data_set_protocol_ie_id(packet_info *pinfo, guint32 protocol_ie_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->protocol_ie_id = protocol_ie_id; -} - -static guint32 private_data_get_dd_mode(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->dd_mode; -} - -static void private_data_set_dd_mode(packet_info *pinfo, guint32 dd_mode) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->dd_mode = dd_mode; -} - -static guint32 private_data_get_transaction_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->transaction_id; -} - -static void private_data_set_transaction_id(packet_info *pinfo, guint32 transaction_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->transaction_id = transaction_id; -} - -static guint32 private_data_get_t_dch_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->t_dch_id; -} - -static void private_data_set_t_dch_id(packet_info *pinfo, guint32 t_dch_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->t_dch_id = t_dch_id; -} - -static guint32 private_data_get_dch_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->dch_id; -} - -static void private_data_set_dch_id(packet_info *pinfo, guint32 dch_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->dch_id = dch_id; -} - -static guint32 private_data_get_prev_dch_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->prev_dch_id; -} - -static void private_data_set_prev_dch_id(packet_info *pinfo, guint32 prev_dch_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->prev_dch_id = prev_dch_id; -} - -static guint32 private_data_get_common_physical_channel_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->common_physical_channel_id; -} - -static void private_data_set_common_physical_channel_id(packet_info *pinfo, guint32 common_physical_channel_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->common_physical_channel_id = common_physical_channel_id; -} - -static guint32 private_data_get_e_dch_macdflow_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->e_dch_macdflow_id; -} - -static void private_data_set_e_dch_macdflow_id(packet_info *pinfo, guint32 e_dch_macdflow_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->e_dch_macdflow_id = e_dch_macdflow_id; -} - -static guint32 private_data_get_hsdsch_macdflow_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->hsdsch_macdflow_id; -} - -static void private_data_set_hsdsch_macdflow_id(packet_info *pinfo, guint32 hsdsch_macdflow_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->hsdsch_macdflow_id = hsdsch_macdflow_id; -} - -static guint32 private_data_get_e_dch_ddi_value(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->e_dch_ddi_value; -} - -static void private_data_set_e_dch_ddi_value(packet_info *pinfo, guint32 e_dch_ddi_value) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->e_dch_ddi_value = e_dch_ddi_value; -} - -static guint32 private_data_get_logical_channel_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->logical_channel_id; -} - -static void private_data_set_logical_channel_id(packet_info *pinfo, guint32 logical_channel_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->logical_channel_id = logical_channel_id; -} - -static guint32 private_data_get_common_macdflow_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->common_macdflow_id; -} - -static void private_data_set_common_macdflow_id(packet_info *pinfo, guint32 common_macdflow_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->common_macdflow_id = common_macdflow_id; -} - -static guint32 private_data_get_mac_d_pdu_size(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->mac_d_pdu_size; -} - -static void private_data_set_mac_d_pdu_size(packet_info *pinfo, guint32 mac_d_pdu_size) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->mac_d_pdu_size = mac_d_pdu_size; -} - -static guint32 private_data_get_common_transport_channel_id(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->common_transport_channel_id; -} - -static void private_data_set_common_transport_channel_id(packet_info *pinfo, guint32 common_transport_channel_id) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->common_transport_channel_id = common_transport_channel_id; -} - -static gint private_data_get_paging_indications(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->paging_indications; -} - -static void private_data_set_paging_indications(packet_info *pinfo, gint paging_indications) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->paging_indications = paging_indications; -} - -static guint32 private_data_get_ib_type(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->ib_type; -} - -static void private_data_set_ib_type(packet_info *pinfo, guint32 ib_type) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->ib_type = ib_type; -} - -static guint32 private_data_get_segment_type(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->segment_type; -} - -static void private_data_set_segment_type(packet_info *pinfo, guint32 segment_type) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->segment_type = segment_type; -} - -static gboolean private_data_get_crnc_context_present(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->crnc_context_present; -} - -static void private_data_set_crnc_context_present(packet_info *pinfo, gboolean crnc_context_present) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->crnc_context_present = crnc_context_present; -} - -static guint8 private_data_get_dch_crc_present(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->dch_crc_present; -} - -static void private_data_set_dch_crc_present(packet_info *pinfo, guint8 dch_crc_present) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->dch_crc_present = dch_crc_present; -} - -static nbap_dch_channel_info_t* private_data_get_nbap_dch_chnl_info(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->nbap_dch_chnl_info; -} - -static nbap_edch_channel_info_t* private_data_get_nbap_edch_channel_info(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->nbap_edch_channel_info; -} - -static gint* private_data_get_hsdsch_macdflow_ids(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->hsdsch_macdflow_ids; -} - -static nbap_hsdsch_channel_info_t* private_data_get_nbap_hsdsch_channel_info(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->nbap_hsdsch_channel_info; -} - -static nbap_common_channel_info_t* private_data_get_nbap_common_channel_info(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->nbap_common_channel_info; -} - -static wmem_list_t* private_data_get_ib_segments(packet_info *pinfo) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - return private_data->ib_segments; -} - -static void private_data_set_ib_segments(packet_info *pinfo, wmem_list_t* ib_segments) -{ - nbap_private_data_t *private_data = (nbap_private_data_t*)nbap_get_private_data(pinfo); - private_data->ib_segments = ib_segments; -} - /*****************************************************************************/ @@ -7352,7 +6960,7 @@ dissect_nbap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, &procedure_code, FALSE); - private_data_set_procedure_code(actx->pinfo, procedure_code); + nbap_get_private_data(actx->pinfo)->procedure_code = procedure_code; col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", val_to_str(procedure_code, nbap_ProcedureCode_vals, "unknown message")); @@ -7373,15 +6981,8 @@ static const value_string nbap_DdMode_vals[] = { static int dissect_nbap_DdMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 102 "./asn1/nbap/nbap.cnf" - guint32 dd_mode; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 3, &dd_mode, TRUE, 0, NULL); - - private_data_set_dd_mode(actx->pinfo, dd_mode); - - - + 3, &nbap_get_private_data(actx->pinfo)->dd_mode, TRUE, 0, NULL); return offset; } @@ -7395,15 +6996,16 @@ static const per_sequence_t ProcedureID_sequence[] = { static int dissect_nbap_ProcedureID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 108 "./asn1/nbap/nbap.cnf" +#line 105 "./asn1/nbap/nbap.cnf" ProcedureID = NULL; + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_ProcedureID, ProcedureID_sequence); ProcedureID = wmem_strdup_printf(wmem_packet_scope(), "%s/%s", - val_to_str(private_data_get_procedure_code(actx->pinfo), VALS(nbap_ProcedureCode_vals), "unknown(%u)"), - val_to_str(private_data_get_dd_mode(actx->pinfo), VALS(nbap_DdMode_vals), "unknown(%u)")); - private_data_set_crnc_context_present(actx->pinfo, FALSE); /*Reset CRNC Com context present flag.*/ + val_to_str(nbap_private_data->procedure_code, VALS(nbap_ProcedureCode_vals), "unknown(%u)"), + val_to_str(nbap_private_data->dd_mode, VALS(nbap_DdMode_vals), "unknown(%u)")); + nbap_private_data->crnc_context_present = FALSE; /*Reset CRNC Com context present flag.*/ @@ -8648,7 +8250,7 @@ dissect_nbap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxProtocolIEs, &protocol_ie_id, FALSE); - private_data_set_protocol_ie_id(actx->pinfo, protocol_ie_id); /* To carry around the packet */ + nbap_get_private_data(actx->pinfo)->protocol_ie_id = protocol_ie_id; /* To carry around the packet */ if (tree) { proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(protocol_ie_id, &nbap_ProtocolIE_ID_vals_ext, "unknown (%d)")); } @@ -8661,14 +8263,8 @@ dissect_nbap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ static int dissect_nbap_T_shortTransActionId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 116 "./asn1/nbap/nbap.cnf" - guint32 transaction_id; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 127U, &transaction_id, FALSE); - - private_data_set_transaction_id(actx->pinfo, transaction_id); - - + 0U, 127U, &nbap_get_private_data(actx->pinfo)->transaction_id, FALSE); return offset; } @@ -8677,14 +8273,8 @@ dissect_nbap_T_shortTransActionId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static int dissect_nbap_T_longTransActionId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 121 "./asn1/nbap/nbap.cnf" - guint32 transaction_id; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 32767U, &transaction_id, FALSE); - - private_data_set_transaction_id(actx->pinfo, transaction_id); - - + 0U, 32767U, &nbap_get_private_data(actx->pinfo)->transaction_id, FALSE); return offset; } @@ -8950,14 +8540,14 @@ dissect_nbap_Multicell_EDCH_Transport_Bearer_Mode(tvbuff_t *tvb _U_, int offset static int dissect_nbap_UL_ScramblingCodeNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 976 "./asn1/nbap/nbap.cnf" +#line 960 "./asn1/nbap/nbap.cnf" guint32 ul_scrambling_code; guint32 com_context_id; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 16777215U, &ul_scrambling_code, FALSE); - private_data_set_ul_scrambling_code(actx->pinfo, ul_scrambling_code); - com_context_id = private_data_get_com_context_id(actx->pinfo); + nbap_get_private_data(actx->pinfo)->ul_scrambling_code = ul_scrambling_code; + com_context_id = nbap_get_private_data(actx->pinfo)->com_context_id; if(ul_scrambling_code != 0 && com_context_id != 0) { wmem_tree_insert32(nbap_scrambling_code_crncc_map,ul_scrambling_code,GUINT_TO_POINTER(com_context_id)); } @@ -9220,14 +8810,8 @@ dissect_nbap_Additional_EDCH_RL_Specific_Information_To_Setup_List(tvbuff_t *tvb static int dissect_nbap_E_DCH_MACdFlow_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 941 "./asn1/nbap/nbap.cnf" - guint32 e_dch_macdflow_id; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, maxNrOfEDCHMACdFlows_1, &e_dch_macdflow_id, FALSE); - - private_data_set_e_dch_macdflow_id(actx->pinfo, e_dch_macdflow_id); - - + 0U, maxNrOfEDCHMACdFlows_1, &nbap_get_private_data(actx->pinfo)->e_dch_macdflow_id, FALSE); return offset; } @@ -9236,8 +8820,9 @@ dissect_nbap_E_DCH_MACdFlow_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac static int dissect_nbap_BindingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 960 "./asn1/nbap/nbap.cnf" +#line 942 "./asn1/nbap/nbap.cnf" tvbuff_t *parameter_tvb=NULL; + guint16 binding_id_port; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 1, 4, TRUE, ¶meter_tvb); @@ -9247,8 +8832,9 @@ dissect_nbap_BindingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, return offset; if(tvb_reported_length(parameter_tvb)>=2){ - private_data_set_binding_id_port(actx->pinfo, tvb_get_ntohs(parameter_tvb,0)); - proto_item_append_text(actx->created_item, " (%u)",private_data_get_binding_id_port(actx->pinfo)); + binding_id_port = tvb_get_ntohs(parameter_tvb,0); + nbap_get_private_data(actx->pinfo)->binding_id_port = binding_id_port; + proto_item_append_text(actx->created_item, " (%u)",binding_id_port); } @@ -9260,13 +8846,14 @@ dissect_nbap_BindingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, static int dissect_nbap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 836 "./asn1/nbap/nbap.cnf" +#line 821 "./asn1/nbap/nbap.cnf" tvbuff_t *parameter_tvb=NULL; proto_item *item; proto_tree *subtree, *nsap_tree; guint8 *padded_nsap_bytes; tvbuff_t *nsap_tvb; gint tvb_len; + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 1, 160, TRUE, ¶meter_tvb, NULL); @@ -9279,7 +8866,7 @@ dissect_nbap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t if (tvb_len==4){ /* IPv4 */ proto_tree_add_item(subtree, hf_nbap_transportLayerAddress_ipv4, parameter_tvb, 0, tvb_len, ENC_BIG_ENDIAN); - private_data_set_transportLayerAddress_ipv4(actx->pinfo, tvb_get_ipv4(parameter_tvb, 0)); + nbap_private_data->transportLayerAddress_ipv4 = tvb_get_ipv4(parameter_tvb, 0); } if (tvb_len==16){ /* IPv6 */ @@ -9302,7 +8889,7 @@ dissect_nbap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t nsap_tree = proto_item_add_subtree(item, ett_nbap_TransportLayerAddress_nsap); if(tvb_get_ntoh24(parameter_tvb,0) == 0x350001){ /* IPv4 */ - private_data_set_transportLayerAddress_ipv4(actx->pinfo, tvb_get_ipv4(parameter_tvb, 3)); + nbap_private_data->transportLayerAddress_ipv4 = tvb_get_ipv4(parameter_tvb, 3); } dissect_nsap(nsap_tvb, 0, 20, nsap_tree); } @@ -10830,20 +10417,21 @@ dissect_nbap_AvailabilityStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a static int dissect_nbap_HSDSCH_RNTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2525 "./asn1/nbap/nbap.cnf" +#line 2497 "./asn1/nbap/nbap.cnf" gint hrnti; umts_fp_conversation_info_t *umts_fp_conversation_info = NULL; fp_hsdsch_channel_info_t* fp_hsdsch_channel_info = NULL; address null_addr; conversation_t *conversation = NULL; int i; +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; -nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); +nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 65535U, &hrnti, FALSE); - private_data_set_hrnti(actx->pinfo, hrnti); + nbap_private_data->hrnti = hrnti; if (actx->pinfo->fd->flags.visited){ return offset; @@ -10860,7 +10448,7 @@ nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo DISSECTOR_ASSERT(umts_fp_conversation_info != NULL); fp_hsdsch_channel_info = (fp_hsdsch_channel_info_t*)umts_fp_conversation_info->channel_specific_info; DISSECTOR_ASSERT(fp_hsdsch_channel_info != NULL); - fp_hsdsch_channel_info->hrnti = private_data_get_hrnti(actx->pinfo); + fp_hsdsch_channel_info->hrnti = nbap_private_data->hrnti; } } } @@ -11077,14 +10665,15 @@ dissect_nbap_BundlingModeIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t static int dissect_nbap_CommonTransportChannelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 932 "./asn1/nbap/nbap.cnf" +#line 915 "./asn1/nbap/nbap.cnf" guint32 commontransportchannelid; nbap_dch_channel_info_t* nbap_dch_chnl_info; - nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, &commontransportchannelid, FALSE); -private_data_set_common_transport_channel_id(actx->pinfo, commontransportchannelid); +nbap_private_data->common_transport_channel_id = commontransportchannelid; if(commontransportchannelid<maxNrOfDCHs) nbap_dch_chnl_info[commontransportchannelid].next_dch = 0; @@ -11892,14 +11481,15 @@ dissect_nbap_Common_E_DCH_HSDPCCH_InfoItem(tvbuff_t *tvb _U_, int offset _U_, as static int dissect_nbap_CommonPhysicalChannelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 923 "./asn1/nbap/nbap.cnf" +#line 905 "./asn1/nbap/nbap.cnf" guint32 commonphysicalchannelid; nbap_dch_channel_info_t* nbap_dch_chnl_info; -nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, &commonphysicalchannelid, FALSE); -private_data_set_common_physical_channel_id(actx->pinfo, commonphysicalchannelid); +nbap_private_data->common_physical_channel_id = commonphysicalchannelid; if(commonphysicalchannelid<maxNrOfDCHs) nbap_dch_chnl_info[commonphysicalchannelid].next_dch = 0; @@ -12066,17 +11656,8 @@ dissect_nbap_Common_E_DCH_Resource_Combination_InfoList(tvbuff_t *tvb _U_, int o static int dissect_nbap_Common_MACFlow_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2359 "./asn1/nbap/nbap.cnf" -guint32 common_macdflow_id; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, maxNrOfCommonMACFlows_1, &common_macdflow_id, FALSE); - -private_data_set_common_macdflow_id(actx->pinfo, common_macdflow_id); - - -/*hsdsch_macdflow_ids[private_data_get_num_items(actx->pinfo)-1] = private_data_get_hsdsch_macdflow_id(actx->pinfo);*/ -/*THIS STUFF IST NOT DONE YET!*/ - + 0U, maxNrOfCommonMACFlows_1, &nbap_get_private_data(actx->pinfo)->common_macdflow_id, FALSE); return offset; } @@ -12149,7 +11730,7 @@ static const value_string nbap_PayloadCRC_PresenceIndicator_vals[] = { static int dissect_nbap_PayloadCRC_PresenceIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 884 "./asn1/nbap/nbap.cnf" +#line 870 "./asn1/nbap/nbap.cnf" guint32 payload_crc_value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, @@ -12157,9 +11738,9 @@ guint32 payload_crc_value; if(payload_crc_value == 0){ - private_data_set_dch_crc_present(actx->pinfo, TRUE); + nbap_get_private_data(actx->pinfo)->dch_crc_present = TRUE; }else{ - private_data_set_dch_crc_present(actx->pinfo, FALSE); + nbap_get_private_data(actx->pinfo)->dch_crc_present = FALSE; } @@ -12201,20 +11782,21 @@ dissect_nbap_E_DCH_MACdFlow_Multiplexing_List(tvbuff_t *tvb _U_, int offset _U_, static int dissect_nbap_LogicalChannelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1972 "./asn1/nbap/nbap.cnf" +#line 1963 "./asn1/nbap/nbap.cnf" guint32 logical_channel_id; guint num_items; nbap_edch_channel_info_t* nbap_edch_channel_info; - nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info; /* Set logical channel id for this entry*/ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 15U, &logical_channel_id, FALSE); - private_data_set_logical_channel_id(actx->pinfo, logical_channel_id); - num_items = private_data_get_num_items(actx->pinfo); + nbap_private_data->logical_channel_id = logical_channel_id; + num_items = nbap_private_data->num_items; if(num_items>0) - nbap_edch_channel_info[private_data_get_e_dch_macdflow_id(actx->pinfo)].lchId[num_items-1] = private_data_get_logical_channel_id(actx->pinfo); + nbap_edch_channel_info[nbap_private_data->e_dch_macdflow_id].lchId[num_items-1] = nbap_private_data->logical_channel_id; @@ -12225,14 +11807,14 @@ dissect_nbap_LogicalChannelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act static int dissect_nbap_MAC_PDU_SizeExtended(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2090 "./asn1/nbap/nbap.cnf" +#line 2086 "./asn1/nbap/nbap.cnf" guint32 hsdsch_macdflow_id; nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; -nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); +nbap_hsdsch_channel_info = nbap_get_private_data(actx->pinfo)->nbap_hsdsch_channel_info; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 1504U, NULL, TRUE); - hsdsch_macdflow_id = private_data_get_hsdsch_macdflow_id(actx->pinfo); + hsdsch_macdflow_id = nbap_get_private_data(actx->pinfo)->hsdsch_macdflow_id; if(nbap_hsdsch_channel_info[hsdsch_macdflow_id].crnc_port != 0){ nbap_hsdsch_channel_info[hsdsch_macdflow_id].entity = ehs; } @@ -12652,23 +12234,24 @@ static const per_sequence_t CommonMACFlow_Specific_InfoItem_sequence[] = { static int dissect_nbap_CommonMACFlow_Specific_InfoItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2367 "./asn1/nbap/nbap.cnf" +#line 2337 "./asn1/nbap/nbap.cnf" address dst_addr; guint32 transportLayerAddress_ipv4; guint16 bindingID; guint32 common_macdflow_id; - private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); - private_data_set_binding_id_port(actx->pinfo, 0); - private_data_increment_num_items(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_private_data->transportLayerAddress_ipv4 = 0; + nbap_private_data->binding_id_port = 0; + nbap_private_data->num_items++; nbap_common_channel_info_t* nbap_common_channel_info; - nbap_common_channel_info = private_data_get_nbap_common_channel_info(actx->pinfo); + nbap_common_channel_info = nbap_private_data->nbap_common_channel_info; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_CommonMACFlow_Specific_InfoItem, CommonMACFlow_Specific_InfoItem_sequence); - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -12676,9 +12259,9 @@ dissect_nbap_CommonMACFlow_Specific_InfoItem(tvbuff_t *tvb _U_, int offset _U_, set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); /* Set address for collection of common entries */ - common_macdflow_id = private_data_get_common_macdflow_id(actx->pinfo); + common_macdflow_id = nbap_private_data->common_macdflow_id; copy_address_wmem(actx->pinfo->pool,&(nbap_common_channel_info[common_macdflow_id].crnc_address),&dst_addr); - nbap_common_channel_info[common_macdflow_id].crnc_port = private_data_get_binding_id_port(actx->pinfo); + nbap_common_channel_info[common_macdflow_id].crnc_port = nbap_private_data->binding_id_port; @@ -12704,23 +12287,24 @@ dissect_nbap_CommonMACFlow_Specific_InfoList(tvbuff_t *tvb _U_, int offset _U_, static int dissect_nbap_MACdPDU_Size(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1956 "./asn1/nbap/nbap.cnf" +#line 1946 "./asn1/nbap/nbap.cnf" guint32 mac_d_pdu_size; guint num_items; nbap_edch_channel_info_t* nbap_edch_channel_info; -nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 5000U, &mac_d_pdu_size, TRUE); - private_data_set_mac_d_pdu_size(actx->pinfo, mac_d_pdu_size); + nbap_private_data->mac_d_pdu_size = mac_d_pdu_size; if (actx->pinfo->fd->flags.visited) { return offset; } - num_items = private_data_get_num_items(actx->pinfo); + num_items = nbap_private_data->num_items; if(num_items>0) - nbap_edch_channel_info[private_data_get_e_dch_macdflow_id(actx->pinfo)].edch_macd_pdu_size[num_items-1] = private_data_get_mac_d_pdu_size(actx->pinfo); + nbap_edch_channel_info[nbap_private_data->e_dch_macdflow_id].edch_macd_pdu_size[num_items-1] = nbap_private_data->mac_d_pdu_size; @@ -13017,31 +12601,32 @@ static const per_sequence_t CommonTransportChannel_InformationResponse_sequence[ static int dissect_nbap_CommonTransportChannel_InformationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 184 "./asn1/nbap/nbap.cnf" +#line 176 "./asn1/nbap/nbap.cnf" address dst_addr; nbap_setup_conv_t *request_conv; conversation_t *conv; guint32 transportLayerAddress_ipv4; guint16 bindingID; +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); nbap_debug("Frame %u CommonTransportChannel-InformationResponse Start", actx->pinfo->num); -private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); -private_data_set_binding_id_port(actx->pinfo, 0); +nbap_private_data->transportLayerAddress_ipv4 = 0; +nbap_private_data->binding_id_port = 0; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_CommonTransportChannel_InformationResponse, CommonTransportChannel_InformationResponse_sequence); - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); - request_conv = find_setup_conv(private_data_get_transaction_id(actx->pinfo),private_data_get_dd_mode(actx->pinfo),private_data_get_common_transport_channel_id(actx->pinfo)); + request_conv = find_setup_conv(nbap_private_data->transaction_id,nbap_private_data->dd_mode,nbap_private_data->common_transport_channel_id); if(request_conv == NULL){ return offset; @@ -13972,13 +13557,13 @@ dissect_nbap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ static int dissect_nbap_CRNC_CommunicationContextID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2485 "./asn1/nbap/nbap.cnf" +#line 2456 "./asn1/nbap/nbap.cnf" guint32 com_context_id; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 1048575U, &com_context_id, FALSE); -private_data_set_com_context_id(actx->pinfo, com_context_id); -private_data_set_crnc_context_present(actx->pinfo, TRUE); +nbap_get_private_data(actx->pinfo)->com_context_id = com_context_id; +nbap_get_private_data(actx->pinfo)->crnc_context_present = TRUE; @@ -15359,14 +14944,8 @@ dissect_nbap_DATA_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr static int dissect_nbap_DCH_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 895 "./asn1/nbap/nbap.cnf" - guint32 t_dch_id; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, - 0U, 255U, &t_dch_id, FALSE); - - private_data_set_t_dch_id(actx->pinfo, t_dch_id); - - + 0U, 255U, &nbap_get_private_data(actx->pinfo)->t_dch_id, FALSE); return offset; } @@ -15411,18 +14990,19 @@ dissect_nbap_ToAWE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, prot static int dissect_nbap_T_dCH_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 900 "./asn1/nbap/nbap.cnf" +#line 883 "./asn1/nbap/nbap.cnf" guint32 dch_id; gint num_dch_in_flow; nbap_dch_channel_info_t* nbap_dch_chnl_info; - nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, &dch_id, FALSE); - num_dch_in_flow = private_data_get_num_dch_in_flow(actx->pinfo); - private_data_set_dch_id(actx->pinfo, dch_id); + num_dch_in_flow = nbap_private_data->num_dch_in_flow; + nbap_private_data->dch_id = dch_id; if(num_dch_in_flow>0){ - guint32 prev_dch_id = private_data_get_prev_dch_id(actx->pinfo); + guint32 prev_dch_id = nbap_private_data->prev_dch_id; nbap_dch_chnl_info[dch_id].next_dch = 0; if(prev_dch_id != 0 && prev_dch_id != 0xffffffff && prev_dch_id != dch_id){ nbap_dch_chnl_info[prev_dch_id].next_dch = dch_id; @@ -15438,26 +15018,27 @@ dissect_nbap_T_dCH_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p static int dissect_nbap_TransportFormatSet_NrOfTransportBlocks(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1357 "./asn1/nbap/nbap.cnf" +#line 1349 "./asn1/nbap/nbap.cnf" guint32 NrOfTransportBlocks; guint num_items; guint32 dch_id; guint32 common_physical_channel_id; guint32 common_transport_channel_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; -nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 512U, &NrOfTransportBlocks, FALSE); - if(private_data_get_num_items(actx->pinfo)>0){ - num_items = private_data_get_num_items(actx->pinfo); - dch_id = private_data_get_dch_id(actx->pinfo); + if(nbap_private_data->num_items>0){ + num_items = nbap_private_data->num_items; + dch_id = nbap_private_data->dch_id; if (num_items > 0 && dch_id != 0xffffffff) { - common_physical_channel_id = private_data_get_common_physical_channel_id(actx->pinfo); - common_transport_channel_id = private_data_get_common_transport_channel_id(actx->pinfo); - switch(private_data_get_transport_format_set_type(actx->pinfo)){ + common_physical_channel_id = nbap_private_data->common_physical_channel_id; + common_transport_channel_id = nbap_private_data->common_transport_channel_id; + switch(nbap_private_data->transport_format_set_type){ case NBAP_DCH_UL: nbap_dch_chnl_info[dch_id].num_ul_chans++; nbap_dch_chnl_info[dch_id].ul_chan_num_tbs[num_items-1] = NrOfTransportBlocks; @@ -15493,26 +15074,27 @@ nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); static int dissect_nbap_TransportFormatSet_TransportBlockSize(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1401 "./asn1/nbap/nbap.cnf" +#line 1394 "./asn1/nbap/nbap.cnf" guint32 TransportBlockSize; guint num_items; guint32 dch_id; guint32 common_physical_channel_id; guint32 common_transport_channel_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; -nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 5000U, &TransportBlockSize, FALSE); - if(private_data_get_num_items(actx->pinfo)>0){ - num_items = private_data_get_num_items(actx->pinfo); - dch_id = private_data_get_dch_id(actx->pinfo); + if(nbap_private_data->num_items>0){ + num_items = nbap_private_data->num_items; + dch_id = nbap_private_data->dch_id; if (num_items > 0 && dch_id != 0xffffffff) { - common_physical_channel_id = private_data_get_common_physical_channel_id(actx->pinfo); - common_transport_channel_id = private_data_get_common_transport_channel_id(actx->pinfo); - switch(private_data_get_transport_format_set_type(actx->pinfo)){ + common_physical_channel_id = nbap_private_data->common_physical_channel_id; + common_transport_channel_id = nbap_private_data->common_transport_channel_id; + switch(nbap_private_data->transport_format_set_type){ case NBAP_DCH_UL: nbap_dch_chnl_info[dch_id].ul_chan_tf_size[num_items-1] = TransportBlockSize; break; @@ -15633,8 +15215,8 @@ static const per_sequence_t TransportFormatSet_DynamicPartList_item_sequence[] = static int dissect_nbap_TransportFormatSet_DynamicPartList_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1353 "./asn1/nbap/nbap.cnf" - private_data_increment_num_items(actx->pinfo); +#line 1345 "./asn1/nbap/nbap.cnf" + nbap_get_private_data(actx->pinfo)->num_items++; @@ -15651,8 +15233,8 @@ static const per_sequence_t TransportFormatSet_DynamicPartList_sequence_of[1] = static int dissect_nbap_TransportFormatSet_DynamicPartList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1350 "./asn1/nbap/nbap.cnf" - private_data_set_num_items(actx->pinfo, 0); +#line 1342 "./asn1/nbap/nbap.cnf" + nbap_get_private_data(actx->pinfo)->num_items = 0; offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, @@ -15822,11 +15404,12 @@ dissect_nbap_TransportFormatSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a static int dissect_nbap_T_ul_TransportFormatSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1306 "./asn1/nbap/nbap.cnf" - guint32 dch_id = private_data_get_dch_id(actx->pinfo); +#line 1293 "./asn1/nbap/nbap.cnf" + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + guint32 dch_id = nbap_private_data->dch_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; - nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); - private_data_set_transport_format_set_type(actx->pinfo, NBAP_DCH_UL); + nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; + nbap_private_data->transport_format_set_type = NBAP_DCH_UL; if (dch_id != 0xffffffff) { nbap_dch_chnl_info[dch_id].num_ul_chans = 0; } @@ -15841,11 +15424,12 @@ dissect_nbap_T_ul_TransportFormatSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx static int dissect_nbap_T_dl_TransportFormatSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1315 "./asn1/nbap/nbap.cnf" - guint32 dch_id = private_data_get_dch_id(actx->pinfo); +#line 1303 "./asn1/nbap/nbap.cnf" + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + guint32 dch_id = nbap_private_data->dch_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; - nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); - private_data_set_transport_format_set_type(actx->pinfo, NBAP_DCH_DL); + nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; + nbap_private_data->transport_format_set_type = NBAP_DCH_DL; if (dch_id != 0xffffffff) { nbap_dch_chnl_info[dch_id].num_dl_chans = 0; } @@ -15896,15 +15480,15 @@ static const per_sequence_t DCH_Specific_FDD_Item_sequence[] = { static int dissect_nbap_DCH_Specific_FDD_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1300 "./asn1/nbap/nbap.cnf" - private_data_increment_num_dch_in_flow(actx->pinfo); +#line 1287 "./asn1/nbap/nbap.cnf" + nbap_get_private_data(actx->pinfo)->num_dch_in_flow++; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_DCH_Specific_FDD_Item, DCH_Specific_FDD_Item_sequence); -#line 1303 "./asn1/nbap/nbap.cnf" - private_data_set_prev_dch_id(actx->pinfo,private_data_get_dch_id(actx->pinfo)); +#line 1290 "./asn1/nbap/nbap.cnf" + nbap_get_private_data(actx->pinfo)->prev_dch_id = nbap_get_private_data(actx->pinfo)->dch_id; return offset; @@ -15917,9 +15501,9 @@ static const per_sequence_t DCH_Specific_FDD_InformationList_sequence_of[1] = { static int dissect_nbap_DCH_Specific_FDD_InformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1296 "./asn1/nbap/nbap.cnf" - private_data_set_num_dch_in_flow(actx->pinfo, 0); - private_data_set_prev_dch_id(actx->pinfo, 0); +#line 1283 "./asn1/nbap/nbap.cnf" + nbap_get_private_data(actx->pinfo)->num_dch_in_flow = 0; + nbap_get_private_data(actx->pinfo)->prev_dch_id = 0; offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, @@ -16196,12 +15780,10 @@ dissect_nbap_DCH_TDD_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * static int dissect_nbap_T_dCH_ID_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 918 "./asn1/nbap/nbap.cnf" - offset = dissect_nbap_DCH_ID(tvb, offset, actx, tree, hf_index); - private_data_set_dch_id(actx->pinfo, private_data_get_t_dch_id(actx->pinfo)); - +#line 902 "./asn1/nbap/nbap.cnf" + nbap_get_private_data(actx->pinfo)->dch_id = nbap_get_private_data(actx->pinfo)->t_dch_id; return offset; @@ -16211,11 +15793,12 @@ dissect_nbap_T_dCH_ID_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ static int dissect_nbap_T_ul_TransportFormatSet_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1324 "./asn1/nbap/nbap.cnf" - guint32 dch_id = private_data_get_dch_id(actx->pinfo); +#line 1313 "./asn1/nbap/nbap.cnf" + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + guint32 dch_id = nbap_private_data->dch_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; - nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); - private_data_set_transport_format_set_type(actx->pinfo, NBAP_DCH_UL); + nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; + nbap_private_data->transport_format_set_type = NBAP_DCH_UL; if (dch_id != 0xffffffff) { nbap_dch_chnl_info[dch_id].num_ul_chans = 0; } @@ -16230,11 +15813,12 @@ dissect_nbap_T_ul_TransportFormatSet_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ static int dissect_nbap_T_dl_TransportFormatSet_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1333 "./asn1/nbap/nbap.cnf" - guint32 dch_id = private_data_get_dch_id(actx->pinfo); +#line 1323 "./asn1/nbap/nbap.cnf" + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + guint32 dch_id = nbap_private_data->dch_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; - nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); - private_data_set_transport_format_set_type(actx->pinfo, NBAP_DCH_DL); + nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; + nbap_private_data->transport_format_set_type = NBAP_DCH_DL; if (dch_id != 0xffffffff) { nbap_dch_chnl_info[dch_id].num_dl_chans = 0; } @@ -16291,16 +15875,9 @@ static const per_sequence_t FDD_DCHs_to_ModifyItem_sequence[] = { static int dissect_nbap_FDD_DCHs_to_ModifyItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1440 "./asn1/nbap/nbap.cnf" - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_FDD_DCHs_to_ModifyItem, FDD_DCHs_to_ModifyItem_sequence); - /*g_warning("I'm going to modify dch_id: %d and t_dch_id: %d",private_data_get_dch_id(actx->pinfo),private_data_get_t_dch_id(actx->pinfo)); - */ - - - return offset; } @@ -18713,23 +18290,24 @@ dissect_nbap_E_DCH_HARQ_Combining_Capability(tvbuff_t *tvb _U_, int offset _U_, static int dissect_nbap_E_DCH_DDI_Value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1940 "./asn1/nbap/nbap.cnf" +#line 1929 "./asn1/nbap/nbap.cnf" guint32 e_dch_ddi_value; guint num_items; nbap_edch_channel_info_t* nbap_edch_channel_info; - nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 62U, &e_dch_ddi_value, FALSE); - private_data_set_e_dch_ddi_value(actx->pinfo, e_dch_ddi_value); + nbap_private_data->e_dch_ddi_value = e_dch_ddi_value; if (actx->pinfo->fd->flags.visited) { return offset; } - num_items = private_data_get_num_items(actx->pinfo); + num_items = nbap_private_data->num_items; if(num_items>0) - nbap_edch_channel_info[private_data_get_e_dch_macdflow_id(actx->pinfo)].edch_ddi[num_items-1] = private_data_get_e_dch_ddi_value(actx->pinfo); + nbap_edch_channel_info[nbap_private_data->e_dch_macdflow_id].edch_ddi[num_items-1] = nbap_private_data->e_dch_ddi_value; @@ -18853,8 +18431,8 @@ static const per_sequence_t E_DCH_LogicalChannelInformationItem_sequence[] = { static int dissect_nbap_E_DCH_LogicalChannelInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1937 "./asn1/nbap/nbap.cnf" - private_data_increment_num_items(actx->pinfo); +#line 1926 "./asn1/nbap/nbap.cnf" + nbap_get_private_data(actx->pinfo)->num_items++; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -18870,17 +18448,18 @@ static const per_sequence_t E_DCH_LogicalChannelInformation_sequence_of[1] = { static int dissect_nbap_E_DCH_LogicalChannelInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1928 "./asn1/nbap/nbap.cnf" - private_data_set_num_items(actx->pinfo, 0); +#line 1916 "./asn1/nbap/nbap.cnf" + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_private_data->num_items = 0; nbap_edch_channel_info_t* nbap_edch_channel_info; - nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); + nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info; offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, ett_nbap_E_DCH_LogicalChannelInformation, E_DCH_LogicalChannelInformation_sequence_of, 1, maxNoOfLogicalChannels, FALSE); -nbap_edch_channel_info[private_data_get_e_dch_macdflow_id(actx->pinfo)].no_ddi_entries = private_data_get_num_items(actx->pinfo); +nbap_edch_channel_info[nbap_private_data->e_dch_macdflow_id].no_ddi_entries = nbap_private_data->num_items; @@ -18905,7 +18484,7 @@ static const per_sequence_t E_DCH_MACdFlow_Specific_InfoItem_sequence[] = { static int dissect_nbap_E_DCH_MACdFlow_Specific_InfoItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1686 "./asn1/nbap/nbap.cnf" +#line 1673 "./asn1/nbap/nbap.cnf" umts_fp_conversation_info_t *p_conv_data = NULL; fp_edch_channel_info_t* fp_edch_channel_info = NULL; address null_addr; @@ -18913,7 +18492,8 @@ conversation_t *p_conv; guint32 no_ddi_entries, i; guint32 e_dch_macdflow_id; nbap_edch_channel_info_t* nbap_edch_channel_info; -nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_E_DCH_MACdFlow_Specific_InfoItem, E_DCH_MACdFlow_Specific_InfoItem_sequence); @@ -18924,7 +18504,7 @@ nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); } /* Check if we have conversation info */ - e_dch_macdflow_id = private_data_get_e_dch_macdflow_id(actx->pinfo); + e_dch_macdflow_id = nbap_private_data->e_dch_macdflow_id; clear_address(&null_addr); p_conv = find_conversation(actx->pinfo->num, &nbap_edch_channel_info[e_dch_macdflow_id].crnc_address, &null_addr, ENDPOINT_UDP, nbap_edch_channel_info[e_dch_macdflow_id].crnc_port, 0, NO_ADDR_B); @@ -18948,10 +18528,10 @@ nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); fp_edch_channel_info->edch_lchId[i] = nbap_edch_channel_info[e_dch_macdflow_id].lchId[i]; } - p_conv_data->dch_crc_present = private_data_get_dch_crc_present(actx->pinfo); + p_conv_data->dch_crc_present = nbap_private_data->dch_crc_present; /* Figure out which type of E-DCH frame, based on DDI value (DDI = 0 => type 2)*/ - if( 0 == private_data_get_e_dch_ddi_value(actx->pinfo) ){ + if( 0 == nbap_private_data->e_dch_ddi_value ){ fp_edch_channel_info->edch_type = 1; /* 1 means T2 */ }else{ /*Value 1-5 means T1*/ @@ -18959,7 +18539,7 @@ nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); } /* use to display e_dch_macdflow_id */ p_conv_data->num_dch_in_flow = 1; - p_conv_data->dch_ids_in_flow_list[0] = private_data_get_e_dch_macdflow_id(actx->pinfo); + p_conv_data->dch_ids_in_flow_list[0] = nbap_private_data->e_dch_macdflow_id; @@ -19090,13 +18670,11 @@ static const per_sequence_t E_DCH_LogicalChannelToModifyItem_sequence[] = { static int dissect_nbap_E_DCH_LogicalChannelToModifyItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1923 "./asn1/nbap/nbap.cnf" - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_E_DCH_LogicalChannelToModifyItem, E_DCH_LogicalChannelToModifyItem_sequence); -private_data_increment_num_items(actx->pinfo); - +#line 1913 "./asn1/nbap/nbap.cnf" + nbap_get_private_data(actx->pinfo)->num_items++; return offset; @@ -19165,7 +18743,7 @@ static const per_sequence_t E_DCH_MACdFlow_Specific_InfoItem_to_Modify_sequence[ static int dissect_nbap_E_DCH_MACdFlow_Specific_InfoItem_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1836 "./asn1/nbap/nbap.cnf" +#line 1825 "./asn1/nbap/nbap.cnf" guint32 no_ddi_entries, i; address null_addr; nbap_edch_port_info_t *old_info; @@ -19174,9 +18752,10 @@ fp_edch_channel_info_t* fp_edch_channel_info; conversation_t *p_conv; guint32 e_dch_macdflow_id; nbap_edch_channel_info_t* nbap_edch_channel_info; -nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info; -private_data_set_num_items(actx->pinfo, 1); +nbap_private_data->num_items = 1; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_E_DCH_MACdFlow_Specific_InfoItem_to_Modify, E_DCH_MACdFlow_Specific_InfoItem_to_Modify_sequence); @@ -19191,27 +18770,27 @@ private_data_set_num_items(actx->pinfo, 1); /****** Look up old port and ip information since this is not included in this message ******/ /*Find proper communication context ID*/ - if(private_data_get_crnc_context_present(actx->pinfo)){ - /*umts_fp_conversation_info->com_context_id = private_data_get_com_context_id(actx->pinfo);*/ + if(nbap_private_data->crnc_context_present){ + /*umts_fp_conversation_info->com_context_id = nbap_private_data->com_context_id;*/ }else{ expert_add_info(actx->pinfo, NULL, &ei_nbap_no_set_comm_context_id); } /*This should not happen*/ - if(( old_info = (nbap_edch_port_info_t *)wmem_tree_lookup32(edch_flow_port_map,private_data_get_com_context_id(actx->pinfo))) == NULL ){ + if(( old_info = (nbap_edch_port_info_t *)wmem_tree_lookup32(edch_flow_port_map,nbap_private_data->com_context_id)) == NULL ){ expert_add_info(actx->pinfo, NULL, &ei_nbap_no_find_port_info); return offset; } - nbap_debug(" Found com_context_id %u",private_data_get_com_context_id(actx->pinfo)); + nbap_debug(" Found com_context_id %u",nbap_private_data->com_context_id); /*Set the appropriate port, cheat and use same variable.*/ - e_dch_macdflow_id = private_data_get_e_dch_macdflow_id(actx->pinfo); - private_data_set_binding_id_port(actx->pinfo, old_info->crnc_port[e_dch_macdflow_id]); + e_dch_macdflow_id = nbap_private_data->e_dch_macdflow_id; + nbap_private_data->binding_id_port = old_info->crnc_port[e_dch_macdflow_id]; - nbap_debug(" Port %u loaded from old_info->crnc_port[e_dch_macdflow_id %u]",private_data_get_binding_id_port(actx->pinfo), e_dch_macdflow_id); + nbap_debug(" Port %u loaded from old_info->crnc_port[e_dch_macdflow_id %u]",nbap_private_data->binding_id_port, e_dch_macdflow_id); /*TODO: Fix this for ipv6 as well!*/ - private_data_set_transportLayerAddress_ipv4(actx->pinfo, old_info->crnc_address); + nbap_private_data->transportLayerAddress_ipv4 = old_info->crnc_address; /*Do the configurations*/ /* Check if we have conversation info */ @@ -19238,10 +18817,10 @@ private_data_set_num_items(actx->pinfo, 1); fp_edch_channel_info->edch_lchId[i] = nbap_edch_channel_info[e_dch_macdflow_id].lchId[i]; } - p_conv_data->dch_crc_present = private_data_get_dch_crc_present(actx->pinfo); + p_conv_data->dch_crc_present = nbap_private_data->dch_crc_present; /* Figure out which type of E-DCH frame, based on DDI value (DDI = 0 => type 2)*/ - if( 0 == private_data_get_e_dch_ddi_value(actx->pinfo) ){ + if( 0 == nbap_private_data->e_dch_ddi_value ){ fp_edch_channel_info->edch_type = 1; /* 1 means T2 */ }else{ /*Value 1-5 means T1*/ @@ -19302,7 +18881,7 @@ static const per_sequence_t E_DCH_FDD_Information_to_Modify_sequence[] = { static int dissect_nbap_E_DCH_FDD_Information_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1741 "./asn1/nbap/nbap.cnf" +#line 1729 "./asn1/nbap/nbap.cnf" address dst_addr, null_addr; conversation_t *conversation,*old_conversation = NULL; @@ -19313,17 +18892,18 @@ guint32 transportLayerAddress_ipv4; guint16 bindingID; guint32 e_dch_macdflow_id; nbap_edch_channel_info_t* nbap_edch_channel_info; -nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info; -private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); -private_data_set_binding_id_port(actx->pinfo, 0); +nbap_private_data->transportLayerAddress_ipv4 = 0; +nbap_private_data->binding_id_port = 0; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_E_DCH_FDD_Information_to_Modify, E_DCH_FDD_Information_to_Modify_sequence); - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -19379,14 +18959,14 @@ private_data_set_binding_id_port(actx->pinfo, 0); fp_edch_channel_info = wmem_new0(wmem_file_scope(), fp_edch_channel_info_t); umts_fp_conversation_info->channel_specific_info = (void*)fp_edch_channel_info; - if(private_data_get_crnc_context_present(actx->pinfo)){ - umts_fp_conversation_info->com_context_id = private_data_get_com_context_id(actx->pinfo); + if(nbap_private_data->crnc_context_present){ + umts_fp_conversation_info->com_context_id = nbap_private_data->com_context_id; }else{ expert_add_info(actx->pinfo, NULL, &ei_nbap_no_set_comm_context_id); } /* Set address for collection of DDI entries */ - e_dch_macdflow_id = private_data_get_e_dch_macdflow_id(actx->pinfo); + e_dch_macdflow_id = nbap_private_data->e_dch_macdflow_id; copy_address_wmem(actx->pinfo->pool,&(nbap_edch_channel_info[e_dch_macdflow_id].crnc_address),&dst_addr); nbap_edch_channel_info[e_dch_macdflow_id].crnc_port = bindingID; @@ -23896,7 +23476,7 @@ static const value_string nbap_PICH_Mode_vals[] = { static int dissect_nbap_PICH_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1064 "./asn1/nbap/nbap.cnf" +#line 1049 "./asn1/nbap/nbap.cnf" guint32 PICH_Mode = 0; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, &PICH_Mode, TRUE, 0, NULL); @@ -23904,16 +23484,16 @@ guint32 PICH_Mode = 0; switch(PICH_Mode){ case 0: /* v18 */ - private_data_set_paging_indications(actx->pinfo, 18); + nbap_get_private_data(actx->pinfo)->paging_indications = 18; break; case 1: /* v36 */ - private_data_set_paging_indications(actx->pinfo, 36); + nbap_get_private_data(actx->pinfo)->paging_indications = 36; break; case 2: /* v72 */ - private_data_set_paging_indications(actx->pinfo, 72); + nbap_get_private_data(actx->pinfo)->paging_indications = 72; break; case 3: /* v144 */ - private_data_set_paging_indications(actx->pinfo, 144); + nbap_get_private_data(actx->pinfo)->paging_indications = 144; break; } @@ -24011,7 +23591,7 @@ static const per_sequence_t HSDSCH_Common_System_InformationFDD_sequence[] = { static int dissect_nbap_HSDSCH_Common_System_InformationFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2394 "./asn1/nbap/nbap.cnf" +#line 2365 "./asn1/nbap/nbap.cnf" /* * 5.1.6 High Speed Downlink Shared Channels * The Data Transfer procedure is used to transfer a HS-DSCH DATA FRAME (TYPE 1, TYPE 2 [FDD and 1.28Mcps @@ -24027,7 +23607,7 @@ fp_hsdsch_channel_info_t* fp_hsdsch_channel_info = NULL; address null_addr; conversation_t *conversation = NULL; nbap_common_channel_info_t* nbap_common_channel_info; -nbap_common_channel_info = private_data_get_nbap_common_channel_info(actx->pinfo); +nbap_common_channel_info = nbap_get_private_data(actx->pinfo)->nbap_common_channel_info; int i; @@ -24077,7 +23657,7 @@ int i; fp_hsdsch_channel_info = wmem_new0(wmem_file_scope(), fp_hsdsch_channel_info_t); umts_fp_conversation_info->channel_specific_info = (void*)fp_hsdsch_channel_info; - fp_hsdsch_channel_info->common_macdflow_id = private_data_get_common_macdflow_id(actx->pinfo); + fp_hsdsch_channel_info->common_macdflow_id = nbap_get_private_data(actx->pinfo)->common_macdflow_id; fp_hsdsch_channel_info->hsdsch_entity = ehs; @@ -24158,20 +23738,21 @@ dissect_nbap_HSDSCH_Common_System_Information_ResponseFDD(tvbuff_t *tvb _U_, int static int dissect_nbap_HSDSCH_MACdFlow_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 946 "./asn1/nbap/nbap.cnf" +#line 927 "./asn1/nbap/nbap.cnf" guint32 hsdsch_macdflow_id; guint num_items; gint* hsdsch_macdflow_ids; + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxNrOfMACdFlows_1, &hsdsch_macdflow_id, FALSE); - private_data_set_hsdsch_macdflow_id(actx->pinfo, hsdsch_macdflow_id); + nbap_private_data->hsdsch_macdflow_id = hsdsch_macdflow_id; - num_items = private_data_get_num_items(actx->pinfo); + num_items = nbap_private_data->num_items; DISSECTOR_ASSERT(num_items < maxNrOfMACdFlows+1); DISSECTOR_ASSERT(num_items > 0); -hsdsch_macdflow_ids = private_data_get_hsdsch_macdflow_ids(actx->pinfo); +hsdsch_macdflow_ids = nbap_private_data->hsdsch_macdflow_ids; hsdsch_macdflow_ids[num_items-1] = hsdsch_macdflow_id; @@ -24191,24 +23772,25 @@ static const per_sequence_t HSDSCH_MACdFlow_Specific_InfoItem_sequence[] = { static int dissect_nbap_HSDSCH_MACdFlow_Specific_InfoItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2062 "./asn1/nbap/nbap.cnf" +#line 2057 "./asn1/nbap/nbap.cnf" address dst_addr; guint32 transportLayerAddress_ipv4; guint16 bindingID; guint32 hsdsch_macdflow_id; + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; - nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); + nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info; - private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); - private_data_set_binding_id_port(actx->pinfo, 0); - private_data_increment_num_items(actx->pinfo); + nbap_private_data->transportLayerAddress_ipv4 = 0; + nbap_private_data->binding_id_port = 0; + nbap_private_data->num_items++; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_HSDSCH_MACdFlow_Specific_InfoItem, HSDSCH_MACdFlow_Specific_InfoItem_sequence); - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -24216,7 +23798,7 @@ dissect_nbap_HSDSCH_MACdFlow_Specific_InfoItem(tvbuff_t *tvb _U_, int offset _U_ set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); /* Set address for collection of HSDSCH entries */ - hsdsch_macdflow_id = private_data_get_hsdsch_macdflow_id(actx->pinfo); + hsdsch_macdflow_id = nbap_private_data->hsdsch_macdflow_id; copy_address_wmem(actx->pinfo->pool,&(nbap_hsdsch_channel_info[hsdsch_macdflow_id].crnc_address),&dst_addr); nbap_hsdsch_channel_info[hsdsch_macdflow_id].crnc_port = bindingID; @@ -24300,21 +23882,22 @@ static const value_string nbap_RLC_Mode_vals[] = { static int dissect_nbap_RLC_Mode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1985 "./asn1/nbap/nbap.cnf" +#line 1977 "./asn1/nbap/nbap.cnf" guint32 rlc_mode; nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; - nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, &rlc_mode, TRUE, 0, NULL); switch(rlc_mode){ case 0: /* rLC-AM */ - nbap_hsdsch_channel_info[private_data_get_hsdsch_macdflow_id(actx->pinfo)].rlc_mode = FP_RLC_AM; + nbap_hsdsch_channel_info[nbap_private_data->hsdsch_macdflow_id].rlc_mode = FP_RLC_AM; break; case 1: /* rLC-UM */ - nbap_hsdsch_channel_info[private_data_get_hsdsch_macdflow_id(actx->pinfo)].rlc_mode = FP_RLC_UM; + nbap_hsdsch_channel_info[nbap_private_data->hsdsch_macdflow_id].rlc_mode = FP_RLC_UM; break; default: break; @@ -24342,8 +23925,8 @@ static const per_sequence_t PriorityQueue_InfoItem_sequence[] = { static int dissect_nbap_PriorityQueue_InfoItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2053 "./asn1/nbap/nbap.cnf" - private_data_increment_num_items(actx->pinfo); +#line 2048 "./asn1/nbap/nbap.cnf" + nbap_get_private_data(actx->pinfo)->num_items++; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -24376,13 +23959,14 @@ static const per_sequence_t HSDSCH_MACdFlows_Information_sequence[] = { static int dissect_nbap_HSDSCH_MACdFlows_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2012 "./asn1/nbap/nbap.cnf" +#line 2006 "./asn1/nbap/nbap.cnf" int protocol_ie_id; guint32 i; - private_data_set_num_items(actx->pinfo,0); - protocol_ie_id = private_data_get_protocol_ie_id(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_private_data->num_items = 0; + protocol_ie_id = nbap_private_data->protocol_ie_id; nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; - nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); + nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info; /*Handle special cases, when the tree is weird, ie. no useful message appears in the tree, like HSDHSCH-Information-FDD */ @@ -24421,16 +24005,17 @@ dissect_nbap_HSDSCH_MACdFlows_Information(tvbuff_t *tvb _U_, int offset _U_, asn static int dissect_nbap_T_hSDSCH_Physical_Layer_Category(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2003 "./asn1/nbap/nbap.cnf" +#line 1996 "./asn1/nbap/nbap.cnf" guint32 hsdsch_physical_layer_category; nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; - nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 1U, 64U, &hsdsch_physical_layer_category, TRUE); - nbap_hsdsch_channel_info[private_data_get_hsdsch_macdflow_id(actx->pinfo)].hsdsch_physical_layer_category = hsdsch_physical_layer_category; + nbap_hsdsch_channel_info[nbap_private_data->hsdsch_macdflow_id].hsdsch_physical_layer_category = hsdsch_physical_layer_category; @@ -24491,7 +24076,7 @@ static const per_sequence_t HSDSCH_FDD_Information_sequence[] = { static int dissect_nbap_HSDSCH_FDD_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2124 "./asn1/nbap/nbap.cnf" +#line 2097 "./asn1/nbap/nbap.cnf" /* * Collect the information about the HSDSCH MACdFlows set up conversation(s) and set the conversation data. */ @@ -24501,7 +24086,7 @@ dissect_nbap_HSDSCH_FDD_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ fp_hsdsch_channel_info_t* fp_hsdsch_channel_info = NULL; guint32 i; nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; - nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); + nbap_hsdsch_channel_info = nbap_get_private_data(actx->pinfo)->nbap_hsdsch_channel_info; if (!actx->pinfo->fd->flags.visited){ /* Set port to zero use that as an indication of whether we have data or not */ @@ -24562,7 +24147,7 @@ dissect_nbap_HSDSCH_FDD_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ fp_hsdsch_channel_info->hsdsch_macdflow_id = i ; /*hsdsch_macdflow_ids[i];*/ /* hsdsch_macdflow_id;*/ /*Added july 2012*/ - umts_fp_conversation_info->com_context_id = private_data_get_com_context_id(actx->pinfo); + umts_fp_conversation_info->com_context_id = nbap_get_private_data(actx->pinfo)->com_context_id; /* Cheat and use the DCH entries */ umts_fp_conversation_info->num_dch_in_flow++; @@ -24636,22 +24221,23 @@ static const per_sequence_t HSDSCH_MACdFlow_Specific_InfoItem_to_Modify_sequence static int dissect_nbap_HSDSCH_MACdFlow_Specific_InfoItem_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2221 "./asn1/nbap/nbap.cnf" +#line 2194 "./asn1/nbap/nbap.cnf" address dst_addr; guint32 transportLayerAddress_ipv4; guint16 bindingID; - private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); - private_data_set_binding_id_port(actx->pinfo, 0); - private_data_increment_num_items(actx->pinfo); + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); + nbap_private_data->transportLayerAddress_ipv4 = 0; + nbap_private_data->binding_id_port = 0; + nbap_private_data->num_items++; nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; - nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); + nbap_hsdsch_channel_info = nbap_private_data->nbap_hsdsch_channel_info; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_HSDSCH_MACdFlow_Specific_InfoItem_to_Modify, HSDSCH_MACdFlow_Specific_InfoItem_to_Modify_sequence); - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -24659,8 +24245,8 @@ dissect_nbap_HSDSCH_MACdFlow_Specific_InfoItem_to_Modify(tvbuff_t *tvb _U_, int set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); /* Set address for collection of HSDSCH entries */ - copy_address_wmem(actx->pinfo->pool,&(nbap_hsdsch_channel_info[private_data_get_hsdsch_macdflow_id(actx->pinfo)].crnc_address),&dst_addr); - nbap_hsdsch_channel_info[private_data_get_hsdsch_macdflow_id(actx->pinfo)].crnc_port = bindingID; + copy_address_wmem(actx->pinfo->pool,&(nbap_hsdsch_channel_info[nbap_private_data->hsdsch_macdflow_id].crnc_address),&dst_addr); + nbap_hsdsch_channel_info[nbap_private_data->hsdsch_macdflow_id].crnc_port = bindingID; @@ -24699,8 +24285,8 @@ static const per_sequence_t PriorityQueue_InfoItem_to_Add_sequence[] = { static int dissect_nbap_PriorityQueue_InfoItem_to_Add(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2056 "./asn1/nbap/nbap.cnf" - private_data_set_num_items(actx->pinfo,1); +#line 2051 "./asn1/nbap/nbap.cnf" + nbap_get_private_data(actx->pinfo)->num_items = 1; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -24834,7 +24420,7 @@ static const per_sequence_t HSDSCH_Information_to_Modify_sequence[] = { static int dissect_nbap_HSDSCH_Information_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2246 "./asn1/nbap/nbap.cnf" +#line 2220 "./asn1/nbap/nbap.cnf" /* * This is pretty much the same like if we setup a previous flow */ @@ -24848,7 +24434,7 @@ dissect_nbap_HSDSCH_Information_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn fp_hsdsch_channel_info_t* fp_hsdsch_channel_info = NULL; guint32 i; nbap_hsdsch_channel_info_t* nbap_hsdsch_channel_info; - nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(actx->pinfo); + nbap_hsdsch_channel_info = nbap_get_private_data(actx->pinfo)->nbap_hsdsch_channel_info; if (!actx->pinfo->fd->flags.visited){ /* Set port to zero use that as an indication of whether we have data or not */ @@ -24913,7 +24499,7 @@ dissect_nbap_HSDSCH_Information_to_Modify(tvbuff_t *tvb _U_, int offset _U_, asn fp_hsdsch_channel_info->hsdsch_macdflow_id = i ; /*hsdsch_macdflow_ids[i];*/ /* hsdsch_macdflow_id;*/ /*Added july 2012*/ - umts_fp_conversation_info->com_context_id = private_data_get_com_context_id(actx->pinfo); + umts_fp_conversation_info->com_context_id = nbap_get_private_data(actx->pinfo)->com_context_id; /* Cheat and use the DCH entries */ umts_fp_conversation_info->num_dch_in_flow++; @@ -24964,33 +24550,9 @@ static const value_string nbap_HSDSCH_MACdPDUSizeFormat_vals[] = { static int dissect_nbap_HSDSCH_MACdPDUSizeFormat(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2101 "./asn1/nbap/nbap.cnf" -/* - * Removed 10 Aug. 2012, I'm not sure if this was right, it wrongfully - * set some packets as type 2 for HSDHCH modified items. - **/ - - - /* - * Set the channel entity i.e the type of the hsdsch channels (if this is present entity = ehs) - */ - -/*int i;*/ - offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, NULL, FALSE, 0, NULL); - /*for (i = 0; i < maxNrOfMACdFlows; i++) { - if (nbap_hsdsch_channel_info[i].crnc_port != 0){ - nbap_hsdsch_channel_info[i].entity = ehs; - } - - }*/ - - - - - return offset; } @@ -25075,8 +24637,8 @@ static const per_sequence_t HSDSCH_MACdFlow_Specific_InformationResp_Item_sequen static int dissect_nbap_HSDSCH_MACdFlow_Specific_InformationResp_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2059 "./asn1/nbap/nbap.cnf" - private_data_increment_num_items(actx->pinfo); +#line 2054 "./asn1/nbap/nbap.cnf" + nbap_get_private_data(actx->pinfo)->num_items++; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -25491,7 +25053,7 @@ static const per_sequence_t HSDSCH_Paging_System_InformationFDD_sequence[] = { static int dissect_nbap_HSDSCH_Paging_System_InformationFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2475 "./asn1/nbap/nbap.cnf" +#line 2446 "./asn1/nbap/nbap.cnf" /* g_warning("HS-DSCH Type 3 NOT Implemented!"); */ @@ -25685,8 +25247,8 @@ static const per_sequence_t HSDSCH_MACdFlows_to_Delete_Item_sequence[] = { static int dissect_nbap_HSDSCH_MACdFlows_to_Delete_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2050 "./asn1/nbap/nbap.cnf" - private_data_increment_num_items(actx->pinfo); +#line 2045 "./asn1/nbap/nbap.cnf" + nbap_get_private_data(actx->pinfo)->num_items++; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -25702,8 +25264,8 @@ static const per_sequence_t HSDSCH_MACdFlows_to_Delete_sequence_of[1] = { static int dissect_nbap_HSDSCH_MACdFlows_to_Delete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2045 "./asn1/nbap/nbap.cnf" - private_data_set_num_items(actx->pinfo,0); +#line 2040 "./asn1/nbap/nbap.cnf" + nbap_get_private_data(actx->pinfo)->num_items = 0; offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, @@ -27079,7 +26641,7 @@ dissect_nbap_IB_OC_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p static int dissect_nbap_IB_SG_DATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 618 "./asn1/nbap/nbap.cnf" +#line 602 "./asn1/nbap/nbap.cnf" tvbuff_t *parameter_tvb=NULL; tvbuff_t *final_tvb=NULL; proto_item *ti; @@ -27100,6 +26662,7 @@ dissect_nbap_IB_SG_DATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, guint32 byte_off = 0; guint32 bit_off = 0x80; guint32 sources_count; + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb, NULL); @@ -27107,7 +26670,7 @@ dissect_nbap_IB_SG_DATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, if(!parameter_tvb) return offset; - segment_type = private_data_get_segment_type(actx->pinfo); + segment_type = nbap_private_data->segment_type; switch(segment_type) { case 5: /*complete-SIB */ final_tvb = tvb_new_subset_length(parameter_tvb,0,tvb_captured_length (parameter_tvb)-1); @@ -27122,11 +26685,11 @@ dissect_nbap_IB_SG_DATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, if (nbap_ib_segment == NULL ) { /* failed to parse */ return offset; } - list = private_data_get_ib_segments(actx->pinfo); + list = nbap_private_data->ib_segments; if (!list) { if ( segment_type == 0 || segment_type == 1 ) { /* first or first-short */ list = wmem_list_new(wmem_packet_scope()); - private_data_set_ib_segments(actx->pinfo,list); + nbap_private_data->ib_segments = list; } else { return offset; @@ -27184,7 +26747,7 @@ dissect_nbap_IB_SG_DATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, add_new_data_source(actx->pinfo, final_tvb, "Reassembled Information Block"); /* Reset segments list */ - private_data_set_ib_segments(actx->pinfo,NULL); + nbap_private_data->ib_segments = NULL; /* Add 'reassembled' item to tree */ ti = proto_tree_add_item(tree, hf_nbap_reassembled_information_block, final_tvb, 0, total_byte_size, ENC_NA); @@ -27194,7 +26757,7 @@ dissect_nbap_IB_SG_DATA(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } subtree = proto_item_add_subtree(ti, ett_nbap_ib_sg_data); - switch(private_data_get_ib_type(actx->pinfo)){ + switch(nbap_private_data->ib_type){ case 0: /* mIB */ dissect_rrc_MasterInformationBlock_PDU(final_tvb, actx->pinfo, subtree, NULL); @@ -27388,14 +26951,8 @@ static const value_string nbap_IB_Type_vals[] = { static int dissect_nbap_IB_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 601 "./asn1/nbap/nbap.cnf" - guint32 ib_type; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 26, &ib_type, TRUE, 15, NULL); - - private_data_set_ib_type(actx->pinfo, ib_type); - - + 26, &nbap_get_private_data(actx->pinfo)->ib_type, TRUE, 15, NULL); return offset; } @@ -28981,17 +28538,18 @@ dissect_nbap_NI_Information(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int dissect_nbap_NodeB_CommunicationContextID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2491 "./asn1/nbap/nbap.cnf" +#line 2462 "./asn1/nbap/nbap.cnf" gboolean crnc_context_present; guint node_b_com_context_id; nbap_com_context_id_t *cur_val; + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 1048575U, &node_b_com_context_id, FALSE); /* Checking if CRNC context is present in this frame */ - crnc_context_present = private_data_get_crnc_context_present(actx->pinfo); + crnc_context_present = nbap_private_data->crnc_context_present; if(crnc_context_present) { /* This message contains both context fields. Updaaing the contexts map if needed. */ if (actx->pinfo->fd->flags.visited){ @@ -29002,7 +28560,7 @@ dissect_nbap_NodeB_CommunicationContextID(tvbuff_t *tvb _U_, int offset _U_, asn if(wmem_tree_lookup32(com_context_map, node_b_com_context_id) == NULL) { /* Creating new mapping and adding to map */ cur_val = wmem_new(wmem_file_scope(), nbap_com_context_id_t); - cur_val->crnc_context = private_data_get_com_context_id(actx->pinfo); + cur_val->crnc_context = nbap_private_data->com_context_id; cur_val->frame_num = actx->pinfo->num; wmem_tree_insert32(com_context_map, node_b_com_context_id, cur_val); } @@ -29012,8 +28570,8 @@ dissect_nbap_NodeB_CommunicationContextID(tvbuff_t *tvb _U_, int offset _U_, asn cur_val = (nbap_com_context_id_t *)wmem_tree_lookup32(com_context_map,node_b_com_context_id); if(cur_val != NULL){ /* A mapping was found. Adding to prvivate data. */ - private_data_set_com_context_id(actx->pinfo,cur_val->crnc_context); - private_data_set_crnc_context_present(actx->pinfo, TRUE); + nbap_private_data->com_context_id = cur_val->crnc_context; + nbap_private_data->crnc_context_present = TRUE; } } @@ -29558,12 +29116,10 @@ dissect_nbap_RACH_SubChannelNumbers(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ static int dissect_nbap_T_dCH_id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1446 "./asn1/nbap/nbap.cnf" - offset = dissect_nbap_DCH_ID(tvb, offset, actx, tree, hf_index); - private_data_set_dch_id(actx->pinfo, private_data_get_t_dch_id(actx->pinfo)); - +#line 1433 "./asn1/nbap/nbap.cnf" + nbap_get_private_data(actx->pinfo)->dch_id = nbap_get_private_data(actx->pinfo)->t_dch_id; return offset; @@ -29580,7 +29136,7 @@ static const per_sequence_t RL_Specific_DCH_Info_Item_sequence[] = { static int dissect_nbap_RL_Specific_DCH_Info_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1451 "./asn1/nbap/nbap.cnf" +#line 1436 "./asn1/nbap/nbap.cnf" address dst_addr, null_addr; conversation_t *conversation = NULL; umts_fp_conversation_info_t *umts_fp_conversation_info; @@ -29589,19 +29145,20 @@ guint32 transportLayerAddress_ipv4; guint16 bindingID; guint32 dch_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; -nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; -private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); -private_data_set_binding_id_port(actx->pinfo, 0); -private_data_set_dch_id(actx->pinfo, 0xFFFFFFFF); +nbap_private_data->transportLayerAddress_ipv4 = 0; +nbap_private_data->binding_id_port = 0; +nbap_private_data->dch_id = 0xFFFFFFFF; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_RL_Specific_DCH_Info_Item, RL_Specific_DCH_Info_Item_sequence); - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -29616,13 +29173,13 @@ private_data_set_dch_id(actx->pinfo, 0xFFFFFFFF); set_address(&dst_addr, AT_IPv4, 4, &transportLayerAddress_ipv4); conversation = find_conversation(actx->pinfo->num, &dst_addr, - &null_addr, ENDPOINT_UDP, private_data_get_binding_id_port(actx->pinfo), + &null_addr, ENDPOINT_UDP, nbap_private_data->binding_id_port, 0, NO_ADDR_B|NO_PORT_B); if (conversation == NULL) { /* It's not part of any conversation - create a new one. */ conversation = conversation_new(actx->pinfo->num, &dst_addr, - &null_addr, ENDPOINT_UDP, private_data_get_binding_id_port(actx->pinfo), + &null_addr, ENDPOINT_UDP, nbap_private_data->binding_id_port, 0, NO_ADDR2|NO_PORT2); /* Set dissector */ @@ -29638,18 +29195,18 @@ private_data_set_dch_id(actx->pinfo, 0xFFFFFFFF); umts_fp_conversation_info->ul_frame_number = actx->pinfo->num; copy_address_wmem(wmem_file_scope(), &(umts_fp_conversation_info->crnc_address), &dst_addr); umts_fp_conversation_info->crnc_port = bindingID; - umts_fp_conversation_info->scrambling_code = private_data_get_ul_scrambling_code(actx->pinfo); + umts_fp_conversation_info->scrambling_code = nbap_private_data->ul_scrambling_code; umts_fp_conversation_info->rlc_mode = FP_RLC_MODE_UNKNOWN; /* DCH's in this flow */ - umts_fp_conversation_info->dch_crc_present = private_data_get_dch_crc_present(actx->pinfo); + umts_fp_conversation_info->dch_crc_present = nbap_private_data->dch_crc_present; /*Save unique UE-identifier */ - umts_fp_conversation_info->com_context_id = private_data_get_com_context_id(actx->pinfo); + umts_fp_conversation_info->com_context_id = nbap_private_data->com_context_id; /*UPLINK*/ /* Set data for First or single channel */ - dch_id = private_data_get_dch_id(actx->pinfo); + dch_id = nbap_private_data->dch_id; if (dch_id != 0xffffffff) { umts_fp_conversation_info->fp_dch_channel_info[0].num_ul_chans = num_tf = nbap_dch_chnl_info[dch_id].num_ul_chans; for (j = 0; j < num_tf; j++) { @@ -29732,7 +29289,7 @@ static const per_sequence_t RL_Specific_E_DCH_Information_Item_sequence[] = { static int dissect_nbap_RL_Specific_E_DCH_Information_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1573 "./asn1/nbap/nbap.cnf" +#line 1559 "./asn1/nbap/nbap.cnf" address dst_addr, null_addr; conversation_t *conversation; umts_fp_conversation_info_t *umts_fp_conversation_info = NULL; @@ -29742,18 +29299,19 @@ guint32 transportLayerAddress_ipv4; guint16 bindingID; guint32 e_dch_macdflow_id; nbap_edch_channel_info_t* nbap_edch_channel_info; -nbap_edch_channel_info = private_data_get_nbap_edch_channel_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_edch_channel_info = nbap_private_data->nbap_edch_channel_info; -private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); -private_data_set_binding_id_port(actx->pinfo, 0); +nbap_private_data->transportLayerAddress_ipv4 = 0; +nbap_private_data->binding_id_port = 0; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_RL_Specific_E_DCH_Information_Item, RL_Specific_E_DCH_Information_Item_sequence); - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -29799,16 +29357,16 @@ private_data_set_binding_id_port(actx->pinfo, 0); fp_edch_channel_info = wmem_new0(wmem_file_scope(), fp_edch_channel_info_t); umts_fp_conversation_info->channel_specific_info = (void*)fp_edch_channel_info; - if(private_data_get_crnc_context_present(actx->pinfo)){ - umts_fp_conversation_info->com_context_id = private_data_get_com_context_id(actx->pinfo); + if(nbap_private_data->crnc_context_present){ + umts_fp_conversation_info->com_context_id = nbap_private_data->com_context_id; }else{ expert_add_info(actx->pinfo, NULL, &ei_nbap_no_set_comm_context_id); } /* Check if we allready have this context */ - e_dch_macdflow_id = private_data_get_e_dch_macdflow_id(actx->pinfo); - if( (old_info = (nbap_edch_port_info_t *)wmem_tree_lookup32(edch_flow_port_map,private_data_get_com_context_id(actx->pinfo))) == NULL ){ + e_dch_macdflow_id = nbap_private_data->e_dch_macdflow_id; + if( (old_info = (nbap_edch_port_info_t *)wmem_tree_lookup32(edch_flow_port_map,nbap_private_data->com_context_id)) == NULL ){ nbap_edch_port_info_t * nbap_edch_port_info; nbap_edch_port_info = wmem_new0(wmem_file_scope(), nbap_edch_port_info_t); @@ -29816,7 +29374,7 @@ private_data_set_binding_id_port(actx->pinfo, 0); /*Saving port/flow map based on context id for future reconfigurations*/ nbap_edch_port_info->crnc_port[e_dch_macdflow_id] = bindingID; /*Ip address might be useful as well*/ - nbap_edch_port_info->crnc_address = private_data_get_transportLayerAddress_ipv4(actx->pinfo); + nbap_edch_port_info->crnc_address = nbap_private_data->transportLayerAddress_ipv4; nbap_debug("Frame %u RL-Specific-E-DCH-Information-Item Start", actx->pinfo->num); @@ -30777,14 +30335,8 @@ static const value_string nbap_Segment_Type_vals[] = { static int dissect_nbap_Segment_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 606 "./asn1/nbap/nbap.cnf" - guint32 segment_type; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 7, &segment_type, TRUE, 0, NULL); - - private_data_set_segment_type(actx->pinfo, segment_type); - - + 7, &nbap_get_private_data(actx->pinfo)->segment_type, TRUE, 0, NULL); return offset; } @@ -33112,7 +32664,7 @@ static const per_sequence_t CommonTransportChannelSetupRequestFDD_sequence[] = { static int dissect_nbap_CommonTransportChannelSetupRequestFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 162 "./asn1/nbap/nbap.cnf" +#line 154 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonTransportChannelSetupRequest(FDD) "); /* CRNC -> Node B */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -33302,7 +32854,7 @@ static const per_sequence_t FACH_ParametersItem_CTCH_SetupRqstFDD_sequence[] = { static int dissect_nbap_FACH_ParametersItem_CTCH_SetupRqstFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1196 "./asn1/nbap/nbap.cnf" +#line 1182 "./asn1/nbap/nbap.cnf" address dst_addr, null_addr; conversation_t *conversation; @@ -33313,20 +32865,21 @@ guint32 transportLayerAddress_ipv4; guint16 bindingID; guint32 common_physical_channel_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; -nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; -private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); -private_data_set_binding_id_port(actx->pinfo, 0); +nbap_private_data->transportLayerAddress_ipv4 = 0; +nbap_private_data->binding_id_port = 0; -private_data_set_transport_format_set_type(actx->pinfo, NBAP_CPCH); +nbap_private_data->transport_format_set_type = NBAP_CPCH; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_FACH_ParametersItem_CTCH_SetupRqstFDD, FACH_ParametersItem_CTCH_SetupRqstFDD_sequence); - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -33351,7 +32904,7 @@ private_data_set_transport_format_set_type(actx->pinfo, NBAP_CPCH); umts_fp_conversation_info->crnc_port = bindingID; umts_fp_conversation_info->rlc_mode = FP_RLC_MODE_UNKNOWN; /*Save unique UE-identifier */ - umts_fp_conversation_info->com_context_id = private_data_get_crnc_context_present(actx->pinfo) ? private_data_get_com_context_id(actx->pinfo) : 1; + umts_fp_conversation_info->com_context_id = nbap_private_data->crnc_context_present ? nbap_private_data->com_context_id : 1; /* Adding the 'channel specific info' for FACH */ fp_fach_channel_info = wmem_new0(wmem_file_scope(), fp_fach_channel_info_t); @@ -33359,9 +32912,9 @@ private_data_set_transport_format_set_type(actx->pinfo, NBAP_CPCH); umts_fp_conversation_info->channel_specific_info = (void*)fp_fach_channel_info; /* DCH's in this flow */ - umts_fp_conversation_info->dch_crc_present = private_data_get_dch_crc_present(actx->pinfo); + umts_fp_conversation_info->dch_crc_present = nbap_private_data->dch_crc_present; /* Set data for First or single channel */ - common_physical_channel_id = private_data_get_common_physical_channel_id(actx->pinfo); + common_physical_channel_id = nbap_private_data->common_physical_channel_id; umts_fp_conversation_info->fp_dch_channel_info[0].num_ul_chans = num_tf = nbap_dch_chnl_info[common_physical_channel_id].num_ul_chans; for (j = 0; j < num_tf; j++) { umts_fp_conversation_info->fp_dch_channel_info[0].ul_chan_tf_size[j] = nbap_dch_chnl_info[common_physical_channel_id].ul_chan_tf_size[j]; @@ -33401,7 +32954,7 @@ private_data_set_transport_format_set_type(actx->pinfo, NBAP_CPCH); set_umts_fp_conv_data(conversation, umts_fp_conversation_info); /* Add Setup Conversation to list, we need it in response msg */ - add_setup_conv(private_data_get_transaction_id(actx->pinfo),private_data_get_dd_mode(actx->pinfo),private_data_get_common_transport_channel_id(actx->pinfo), actx->pinfo->num, &dst_addr, bindingID, umts_fp_conversation_info, conversation); + add_setup_conv(nbap_private_data->transaction_id,nbap_private_data->dd_mode,nbap_private_data->common_transport_channel_id, actx->pinfo->num, &dst_addr, bindingID, umts_fp_conversation_info, conversation); } @@ -33427,12 +32980,13 @@ dissect_nbap_FACH_ParametersListIE_CTCH_SetupRqstFDD(tvbuff_t *tvb _U_, int offs static int dissect_nbap_T_transportFormatSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1342 "./asn1/nbap/nbap.cnf" +#line 1333 "./asn1/nbap/nbap.cnf" + nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); nbap_dch_channel_info_t* nbap_dch_chnl_info; - nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); - private_data_set_transport_format_set_type(actx->pinfo, NBAP_PCH); - nbap_dch_chnl_info[private_data_get_common_transport_channel_id(actx->pinfo)].num_dl_chans = 0; - nbap_dch_chnl_info[private_data_get_common_transport_channel_id(actx->pinfo)].num_ul_chans = 0; + nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; + nbap_private_data->transport_format_set_type = NBAP_PCH; + nbap_dch_chnl_info[nbap_private_data->common_transport_channel_id].num_dl_chans = 0; + nbap_dch_chnl_info[nbap_private_data->common_transport_channel_id].num_ul_chans = 0; @@ -33474,7 +33028,7 @@ static const per_sequence_t PCH_ParametersItem_CTCH_SetupRqstFDD_sequence[] = { static int dissect_nbap_PCH_ParametersItem_CTCH_SetupRqstFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1085 "./asn1/nbap/nbap.cnf" +#line 1070 "./asn1/nbap/nbap.cnf" address dst_addr, null_addr; conversation_t *conversation; @@ -33486,20 +33040,21 @@ guint32 transportLayerAddress_ipv4; guint16 bindingID; guint32 common_transport_channel_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; -nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; -private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); -private_data_set_binding_id_port(actx->pinfo, 0); +nbap_private_data->transportLayerAddress_ipv4 = 0; +nbap_private_data->binding_id_port = 0; /* There can only be one item, set num_items here to collect the TransportFormatSet data */ -private_data_set_num_items(actx->pinfo, 1); +nbap_private_data->num_items = 1; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_PCH_ParametersItem_CTCH_SetupRqstFDD, PCH_ParametersItem_CTCH_SetupRqstFDD_sequence); - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -33525,13 +33080,13 @@ private_data_set_num_items(actx->pinfo, 1); umts_fp_conversation_info->rlc_mode = FP_RLC_MODE_UNKNOWN; fp_pch_channel_info = wmem_new0(wmem_file_scope(), fp_pch_channel_info_t); - fp_pch_channel_info->paging_indications = private_data_get_paging_indications(actx->pinfo); + fp_pch_channel_info->paging_indications = nbap_private_data->paging_indications; umts_fp_conversation_info->channel_specific_info = (void*)fp_pch_channel_info; /* DCH's in this flow */ - umts_fp_conversation_info->dch_crc_present = private_data_get_dch_crc_present(actx->pinfo); + umts_fp_conversation_info->dch_crc_present = nbap_private_data->dch_crc_present; /* Set data for First or single channel */ - common_transport_channel_id = private_data_get_common_transport_channel_id(actx->pinfo); + common_transport_channel_id = nbap_private_data->common_transport_channel_id; umts_fp_conversation_info->fp_dch_channel_info[0].num_ul_chans = num_tf = nbap_dch_chnl_info[common_transport_channel_id].num_ul_chans; nbap_debug("Frame %u PCH-ParametersItem-CTCH-SetupRqstFDD Start: num_tf %u", actx->pinfo->num, num_tf); @@ -33582,7 +33137,7 @@ private_data_set_num_items(actx->pinfo, 1); set_umts_fp_conv_data(conversation, umts_fp_conversation_info); /* Add Setup Conversation to list, we need it in response msg */ - add_setup_conv(private_data_get_transaction_id(actx->pinfo), private_data_get_dd_mode(actx->pinfo), common_transport_channel_id, actx->pinfo->num, &dst_addr, bindingID, umts_fp_conversation_info, conversation); + add_setup_conv(nbap_private_data->transaction_id, nbap_private_data->dd_mode, common_transport_channel_id, actx->pinfo->num, &dst_addr, bindingID, umts_fp_conversation_info, conversation); nbap_debug("Frame %u PCH-ParametersItem-CTCH-SetupRqstFDD End", actx->pinfo->num); } @@ -33621,7 +33176,7 @@ static const per_sequence_t RACH_ParametersItem_CTCH_SetupRqstFDD_sequence[] = { static int dissect_nbap_RACH_ParametersItem_CTCH_SetupRqstFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 986 "./asn1/nbap/nbap.cnf" +#line 970 "./asn1/nbap/nbap.cnf" address dst_addr, null_addr; conversation_t *conversation; fp_rach_channel_info_t* fp_rach_channel_info; @@ -33631,19 +33186,20 @@ guint32 transportLayerAddress_ipv4; guint16 bindingID; guint32 common_physical_channel_id; nbap_dch_channel_info_t* nbap_dch_chnl_info; -nbap_dch_chnl_info = private_data_get_nbap_dch_chnl_info(actx->pinfo); +nbap_private_data_t* nbap_private_data = nbap_get_private_data(actx->pinfo); +nbap_dch_chnl_info = nbap_private_data->nbap_dch_chnl_info; -private_data_set_transportLayerAddress_ipv4(actx->pinfo, 0); -private_data_set_binding_id_port(actx->pinfo, 0); -private_data_set_transport_format_set_type(actx->pinfo, NBAP_CPCH); +nbap_private_data->transportLayerAddress_ipv4 = 0; +nbap_private_data->binding_id_port = 0; +nbap_private_data->transport_format_set_type = NBAP_CPCH; offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_RACH_ParametersItem_CTCH_SetupRqstFDD, RACH_ParametersItem_CTCH_SetupRqstFDD_sequence); - transportLayerAddress_ipv4 = private_data_get_transportLayerAddress_ipv4(actx->pinfo); - bindingID = private_data_get_binding_id_port(actx->pinfo); + transportLayerAddress_ipv4 = nbap_private_data->transportLayerAddress_ipv4; + bindingID = nbap_private_data->binding_id_port; if (actx->pinfo->fd->flags.visited || transportLayerAddress_ipv4 == 0 || bindingID == 0){ return offset; } @@ -33674,12 +33230,12 @@ private_data_set_transport_format_set_type(actx->pinfo, NBAP_CPCH); /*Save unique UE-identifier */ - umts_fp_conversation_info->com_context_id = private_data_get_crnc_context_present(actx->pinfo) ? private_data_get_com_context_id(actx->pinfo) : 1; + umts_fp_conversation_info->com_context_id = nbap_private_data->crnc_context_present ? nbap_private_data->com_context_id : 1; /* DCH's in this flow */ - umts_fp_conversation_info->dch_crc_present = private_data_get_dch_crc_present(actx->pinfo); + umts_fp_conversation_info->dch_crc_present = nbap_private_data->dch_crc_present; /* Set data for First or single channel */ - common_physical_channel_id = private_data_get_common_physical_channel_id(actx->pinfo); + common_physical_channel_id = nbap_private_data->common_physical_channel_id; umts_fp_conversation_info->fp_dch_channel_info[0].num_ul_chans = num_tf = nbap_dch_chnl_info[common_physical_channel_id].num_ul_chans; for (j = 0; j < num_tf; j++) { umts_fp_conversation_info->fp_dch_channel_info[0].ul_chan_tf_size[j] = nbap_dch_chnl_info[common_physical_channel_id].ul_chan_tf_size[j]; @@ -33698,7 +33254,7 @@ private_data_set_transport_format_set_type(actx->pinfo, NBAP_CPCH); set_umts_fp_conv_data(conversation, umts_fp_conversation_info); /* Add Setup Conversation to list, we need it in response msg */ - add_setup_conv(private_data_get_transaction_id(actx->pinfo),private_data_get_dd_mode(actx->pinfo),private_data_get_common_transport_channel_id(actx->pinfo), actx->pinfo->num, &dst_addr, bindingID, umts_fp_conversation_info, conversation); + add_setup_conv(nbap_private_data->transaction_id,nbap_private_data->dd_mode,nbap_private_data->common_transport_channel_id, actx->pinfo->num, &dst_addr, bindingID, umts_fp_conversation_info, conversation); } @@ -34410,7 +33966,7 @@ static const per_sequence_t CommonTransportChannelSetupResponse_sequence[] = { static int dissect_nbap_CommonTransportChannelSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 168 "./asn1/nbap/nbap.cnf" +#line 160 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonTransportChannelSetupResponse "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -34445,7 +34001,7 @@ static const per_sequence_t CommonTransportChannelSetupFailure_sequence[] = { static int dissect_nbap_CommonTransportChannelSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 174 "./asn1/nbap/nbap.cnf" +#line 166 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonTransportChannelSetupFailure "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -35164,7 +34720,7 @@ static const per_sequence_t UnblockResourceIndication_sequence[] = { static int dissect_nbap_UnblockResourceIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 559 "./asn1/nbap/nbap.cnf" +#line 552 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"UnblockResourceIndication "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -35185,7 +34741,7 @@ static const per_sequence_t AuditRequiredIndication_sequence[] = { static int dissect_nbap_AuditRequiredIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 463 "./asn1/nbap/nbap.cnf" +#line 456 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"AuditRequiredIndication "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -35206,7 +34762,7 @@ static const per_sequence_t AuditRequest_sequence[] = { static int dissect_nbap_AuditRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 233 "./asn1/nbap/nbap.cnf" +#line 226 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"AuditRequest "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -35227,7 +34783,7 @@ static const per_sequence_t AuditResponse_sequence[] = { static int dissect_nbap_AuditResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 239 "./asn1/nbap/nbap.cnf" +#line 232 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"AuditResponse "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -35821,7 +35377,7 @@ static const per_sequence_t AuditFailure_sequence[] = { static int dissect_nbap_AuditFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 245 "./asn1/nbap/nbap.cnf" +#line 238 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"AuditFailure "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -35843,7 +35399,7 @@ static const per_sequence_t CommonMeasurementInitiationRequest_sequence[] = { static int dissect_nbap_CommonMeasurementInitiationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 301 "./asn1/nbap/nbap.cnf" +#line 294 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementInitiationRequest "); /* CRNC -> Node B */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -35961,7 +35517,7 @@ static const per_sequence_t CommonMeasurementInitiationResponse_sequence[] = { static int dissect_nbap_CommonMeasurementInitiationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 307 "./asn1/nbap/nbap.cnf" +#line 300 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementInitiationResponse "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -36077,7 +35633,7 @@ static const per_sequence_t CommonMeasurementInitiationFailure_sequence[] = { static int dissect_nbap_CommonMeasurementInitiationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 313 "./asn1/nbap/nbap.cnf" +#line 306 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementInitiationFailure "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -36098,7 +35654,7 @@ static const per_sequence_t CommonMeasurementReport_sequence[] = { static int dissect_nbap_CommonMeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 469 "./asn1/nbap/nbap.cnf" +#line 462 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementReport "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -36214,7 +35770,7 @@ static const per_sequence_t CommonMeasurementTerminationRequest_sequence[] = { static int dissect_nbap_CommonMeasurementTerminationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 475 "./asn1/nbap/nbap.cnf" +#line 468 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementTerminationRequest "); /* CRNC -> Node B */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -36235,7 +35791,7 @@ static const per_sequence_t CommonMeasurementFailureIndication_sequence[] = { static int dissect_nbap_CommonMeasurementFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 481 "./asn1/nbap/nbap.cnf" +#line 474 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"CommonMeasurementFailureIndication "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -36256,7 +35812,7 @@ static const per_sequence_t CellSetupRequestFDD_sequence[] = { static int dissect_nbap_CellSetupRequestFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 134 "./asn1/nbap/nbap.cnf" +#line 126 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"CellSetupRequest(FDD) "); /* CRNC -> Node B */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -36788,7 +36344,7 @@ static const per_sequence_t CellSetupResponse_sequence[] = { static int dissect_nbap_CellSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 140 "./asn1/nbap/nbap.cnf" +#line 132 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"CellSetupResponse "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -36809,7 +36365,7 @@ static const per_sequence_t CellSetupFailure_sequence[] = { static int dissect_nbap_CellSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 146 "./asn1/nbap/nbap.cnf" +#line 138 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"CellSetupFailure "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -37352,7 +36908,7 @@ static const per_sequence_t ResourceStatusIndication_sequence[] = { static int dissect_nbap_ResourceStatusIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 457 "./asn1/nbap/nbap.cnf" +#line 450 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"ResourceStatusIndication "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -38110,7 +37666,7 @@ static const per_sequence_t SystemInformationUpdateRequest_sequence[] = { static int dissect_nbap_SystemInformationUpdateRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 280 "./asn1/nbap/nbap.cnf" +#line 273 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"SystemInformationUpdateRequest "); /* CRNC -> Node B */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -38181,17 +37737,14 @@ static const per_sequence_t MIB_SB_SIB_InformationItem_SystemInfoUpdateRqst_sequ static int dissect_nbap_MIB_SB_SIB_InformationItem_SystemInfoUpdateRqst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 611 "./asn1/nbap/nbap.cnf" +#line 598 "./asn1/nbap/nbap.cnf" + nbap_get_private_data(actx->pinfo)->ib_type = 10; /* not-Used-sIB8 */ + nbap_get_private_data(actx->pinfo)->segment_type = 0; - private_data_set_ib_type(actx->pinfo, 10); /* not-Used-sIB8 */ - private_data_set_segment_type(actx->pinfo, 0); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_MIB_SB_SIB_InformationItem_SystemInfoUpdateRqst, MIB_SB_SIB_InformationItem_SystemInfoUpdateRqst_sequence); - - - return offset; } @@ -38249,7 +37802,7 @@ static const per_sequence_t SystemInformationUpdateResponse_sequence[] = { static int dissect_nbap_SystemInformationUpdateResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 286 "./asn1/nbap/nbap.cnf" +#line 279 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"SystemInformationUpdateResponse "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -38270,7 +37823,7 @@ static const per_sequence_t SystemInformationUpdateFailure_sequence[] = { static int dissect_nbap_SystemInformationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 292 "./asn1/nbap/nbap.cnf" +#line 285 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"SystemInformationUpdateFailure "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -38292,7 +37845,7 @@ static const per_sequence_t RadioLinkSetupRequestFDD_sequence[] = { static int dissect_nbap_RadioLinkSetupRequestFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 255 "./asn1/nbap/nbap.cnf" +#line 248 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupRequest(FDD) "); /* CRNC -> Node B */ @@ -38769,7 +38322,7 @@ static const per_sequence_t RadioLinkSetupResponseFDD_sequence[] = { static int dissect_nbap_RadioLinkSetupResponseFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 262 "./asn1/nbap/nbap.cnf" +#line 255 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupResponse(FDD) "); /* Node B -> CRNC */ @@ -38989,7 +38542,7 @@ static const per_sequence_t RadioLinkSetupFailureFDD_sequence[] = { static int dissect_nbap_RadioLinkSetupFailureFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 269 "./asn1/nbap/nbap.cnf" +#line 262 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkSetupFailure(FDD) "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -39274,7 +38827,7 @@ static const per_sequence_t RadioLinkAdditionRequestFDD_sequence[] = { static int dissect_nbap_RadioLinkAdditionRequestFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 319 "./asn1/nbap/nbap.cnf" +#line 312 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkAdditionRequest(FDD) "); @@ -39646,7 +39199,7 @@ static const per_sequence_t RadioLinkAdditionResponseFDD_sequence[] = { static int dissect_nbap_RadioLinkAdditionResponseFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 324 "./asn1/nbap/nbap.cnf" +#line 317 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkAdditionResponse(FDD) "); @@ -39922,7 +39475,7 @@ static const per_sequence_t RadioLinkAdditionFailureFDD_sequence[] = { static int dissect_nbap_RadioLinkAdditionFailureFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 330 "./asn1/nbap/nbap.cnf" +#line 323 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkAdditionRequest(FDD) "); @@ -40207,7 +39760,7 @@ static const per_sequence_t RadioLinkReconfigurationPrepareFDD_sequence[] = { static int dissect_nbap_RadioLinkReconfigurationPrepareFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 357 "./asn1/nbap/nbap.cnf" +#line 350 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationPrepare(FDD) "); /* CRNC -> Node B */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -41825,7 +41378,7 @@ static const per_sequence_t RadioLinkReconfigurationReady_sequence[] = { static int dissect_nbap_RadioLinkReconfigurationReady(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 363 "./asn1/nbap/nbap.cnf" +#line 356 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationReady "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -41907,7 +41460,7 @@ static const per_sequence_t RadioLinkReconfigurationFailure_sequence[] = { static int dissect_nbap_RadioLinkReconfigurationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 370 "./asn1/nbap/nbap.cnf" +#line 363 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationFailure "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -42016,24 +41569,15 @@ static const per_sequence_t RadioLinkReconfigurationCommit_sequence[] = { static int dissect_nbap_RadioLinkReconfigurationCommit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 487 "./asn1/nbap/nbap.cnf" +#line 480 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationCommit "); /* CRNC -> Node B */ actx->pinfo->link_dir=P2P_DIR_DL; -#line 2558 "./asn1/nbap/nbap.cnf" -/* - * Here we need to signal the CFN value, down to FP so - * that lowert layers know when a reconfiguration becomes active - * */ - offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_RadioLinkReconfigurationCommit, RadioLinkReconfigurationCommit_sequence); - - - return offset; } @@ -42046,7 +41590,7 @@ static const per_sequence_t RadioLinkReconfigurationCancel_sequence[] = { static int dissect_nbap_RadioLinkReconfigurationCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 493 "./asn1/nbap/nbap.cnf" +#line 486 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationCancel "); /* CRNC -> Node B */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -42067,7 +41611,7 @@ static const per_sequence_t RadioLinkReconfigurationRequestFDD_sequence[] = { static int dissect_nbap_RadioLinkReconfigurationRequestFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 381 "./asn1/nbap/nbap.cnf" +#line 374 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationRequestFDD(FDD) "); /* CRNC -> Node B */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -42524,7 +42068,7 @@ static const per_sequence_t RadioLinkReconfigurationResponse_sequence[] = { static int dissect_nbap_RadioLinkReconfigurationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 387 "./asn1/nbap/nbap.cnf" +#line 380 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkReconfigurationResponse "); @@ -42585,7 +42129,7 @@ static const per_sequence_t RadioLinkDeletionRequest_sequence[] = { static int dissect_nbap_RadioLinkDeletionRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 343 "./asn1/nbap/nbap.cnf" +#line 336 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkDeletionRequest "); /* CRNC -> Node B */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -42636,7 +42180,7 @@ static const per_sequence_t RadioLinkDeletionResponse_sequence[] = { static int dissect_nbap_RadioLinkDeletionResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 350 "./asn1/nbap/nbap.cnf" +#line 343 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkDeletionResponse "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -42658,7 +42202,7 @@ static const per_sequence_t DL_PowerControlRequest_sequence[] = { static int dissect_nbap_DL_PowerControlRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 541 "./asn1/nbap/nbap.cnf" +#line 534 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"DL-PowerControlRequest "); /* CRNC -> Node B */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -42709,7 +42253,7 @@ static const per_sequence_t DL_PowerTimeslotControlRequest_sequence[] = { static int dissect_nbap_DL_PowerTimeslotControlRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 547 "./asn1/nbap/nbap.cnf" +#line 540 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"DL-PowerTimeslotControlRequest "); /* CRNC -> Node B */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -42730,7 +42274,7 @@ static const per_sequence_t DedicatedMeasurementInitiationRequest_sequence[] = { static int dissect_nbap_DedicatedMeasurementInitiationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 403 "./asn1/nbap/nbap.cnf" +#line 396 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationRequest "); /* CRNC -> Node B */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -42926,7 +42470,7 @@ static const per_sequence_t DedicatedMeasurementInitiationResponse_sequence[] = static int dissect_nbap_DedicatedMeasurementInitiationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 409 "./asn1/nbap/nbap.cnf" +#line 402 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationResponse "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -43231,7 +42775,7 @@ static const per_sequence_t DedicatedMeasurementInitiationFailure_sequence[] = { static int dissect_nbap_DedicatedMeasurementInitiationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 416 "./asn1/nbap/nbap.cnf" +#line 409 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementInitiationFailure "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -43253,7 +42797,7 @@ static const per_sequence_t DedicatedMeasurementReport_sequence[] = { static int dissect_nbap_DedicatedMeasurementReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 521 "./asn1/nbap/nbap.cnf" +#line 514 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementReport "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -43436,7 +42980,7 @@ static const per_sequence_t DedicatedMeasurementTerminationRequest_sequence[] = static int dissect_nbap_DedicatedMeasurementTerminationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 528 "./asn1/nbap/nbap.cnf" +#line 521 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementTerminationRequest "); /* CRNC -> Node B */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -43457,7 +43001,7 @@ static const per_sequence_t DedicatedMeasurementFailureIndication_sequence[] = { static int dissect_nbap_DedicatedMeasurementFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 534 "./asn1/nbap/nbap.cnf" +#line 527 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"DedicatedMeasurementFailureIndication "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -43479,7 +43023,7 @@ static const per_sequence_t RadioLinkFailureIndication_sequence[] = { static int dissect_nbap_RadioLinkFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 499 "./asn1/nbap/nbap.cnf" +#line 492 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkFailureIndication "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -43661,7 +43205,7 @@ static const per_sequence_t RadioLinkPreemptionRequiredIndication_sequence[] = { static int dissect_nbap_RadioLinkPreemptionRequiredIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 506 "./asn1/nbap/nbap.cnf" +#line 499 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkPreemptionRequiredIndication "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -43712,7 +43256,7 @@ static const per_sequence_t RadioLinkRestoreIndication_sequence[] = { static int dissect_nbap_RadioLinkRestoreIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 513 "./asn1/nbap/nbap.cnf" +#line 506 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkRestoreIndication "); /* CRNC -> Node B */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -43892,7 +43436,7 @@ static const per_sequence_t CompressedModeCommand_sequence[] = { static int dissect_nbap_CompressedModeCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 553 "./asn1/nbap/nbap.cnf" +#line 546 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"CompressedModeCommand "); /* CRNC -> Node B */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -43913,7 +43457,7 @@ static const per_sequence_t ErrorIndication_sequence[] = { static int dissect_nbap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 565 "./asn1/nbap/nbap.cnf" +#line 558 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"ErrorIndication "); @@ -43933,7 +43477,7 @@ static const per_sequence_t PrivateMessage_sequence[] = { static int dissect_nbap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 574 "./asn1/nbap/nbap.cnf" +#line 567 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"PrivateMessage "); @@ -43952,7 +43496,7 @@ static const per_sequence_t PhysicalSharedChannelReconfigurationRequestFDD_seque static int dissect_nbap_PhysicalSharedChannelReconfigurationRequestFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 423 "./asn1/nbap/nbap.cnf" +#line 416 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"PhysicalSharedChannelReconfigurationRequest(FDD) "); /* CRNC -> Node B */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -46420,7 +45964,7 @@ static const per_sequence_t PhysicalSharedChannelReconfigurationResponse_sequenc static int dissect_nbap_PhysicalSharedChannelReconfigurationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 429 "./asn1/nbap/nbap.cnf" +#line 422 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"PhysicalSharedChannelReconfigurationResponse "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -46471,7 +46015,7 @@ static const per_sequence_t PhysicalSharedChannelReconfigurationFailure_sequence static int dissect_nbap_PhysicalSharedChannelReconfigurationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 435 "./asn1/nbap/nbap.cnf" +#line 428 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"PhysicalSharedChannelReconfigurationFailure "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -47924,7 +47468,7 @@ static const per_sequence_t BearerRearrangementIndication_sequence[] = { static int dissect_nbap_BearerRearrangementIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 581 "./asn1/nbap/nbap.cnf" +#line 574 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"BearerRearrangementIndication "); @@ -48226,7 +47770,7 @@ static const per_sequence_t RadioLinkParameterUpdateIndicationFDD_sequence[] = { static int dissect_nbap_RadioLinkParameterUpdateIndicationFDD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 589 "./asn1/nbap/nbap.cnf" +#line 582 "./asn1/nbap/nbap.cnf" col_set_str(actx->pinfo->cinfo, COL_INFO,"RadioLinkParameterUpdateIndication(FDD) "); /* Node B -> CRNC */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -56121,19 +55665,19 @@ static int dissect_NULL_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tre /*--- End of included file: packet-nbap-fn.c ---*/ -#line 817 "./asn1/nbap/packet-nbap-template.c" +#line 425 "./asn1/nbap/packet-nbap-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { guint32 protocol_ie_id; - protocol_ie_id = private_data_get_protocol_ie_id(pinfo); + protocol_ie_id = nbap_get_private_data(pinfo)->protocol_ie_id; return (dissector_try_uint_new(nbap_ies_dissector_table, protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0; } static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) { guint32 protocol_ie_id; - protocol_ie_id = private_data_get_protocol_ie_id(pinfo); + protocol_ie_id = nbap_get_private_data(pinfo)->protocol_ie_id; return (dissector_try_uint_new(nbap_extension_dissector_table, protocol_ie_id, tvb, pinfo, tree, FALSE, NULL)) ? tvb_captured_length(tvb) : 0; } @@ -56166,7 +55710,7 @@ static void add_hsdsch_bind(packet_info *pinfo){ return; } - nbap_hsdsch_channel_info = private_data_get_nbap_hsdsch_channel_info(pinfo); + nbap_hsdsch_channel_info = nbap_get_private_data(pinfo)->nbap_hsdsch_channel_info; /* Set port to zero use that as an indication of whether we have data or not */ clear_address(&null_addr); for (i = 0; i < maxNrOfMACdFlows; i++) { @@ -69596,7 +69140,7 @@ void proto_register_nbap(void) NULL, HFILL }}, /*--- End of included file: packet-nbap-hfarr.c ---*/ -#line 1127 "./asn1/nbap/packet-nbap-template.c" +#line 735 "./asn1/nbap/packet-nbap-template.c" }; /* List of subtrees */ @@ -71236,7 +70780,7 @@ void proto_register_nbap(void) &ett_nbap_Outcome, /*--- End of included file: packet-nbap-ettarr.c ---*/ -#line 1136 "./asn1/nbap/packet-nbap-template.c" +#line 744 "./asn1/nbap/packet-nbap-template.c" }; static ei_register_info ei[] = { @@ -72387,6 +71931,6 @@ proto_reg_handoff_nbap(void) /*--- End of included file: packet-nbap-dis-tab.c ---*/ -#line 1190 "./asn1/nbap/packet-nbap-template.c" +#line 798 "./asn1/nbap/packet-nbap-template.c" } |