Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Ethereal-dev: [Ethereal-dev] New dissector gprs-llc ,patch packet-bssgp.c

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: <jkor@xxxxxxxx>
Date: Tue, 06 Apr 2004 12:10:28 +0200
I am sending dissector for next layer(LLC) of GPRS Gb line stack  and patch to lower layer dissector to be able call this new one.The "diff -c" was done against source packet-bssgp.c contained in devolopment tree from 30.3.2004.The patch doesn't contain changes in Makefile.common. Please, could you do it? Thank you.
Josef
*** ethereal-2004-02-28/packet-bssgp.c	Tue Apr  6 07:59:26 2004
--- ethereal-2004-03-30/packet-bssgp.c	Sun Dec 28 13:43:38 2003
***************
*** 316,325 ****
  static int hf_bssgp_noaff = -1;
  /*static int hf_bssgp_FIELDABBREV = -1;*/
  
! /*static dissector_handle_t data_handle;
  */
- static dissector_handle_t llcgprs_handle;
- 
  /* Initialize the subtree pointers */
  static gint ett_bssgp = -1;
  static gint ett_bssgp_tlli = -1;
--- 316,324 ----
  static int hf_bssgp_noaff = -1;
  /*static int hf_bssgp_FIELDABBREV = -1;*/
  
! static dissector_handle_t data_handle;
! /*static dissector_handle_t llcgprs_handle;
  */
  /* Initialize the subtree pointers */
  static gint ett_bssgp = -1;
  static gint ett_bssgp_tlli = -1;
***************
*** 1091,1097 ****
   	
  	if (dprm_p->tree){
  		code = tvb_get_guint8(tvb,offset);
! 		ti = proto_tree_add_text(dprm_p->tree,tvb,offset,llen+2 ,"LLC PDU %u bytes", llen);
  		b_llc_tree = proto_item_add_subtree(ti, ett_b_llc_tree);
  		proto_tree_add_uint_format(b_llc_tree,hf_bssgp_ietype,tvb,offset,1,code,"IE type: %s %#.2x",match_strval(code,bssgp_iei),code);
  		proto_tree_add_text(b_llc_tree,tvb,offset+1,k-1,"Length:%u",llen);
--- 1090,1096 ----
   	
  	if (dprm_p->tree){
  		code = tvb_get_guint8(tvb,offset);
! 		ti = proto_tree_add_text(dprm_p->tree,tvb,offset,llen ,"LLC PDU %u bytes", llen);
  		b_llc_tree = proto_item_add_subtree(ti, ett_b_llc_tree);
  		proto_tree_add_uint_format(b_llc_tree,hf_bssgp_ietype,tvb,offset,1,code,"IE type: %s %#.2x",match_strval(code,bssgp_iei),code);
  		proto_tree_add_text(b_llc_tree,tvb,offset+1,k-1,"Length:%u",llen);
***************
*** 1525,1533 ****
  				      offset=offset+( *bssgp_pdu[i].infe[j].decode)(tvb, offset, decodeparam );     
  				      if (iele == 0x0e ){
  					      next_tvb = tvb_new_subset(tvb, decodeparam->k, -1, -1);
! 					      call_dissector(llcgprs_handle, next_tvb, pinfo, tree);
! /*					      call_dissector(data_handle, next_tvb, pinfo, tree);
! */					      
  				      }
  				      j++;
  				  }
--- 1524,1532 ----
  				      offset=offset+( *bssgp_pdu[i].infe[j].decode)(tvb, offset, decodeparam );     
  				      if (iele == 0x0e ){
  					      next_tvb = tvb_new_subset(tvb, decodeparam->k, -1, -1);
! /*					      call_dissector(llcgprs_handle, next_tvb, pinfo, tree);
! */
! 					      call_dissector(data_handle, next_tvb, pinfo, tree);
  				      }
  				      j++;
  				  }
***************
*** 1680,1686 ****
  */	
  /*        dissector_add("fr.ietf", 0x0, bssgp_handle);
  */	  
! /*        data_handle = find_dissector("data");
! */
      	  llcgprs_handle = find_dissector ("llcgprs");
  }
--- 1679,1687 ----
  */	
  /*        dissector_add("fr.ietf", 0x0, bssgp_handle);
  */	  
!         data_handle = find_dissector("data");
! 
! /*
      	  llcgprs_handle = find_dissector ("llcgprs");
+ */	  
  }

Attachment: packet-gprs-llc.c
Description: Binary data