#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */
typedef int /*<<< orphan*/ FILE;

/* Variables and functions */
int /*<<< orphan*/ fprintf(int /*<<< orphan*/ *, char *, char const *);
void usage(FILE *output, const char *myname) {
  fprintf(output,
          "Desc:  In-band scan for SCTE-65 tables\n"
          "Usage: %s [OPTION]... [FILE]...\n"
          "	FILE 	dvb-apps style initial tuning file(s)\n"
          "	-A N	use DVB /dev/dvb/adapterN/ (default N=0)\n"
          "	-D N	use DVB /dev/dvb/adapter?/demuxN (default N=0)\n"
          "	-F N	use DVB /dev/dvb/adapter?/frontendN (default N=0)\n"
          "	-i f	input ts packets from file f ('-' for stdin)\n"
          "	-t f,m	scan at (f)hertz, m={QAM64,8VSB,etc} modulation "
          "(default=QAM256)\n"
          "	-s N	N second timeouts (default N=5)\n"
          "	-V N	only output VCT_ID=N or -1 for all (default N=-1)\n"
          "	-n N	name: 0=no output, 1=Vchannel#, 2=callsign, 3=both "
          "(default N=3)\n"
          "	-k	keep going (scan all freqs for all SCTE-65 tables, not "
          "just 1st)\n"
          "	-p	also scan for ATSC PSIP data\n"
          "	-f N	output format. Myth scripts, specify sourceid by "
          "adding a comma\n"
          "		e.g. '-f 4,3' for Myth update, sourceid=3 (default "
          "sourceid=1)\n"
          "				0=generic text table (default)\n"
          "				1=szap style channels.conf\n"
          "				2=CSV (Comma Separated Values)\n"
          "				3=MythTV SQL install script\n"
          "				4=MythTV SQL update script\n"
          "				5=initial tuning file (use this for "
          "PSIP scan)\n"
          "	-v/q	verbose/quiet (repeat for more)\n"
          "	-h	display this help\n",
          myname);
}


x86 assembly (clang, -O0):
<usage>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %rdi,-0x8(%rbp)
mov    %rsi,-0x10(%rbp)
mov    -0x8(%rbp),%rdi
mov    -0x10(%rbp),%rdx
lea    0xed1(%rip),%rsi
call   1030 <fprintf@plt>
add    $0x10,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<usage>:
mov    %rsi,%rdx
lea    0xee6(%rip),%rsi
jmp    1030 <fprintf@plt>

LLVM IR (-O0):
@.str = [1074 x i8] c"Desc: In-band scan for SCTE-65 tables\0AUsage: %s [OPTION]... [FILE]...\0A\09FILE \09dvb-apps style initial tuning file(s)\0A\09-A N\09use DVB /dev/dvb/adapterN/ (default N=0)\0A\09-D N\09use DVB /dev/dvb/adapter?/demuxN (default N=0)\0A\09-F N\09use DVB /dev/dvb/adapter?/frontendN (default N=0)\0A\09-i f\09input ts packets from file f ('-' for stdin)\0A\09-t f,m\09scan at (f)hertz, m={QAM64,8VSB,etc} modulation (default=QAM256)\0A\09-s N\09N second timeouts (default N=5)\0A\09-V N\09only output VCT_ID=N or -1 for all (default N=-1)\0A\09-n N\09name: 0=no output, 1=Vchannel#, 2=callsign, 3=both (default N=3)\0A\09-k\09keep going (scan all freqs for all SCTE-65 tables, not just 1st)\0A\09-p\09also scan for ATSC PSIP data\0A\09-f N\09output format. Myth scripts, specify sourceid by adding a comma\0A\09\09e.g. '-f 4,3' for Myth update, sourceid=3 (default sourceid=1)\0A\09\09\09\090=generic text table (default)\0A\09\09\09\091=szap style channels.conf\0A\09\09\09\092=CSV (Comma Separated Values)\0A\09\09\09\093=MythTV SQL install script\0A\09\09\09\094=MythTV SQL update script\0A\09\09\09\095=initial tuning file (use this for PSIP scan)\0A\09-v/q\09verbose/quiet (repeat for more)\0A\09-h\09display this help\0A\00"
define void @usage(i32* %0, i8* %1) {
%3 = alloca i32*
%4 = alloca i8*
store i32* %0, i32** %3
store i8* %1, i8** %4
%5 = load i32*, i32** %3
%6 = load i8*, i8** %4
%7 = call i32 @fprintf(i32* %5, i8* getelementptr inbounds ([1074 x i8], [1074 x i8]* @.str, i64 0, i64 0), i8* %6)
ret void
}

LLVM IR (-O2):
@.str = [1074 x i8] c"Desc: In-band scan for SCTE-65 tables\0AUsage: %s [OPTION]... [FILE]...\0A\09FILE \09dvb-apps style initial tuning file(s)\0A\09-A N\09use DVB /dev/dvb/adapterN/ (default N=0)\0A\09-D N\09use DVB /dev/dvb/adapter?/demuxN (default N=0)\0A\09-F N\09use DVB /dev/dvb/adapter?/frontendN (default N=0)\0A\09-i f\09input ts packets from file f ('-' for stdin)\0A\09-t f,m\09scan at (f)hertz, m={QAM64,8VSB,etc} modulation (default=QAM256)\0A\09-s N\09N second timeouts (default N=5)\0A\09-V N\09only output VCT_ID=N or -1 for all (default N=-1)\0A\09-n N\09name: 0=no output, 1=Vchannel#, 2=callsign, 3=both (default N=3)\0A\09-k\09keep going (scan all freqs for all SCTE-65 tables, not just 1st)\0A\09-p\09also scan for ATSC PSIP data\0A\09-f N\09output format. Myth scripts, specify sourceid by adding a comma\0A\09\09e.g. '-f 4,3' for Myth update, sourceid=3 (default sourceid=1)\0A\09\09\09\090=generic text table (default)\0A\09\09\09\091=szap style channels.conf\0A\09\09\09\092=CSV (Comma Separated Values)\0A\09\09\09\093=MythTV SQL install script\0A\09\09\09\094=MythTV SQL update script\0A\09\09\09\095=initial tuning file (use this for PSIP scan)\0A\09-v/q\09verbose/quiet (repeat for more)\0A\09-h\09display this help\0A\00"
define void @usage(i32* nocapture %0, i8* %1) {
%3 = tail call i32 @fprintf(i32* %0, i8* getelementptr inbounds ([1074 x i8], [1074 x i8]* @.str, i64 0, i64 0), i8* %1)
ret void
}