func: static dissect_catapult_dct2000(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) gint offset = 0 ; gint context_length ; gint protocol_length ; gint timestamp_length ; gint variant_length ; gint outhdr_length ; int encap ; const char * protocol_name ; offset += context_length; offset ++; offset += timestamp_length; protocol_name = tvb_get_const_stringz ( tvb , offset , & protocol_length ); offset += protocol_length; offset += variant_length; offset += outhdr_length; offset ++; encap = tvb_get_guint8 ( tvb , offset ); offset ++; if ( ( strcmp ( protocol_name , "fp" ) == 0 ) || ( strncmp ( protocol_name , "fp_r" , 4 ) == 0 ) || ( strcmp ( protocol_name , "fpiur_r5" ) == 0 ) )  if ( ( strcmp ( protocol_name , "rlc" ) == 0 ) || ( strcmp ( protocol_name , "rlc_r4" ) == 0 ) || ( strcmp ( protocol_name , "rlc_r5" ) == 0 ) || ( strcmp ( protocol_name , "rlc_r6" ) == 0 ) || ( strcmp ( protocol_name , "rlc_r7" ) == 0 ) || ( strcmp ( protocol_name , "rlc_r8" ) == 0 ) || ( strcmp ( protocol_name , "rlc_r9" ) == 0 ) )  if ( ( strcmp ( protocol_name , "mac_r8_lte" ) == 0 ) || ( strcmp ( protocol_name , "mac_r9_lte" ) == 0 ) || ( strcmp ( protocol_name , "mac_r10_lte" ) == 0 ) )  if ( ( strcmp ( protocol_name , "rlc_r8_lte" ) == 0 ) || ( strcmp ( protocol_name , "rlc_r9_lte" ) == 0 ) || ( strcmp ( protocol_name , "rlc_r10_lte" ) == 0 ) )  if ( ( strcmp ( protocol_name , "pdcp_r8_lte" ) == 0 ) || ( strcmp ( protocol_name , "pdcp_r9_lte" ) == 0 ) || ( strcmp ( protocol_name , "pdcp_r10_lte" ) == 0 ) )  if ( ( strcmp ( protocol_name , "nas_rrc_r8_lte" ) == 0 ) || ( strcmp ( protocol_name , "nas_rrc_r9_lte" ) == 0 ) || ( strcmp ( protocol_name , "nas_rrc_r10_lte" ) == 0 ) )  gboolean nas_body_found = TRUE ; guint8 opcode = tvb_get_guint8 ( tvb , offset ) ; proto_tree_add_item ( tree , hf_catapult_dct2000_lte_nas_rrc_opcode , tvb , offset ++ , 1 , ENC_BIG_ENDIAN ); offset ++; switch ( opcode )  offset ++; offset += 2; offset += 2; offset ++; offset += 2; offset += 2; offset += 2; proto_tree_add_item ( tree , hf_catapult_dct2000_lte_nas_rrc_establish_cause , tvb , offset ++ , 1 , ENC_BIG_ENDIAN ); offset += 2; proto_tree_add_item ( tree , hf_catapult_dct2000_lte_nas_rrc_priority , tvb , offset ++ , 1 , ENC_BIG_ENDIAN ); offset ++; offset += 2; offset += 2; offset += 2; proto_tree_add_item ( tree , hf_catapult_dct2000_lte_nas_rrc_release_cause , tvb , offset ++ , 1 , ENC_BIG_ENDIAN ); nas_body_found = FALSE; if ( nas_body_found )  offset += 2; switch ( encap )  pinfo -> p2p_dir = pinfo -> pseudo_header -> isdn . uton; pinfo -> p2p_dir = pinfo -> pseudo_header -> p2p . sent; if ( ( strcmp ( protocol_name , "rlc" ) == 0 ) || ( strcmp ( protocol_name , "rlc_r4" ) == 0 ) || ( strcmp ( protocol_name , "rlc_r5" ) == 0 ) || ( strcmp ( protocol_name , "rlc_r6" ) == 0 ) || ( strcmp ( protocol_name , "rlc_r7" ) == 0 ) || ( strcmp ( protocol_name , "rlc_r8" ) == 0 ) || ( strcmp ( protocol_name , "rlc_r9" ) == 0 ) )  if ( ( strcmp ( protocol_name , "mac_r8_lte" ) == 0 ) || ( strcmp ( protocol_name , "mac_r9_lte" ) == 0 ) || ( strcmp ( protocol_name , "mac_r10_lte" ) == 0 ) )  if ( ( strcmp ( protocol_name , "rlc_r8_lte" ) == 0 ) || ( strcmp ( protocol_name , "rlc_r9_lte" ) == 0 ) || ( strcmp ( protocol_name , "rlc_r10_lte" ) == 0 ) )  if ( ( strcmp ( protocol_name , "pdcp_r8_lte" ) == 0 ) || ( strcmp ( protocol_name , "pdcp_r9_lte" ) == 0 ) || ( strcmp ( protocol_name , "pdcp_r10_lte" ) == 0 ) )  if ( strcmp ( protocol_name , "xml" ) == 0 )  if ( strcmp ( protocol_name , "tty" ) == 0 )  if ( strcmp ( protocol_name , "sipprim" ) == 0 )  if ( strcmp ( protocol_name , "comment" ) == 0 )  char * string = ( char * ) tvb_get_string_enc ( wmem_packet_scope ( ) , tvb , offset , tvb_reported_length_remaining ( tvb , offset ) , ENC_ASCII ) ; if ( catapult_dct2000_dissect_mac_lte_oob_messages )  check_for_oob_mac_lte_events ( pinfo , tvb , tree , string ); static void check_for_oob_mac_lte_events(packet_info *pinfo, tvbuff_t *tvb, proto_tree const char *string) guint number_of_ues ; guint ueids [ MAX_SRs ] ; guint rntis [ MAX_SRs ] ; guint rapid ; if ( sscanf ( string , ">> RACH Preamble Request[UE =  %u]    [RAPID =  %u]    [Attempt = %u]" , & ueids [ 0 ] , & rapid , & rach_attempt_number ) == 3 )  if ( sscanf ( string , ">> Schedule Requests (%u)  [UE=%u][RNTI=%u]" , & number_of_ues , & ueids [ 0 ] , & rntis [ 0 ] ) == 3 )  number_of_ues = MIN ( number_of_ues , MAX_SRs ); if ( number_of_ues > 1 )  for (n=1; n < number_of_ues; n++) for (n=0; n < number_of_ues; n++) p_mac_lte_info -> number_of_srs = number_of_ues; p_mac_lte_info -> direction = DIRECTION_UPLINK; 