📄 cmdline.c
字号:
/*$Id: cmdline.c,v 1.48 2005/08/12 23:02:35 rasc Exp $ DVBSNOOP a dvb sniffer and mpeg2 stream analyzer tool http://dvbsnoop.sourceforge.net/ (c) 2001-2005 Rainer.Scherg@gmx.de (rasc)$Log: cmdline.c,v $Revision 1.48 2005/08/12 23:02:35 rascNew shortcut options: -adapter and -devnr to select dvb cards/adapters or device numbers on a card.This is a shortcut for -demux -dvr and -frontend...Revision 1.47 2005/08/11 21:02:16 rascminor changes, man pageRevision 1.46 2005/08/10 21:28:18 rascNew: Program Stream handling (-s ps)Revision 1.45 2005/08/02 22:57:46 rascOption -N, rewrite offline filters (TS & Section)Revision 1.44 2005/07/31 21:47:59 rascsoft CRC for sections...Revision 1.43 2005/07/11 23:06:47 rascMultibyte section filter redesign: -f 0x4F.22.33.44.55.66 -m 0x.FF.FF.FF etc.Manpage updateRevision 1.42 2005/06/27 20:28:17 rascfirst version for a man pageRevision 1.41 2005/01/17 19:41:22 rascBugfix: data broadcast descriptor (tnx to Sergio SAGLIOCCO, SecureLAB)Revision 1.40 2004/12/07 21:01:42 rascLarge file support (> 2 GB) for -if cmd option. (tnx to K.Zheng, Philips.com for reporting)Revision 1.39 2004/11/16 23:02:50 rasccmd option "-tsraw" for full/raw TS read (if supported by hard-/firmware)Revision 1.38 2004/11/03 21:00:59 rasc - New: "premiere.de" private tables and descriptors (tnx to Peter.Pavlov, Premiere) - New: cmd option "-privateprovider <provider name>" - New: Private provider sections and descriptors decoding - Changed: complete restructuring of private descriptors and sectionsRevision 1.37 2004/10/12 21:12:05 rascno messageRevision 1.36 2004/10/12 20:37:48 rasc - Changed: TS pid filtering from file, behavior changed - New: new cmdline option -maxdmx <n> (replaces -f using pidscan) - misc. changesRevision 1.35 2004/09/01 20:20:34 rascnew cmdline option: -buffersize KB (set demux buffersize in KBytes)Revision 1.34 2004/04/15 03:38:50 rascnew: TransportStream sub-decoding (ts2PES, ts2SEC) [-tssubdecode]checks for continuity errors, etc. and decode in TS enclosed sections/pes packetsRevision 1.33 2004/04/01 19:19:06 rasccmdline options renamed...Revision 1.32 2004/03/31 21:14:23 rascNew: Spider section pids (snoop referenced section pids),some minor changesRevision 1.31 2004/03/21 00:37:47 rascQuery FrontEnd Info (option: -s feinfo)Revision 1.30 2004/03/09 20:59:23 rascVPS decoding (someone check the NPP & PTY code output please...)Revision 1.29 2004/02/28 12:13:03 rascminor stuffRevision 1.28 2004/02/21 00:50:41 rascbugfix: MHP AIT descriptorsRevision 1.27 2004/02/20 22:18:40 rascDII complete (hopefully)BIOP::ModuleInfo (damned, who is spreading infos over several standards???)maybe someone give me a hint on the selector_byte info!!!some minor changes...Revision 1.26 2004/02/16 22:45:37 rascsmall bugfix: crc is 32 bitRevision 1.25 2004/02/15 22:22:28 rasccmd option: -hexdumpbuffer -nohexdumpbufferRevision 1.24 2004/01/29 22:34:49 rasc-sync: default nowRevision 1.23 2004/01/22 22:26:35 rascpes_pack_headersection read timeoutRevision 1.22 2004/01/06 14:06:09 rascno messageRevision 1.21 2004/01/03 15:40:47 rascsimple frontend signal status query added "-s signal"Revision 1.20 2004/01/01 20:09:26 rascDSM-CC INT/UNT descriptorsPES-sync changed, TS sync changed,descriptor scopeother changesRevision 1.19 2003/12/28 22:53:41 rascsome minor changes/cleanupRevision 1.18 2003/12/28 14:00:26 rascbugfix: section read from input filesome changes on packet header outputRevision 1.17 2003/12/28 00:01:14 rascsome minor changes/adds...Revision 1.16 2003/12/17 23:57:29 rascadd. hexdump mode, different layout for some purposeoption: -ph 4Revision 1.15 2003/12/15 22:29:27 rascpidscan improved, problems with max filters on demuxRevision 1.14 2003/12/15 20:09:49 rascno messageRevision 1.13 2003/12/14 23:38:46 rasc- bandwidth reporting for a PIDRevision 1.12 2003/12/10 20:07:15 rascminor stuffRevision 1.11 2003/12/09 21:02:31 rasctransponder pid-scan improved (should be sufficient now)Revision 1.10 2003/12/07 23:36:13 rascpidscan on transponder- experimental(!)Revision 1.9 2003/12/03 20:06:35 obi- reduced auto* to minimal required checks, obsoletes acinclude.m4- added version number to configure.ac, removed it from version.h (needed for "make dist" anyway)- removed autoheader dependencyRevision 1.8 2003/11/26 16:27:46 rasc- mpeg4 descriptors- simplified bit decoding and output functionRevision 1.7 2003/11/24 23:52:17 rasc-sync option, some TS and PES stuff;dsm_addr inactive, may be wrong - due to missing ISO 13818-6Revision 1.6 2003/11/01 17:05:46 rascno messageRevision 1.5 2003/10/16 20:45:47 rascno messageRevision 1.4 2003/10/16 19:02:27 rascsome updates to dvbsnoop...- small bugfixes- tables updates from ETR 162Revision 1.3 2003/07/06 05:28:52 obicompatibility stuff.. now there is only one version for old and new driverswhich selects the api at configure timeRevision 1.2 2001/10/06 18:19:18 ToerliSteuerzeichen entfernt. rasc wuerdest du mal bitte nen gescheiten unix-konformen Editor verwenden... windows editoren sind ungeeignetRevision 1.1 2001/09/30 13:05:20 rascdvbsnoop v0.7 -- Commit to CVS*/#include "dvbsnoop.h"#include "cmdline.h"#include "dvb_api/dvb_api.h"#include "private/userdefs.h"static void title (void);static void usage (void);static char *set_DVB_device (char *str, const char *path_mask, int adapter, int devnr);// -- GetOptionPtrstatic OPTION *opt_ptr = NULL;// -- mem for dvb devicesstatic char strDEV_DEMUX[DVB_MAX_DEV_PATH_LEN];static char strDEV_DVR[DVB_MAX_DEV_PATH_LEN];static char strDEV_FRONTEND[DVB_MAX_DEV_PATH_LEN];/* -- set default options and decode cmdline -- return 0=abort, 1= ok (&opt set)*/int cmdline_options (int argc, char **argv, OPTION *opt){ char *s; int i; /* -- init options */ opt->buffer_hexdump = 1; opt->printhex = -1; // see below opt->printdecode = -1; // see below opt->binary_out = 0; opt->outPidFile = (char *) NULL; opt->inpPidFile = (char *) NULL; opt->devDemux = (char *) NULL; opt->devDvr = (char *) NULL; opt->devFE = (char *) NULL; opt->dvbAdapterNr = DVB_STD_ADAPTER_NR; // default opt->dvbDeviceNr = DVB_STD_DEVICE_NR; // default opt->rd_buffer_size = 0L; // use default read buffersize opt->pid = INVALID_PID; opt->timeout_ms = 0; // no timeout (0) or default timeout in ms (SECTIONS) opt->max_dmx_filter = 0; // use module default (pidscan) opt->crc = 0; opt->soft_crc = 0; opt->spider_pid = 0; opt->ts_subdecode = 0; opt->rd_all_sections = 0; // read all section no. for a pid opt->ts_raw_mode = 0; opt->rd_packet_count = 0; opt->dec_packet_count = 0; opt->packet_header_sync = 1; opt->packet_mode = SECT; opt->time_mode = FULL_TIME; opt->hide_copyright= 0; opt->help = 0; opt->privateProviderStr = (char *)NULL; // decoding known private tables/descriptors, ProviderStr opt->filterLen = 0; memset(opt->filter, 0, DMX_FILTER_SIZE); memset(opt->mask, 0, DMX_FILTER_SIZE); // -- store for getOption opt_ptr = opt; /* -- Simple parse of cmdline */ i = 0; while (++i < argc) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -