def parse_buf
			ret=nil
			bs=BitStream.new(@buf)
			table_id                        =bs.read 8 #uimsbf
			section_syntax_indicator        =bs.read 1 #bslbf
			reserved_future_use             =bs.read 1 #bslbf
			reserved                        =bs.read 2 #bslbf
			section_length                  =bs.read 12 #uimsbf

			download_data_id    =bs.read 16 #uimsbf
			reserved            =bs.read 2 #bslbf
			version_number      =bs.read 5 #uimsbf
			current_next_indicator =bs.read 1 #bslbf
			section_number      =bs.read 8 #uimsbf
			last_section_number =bs.read 8 #uimsbf
			original_network_id =bs.read 16 #uimsbf
			data_type           =bs.read 8 #uimsbf =0x01
			reserved_future_use =bs.read 4 #bslbf
			descriptors_loop_length =bs.read 12 #uimsbf
			desc=descriptor(bs,descriptors_loop_length)

			ret = 'ddid=%04x vid=%02x onid=%04x type=%02x' % [
					download_data_id,
					version_number,
					original_network_id,
					data_type]

			if data_type == 0x01
				logo_type            =bs.read 8 #uimsbf
				reserved_future_use  =bs.read 7 #bslbf
				logo_id              =bs.read 9 #uimsbf
				reserved_future_use  =bs.read 4 #bslbf
				logo_version         =bs.read 12 #uimsbf
				data_size            =bs.read 16 #uimsbf
				data_byte            =bs.str data_size
				ret = ['ddid=%04x vid=%02x onid=%04x type=%02x loid=%02x lver=%03x dt=%s' % [
					download_data_id,
					version_number,
					original_network_id,
					logo_type,logo_id,logo_version,data_byte],desc]
				
			else
				len=(section_length+3)-10-descriptors_loop_length-4
				data_module_byte =bs.str len
			end

			cCRC_32                         =bs.read 32 #rpchof
			ret
		end
def parse_buf
			ret=nil
			bs=BitStream.new(@buf)
			table_id                        =bs.read 8 #uimsbf
			section_syntax_indicator        =bs.read 1 #bslbf
			reserved_future_use             =bs.read 1 #bslbf
			reserved                        =bs.read 2 #bslbf
			section_length                  =bs.read 12 #uimsbf

			download_data_id    =bs.read 16 #uimsbf
			reserved            =bs.read 2 #bslbf
			version_number      =bs.read 5 #uimsbf
			current_next_indicator =bs.read 1 #bslbf
			section_number      =bs.read 8 #uimsbf
			last_section_number =bs.read 8 #uimsbf
			original_network_id =bs.read 16 #uimsbf
			data_type           =bs.read 8 #uimsbf =0x01
			reserved_future_use =bs.read 4 #bslbf
			descriptors_loop_length =bs.read 12 #uimsbf
			desc=descriptor(bs,descriptors_loop_length)

			ret = 'ddid=%04x vid=%02x onid=%04x type=%02x' % [
					download_data_id,
					version_number,
					original_network_id,
					data_type]

			if data_type == 0x01
				logo_type            =bs.read 8 #uimsbf
				reserved_future_use  =bs.read 7 #bslbf
				logo_id              =bs.read 9 #uimsbf
				reserved_future_use  =bs.read 4 #bslbf
				logo_version         =bs.read 12 #uimsbf
				data_size            =bs.read 16 #uimsbf
				data_byte            =bs.str data_size
				ret = ['ddid=%04x vid=%02x onid=%04x type=%02x loid=%02x lver=%03x dt=%s' % [
					download_data_id,
					version_number,
					original_network_id,
					logo_type,logo_id,logo_version,data_byte],desc]
				
			else
				len=(section_length+3)-10-descriptors_loop_length-4
				data_module_byte =bs.str len
			end

			cCRC_32                         =bs.read 32 #rpchof
			ret
		end
< 1Kbyte