⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unts.c

📁 dvbsnoop is a DVB/MPEG stream analyzer program. The program can be used to sniff, monitor, debug, d
💻 C
字号:
/*$Id: unts.c,v 1.6 2004/10/17 22:20:35 rasc Exp $ DVBSNOOP a dvb sniffer  and mpeg2 stream analyzer tool http://dvbsnoop.sourceforge.net/ (c) 2001-2004   Rainer.Scherg@gmx.de (rasc) -- UNT Section  (Update Notification Table) -- DSM-CC Data Carousel  ETSI TS 102 006$Log: unts.c,v $Revision 1.6  2004/10/17 22:20:35  rascsection decoding functions renamed due to preparation of private structuresRevision 1.5  2004/02/12 21:21:19  rascMHP AIT descriptorssome smaller changesRevision 1.4  2004/01/01 20:09:16  rascDSM-CC INT/UNT descriptorsPES-sync changed, TS sync changed,descriptor scopeother changesRevision 1.3  2003/12/27 14:35:00  rascdvb-t descriptorsDSM-CC: SSU Linkage/DataBroadcast descriptorsRevision 1.2  2003/12/27 00:21:16  rascdsmcc section tablesRevision 1.1  2003/12/26 23:27:39  rascDSM-CC  UNT section*/#include "dvbsnoop.h"#include "unts.h"#include "dsmcc_misc.h"#include "strings/dvb_str.h"#include "strings/dsmcc_str.h"#include "misc/output.h"void section_DSMCC_UNT (u_char *b, int len){ int        len1,i; u_int      table_id; u_int      section_length; out_nl (3,"UNT-decoding...."); table_id = outBit_S2x_NL (3,"Table_ID: ",	b, 0, 8,				(char *(*)(u_long))dvbstrTableID ); if (table_id != 0x4b) {   out_nl (3,"wrong Table ID");   return; } outBit_Sx_NL (4,"Section_syntax_indicator: ",	b, 8, 1); outBit_Sx_NL (6,"reserved_1: ",		b, 9, 1); outBit_Sx_NL (6,"reserved_2: ",		b,10, 2); section_length = outBit_Sx_NL (5,"section_length: ",	b,12,12); outBit_S2x_NL(3,"Action_type: ",		b,24, 8,			(char *(*)(u_long))dsmccStrAction_Type ); outBit_Sx_NL (3,"OUI_hash: ",			b,32, 8); outBit_Sx_NL (6,"reserved_3: ",		b,40, 2); outBit_Sx_NL (3,"Version_number: ",		b,42, 5); outBit_S2x_NL(3,"Current_next_indicator: ",	b,47, 1,			(char *(*)(u_long))dvbstrCurrentNextIndicator ); outBit_Sx_NL (3,"Section_number: ",		b,48, 8); outBit_Sx_NL (3,"Last_section_number: ",	b,56, 8); outBit_S2x_NL(3,"OUI: ",			b,64,24,			(char *(*)(u_long))dsmccStrOUI ); outBit_S2x_NL(3,"Processing_order: ",		b,88, 8,			(char *(*)(u_long))dsmccStrProcessing_order); b += 12; len1 = section_length - 9; /* common descriptor loop */ i = dsmcc_pto_descriptor_loop ("common",b);  b    += i; len1 -= i; indent (+1); while (len1 > 4) {	int len2;	i= dsmcc_CompatibilityDescriptor(b);	b    += i;	len1 -= i;	len2 = outBit_Sx_NL (3,"platform_loop_length: ",	b, 0,16);	b    += 2;	len1 -= 2;	while (len2 > 0) { 		i = dsmcc_pto_descriptor_loop ("target",b); 		b    += i;		len1 -= i;		len2 -= i; 		i = dsmcc_pto_descriptor_loop ("operational",b); 		b    += i;		len1 -= i;		len2 -= i;	}	out_NL (4); } indent (-1); outBit_Sx_NL (5,"CRC: ",	b,0,32);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -