#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 */

/* Variables and functions */
int /*<<< orphan*/ exit(int);
int /*<<< orphan*/ printf(char *, ...);
void usage() {
  printf(
      "usage: vclient -h <ip:port> [-c <command1,command2,..>] [-f "
      "<commandfile>] [-s <csv-Datei>] [-t <Template-Datei>] [-o <outpout "
      "Datei> [-x <exec-Datei>] [-k] [-m] [-v]\nor\nusage: vclient --host <ip> "
      "--port <port> [--command <command1,command2,..>] [--commandfile "
      "<commandfile>] [--cvsfile <csv-Datei>] [--template <Template-Datei>] "
      "[--output <outpout Datei>] [--execute <exec-Datei>] [--cacti] [--munin] "
      "[--verbose] [command3 [command4] ...]\n\n\t-h|--host\t<IPv4>:<Port> "
      "oder <IPv6> des vcontrold\n\t-p|--port\t<Port> des vcontrold bei "
      "IPv6\n\t-c|--command\tListe von auszufuehrenden Kommandos, durch Komma "
      "getrennt\n\t-f|--commandfile\tOptional Datei mit Kommandos, pro Zeile "
      "ein Kommando\n\t-s|--csvfile\tAusgabe des Ergebnisses im CSV Format zur "
      "Weiterverarbeitung\n\t-t|--template\tTemplate, Variablen werden mit "
      "zurueckgelieferten Werten ersetzt.\n\t-o|--output\tOutput, der stdout "
      "Output wird in die angegebene Datei geschrieben\n\t-x|--execute\tDas "
      "umgewandelte Template (-t) wird in die angegebene Datei geschrieben und "
      "anschliessend ausgefuehrt.\n\t-m|--munin\tMunin Datalogger kompatibles "
      "Format; Einheiten und Details zu Fehler gehen "
      "verloren.\n\t-k|--cacti\tCacti Datalogger kompatibles Format; Einheiten "
      "und Details zu Fehler gehen verloren.\n\t-v|--verbose\tVerbose Modus "
      "zum testen\n\t-4|--inet4\tIPv4 wird bevorzugt\n\t-6|--inet6\tIPv6 wird "
      "bevorzugt. Wird keine dieser Optionen angegben werden die OS default "
      "Einstellungen verwendet\n\t--help\tGibst diese Butzugshinweise aus.\n");
  printf("\tVERSION %s\n", "0.98.2-IPv6(r73)");
  exit(1);
}


x86 assembly (clang, -O0):
<usage>:
push   %rbp
mov    %rsp,%rbp
lea    0xed5(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1472(%rip),%rdi
lea    0x1478(%rip),%rsi
mov    $0x0,%al
call   1030 <printf@plt>
mov    $0x1,%edi
call   1040 <exit@plt>

x86 assembly (clang, -O2):
<usage>:
push   %rax
lea    0xee6(%rip),%rdi
call   1030 <puts@plt>
lea    0xebc(%rip),%rdi
lea    0xec2(%rip),%rsi
xor    %eax,%eax
call   1040 <printf@plt>
mov    $0x1,%edi
call   1050 <exit@plt>

LLVM IR (-O0):
@.str = [1451 x i8] c"usage: vclient -h <ip:port> [-c <command1,command2,..>] [-f <commandfile>] [-s <csv-Datei>] [-t <Template-Datei>] [-o <outpout Datei> [-x <exec-Datei>] [-k] [-m] [-v]\0Aor\0Ausage: vclient --host <ip> --port <port> [--command <command1,command2,..>] [--commandfile <commandfile>] [--cvsfile <csv-Datei>] [--template <Template-Datei>] [--output <outpout Datei>] [--execute <exec-Datei>] [--cacti] [--munin] [--verbose] [command3 [command4] ...]\0A\0A\09-h|--host\09<IPv4>:<Port> oder <IPv6> des vcontrold\0A\09-p|--port\09<Port> des vcontrold bei IPv6\0A\09-c|--command\09Liste von auszufuehrenden Kommandos, durch Komma getrennt\0A\09-f|--commandfile\09Optional Datei mit Kommandos, pro Zeile ein Kommando\0A\09-s|--csvfile\09Ausgabe des Ergebnisses im CSV Format zur Weiterverarbeitung\0A\09-t|--template\09Template, Variablen werden mit zurueckgelieferten Werten ersetzt.\0A\09-o|--output\09Output, der stdout Output wird in die angegebene Datei geschrieben\0A\09-x|--execute\09Das umgewandelte Template (-t) wird in die angegebene Datei geschrieben und anschliessend ausgefuehrt.\0A\09-m|--munin\09Munin Datalogger kompatibles Format; Einheiten und Details zu Fehler gehen verloren.\0A\09-k|--cacti\09Cacti Datalogger kompatibles Format; Einheiten und Details zu Fehler gehen verloren.\0A\09-v|--verbose\09Verbose Modus zum testen\0A\09-4|--inet4\09IPv4 wird bevorzugt\0A\09-6|--inet6\09IPv6 wird bevorzugt. Wird keine dieser Optionen angegben werden die OS default Einstellungen verwendet\0A\09--help\09Gibst diese Butzugshinweise aus.\0A\00"
@.str.1 = [13 x i8] c"\09VERSION %s\0A\00"
@.str.2 = [17 x i8] c"0.98.2-IPv6(r73)\00"
define void @usage() {
%1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([1451 x i8], [1451 x i8]* @.str, i64 0, i64 0))
%2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.2, i64 0, i64 0))
%3 = call i32 @exit(i32 1)
unreachable
}

LLVM IR (-O2):
@.str.1 = [13 x i8] c"\09VERSION %s\0A\00"
@.str.2 = [17 x i8] c"0.98.2-IPv6(r73)\00"
@str = [1450 x i8] c"usage: vclient -h <ip:port> [-c <command1,command2,..>] [-f <commandfile>] [-s <csv-Datei>] [-t <Template-Datei>] [-o <outpout Datei> [-x <exec-Datei>] [-k] [-m] [-v]\0Aor\0Ausage: vclient --host <ip> --port <port> [--command <command1,command2,..>] [--commandfile <commandfile>] [--cvsfile <csv-Datei>] [--template <Template-Datei>] [--output <outpout Datei>] [--execute <exec-Datei>] [--cacti] [--munin] [--verbose] [command3 [command4] ...]\0A\0A\09-h|--host\09<IPv4>:<Port> oder <IPv6> des vcontrold\0A\09-p|--port\09<Port> des vcontrold bei IPv6\0A\09-c|--command\09Liste von auszufuehrenden Kommandos, durch Komma getrennt\0A\09-f|--commandfile\09Optional Datei mit Kommandos, pro Zeile ein Kommando\0A\09-s|--csvfile\09Ausgabe des Ergebnisses im CSV Format zur Weiterverarbeitung\0A\09-t|--template\09Template, Variablen werden mit zurueckgelieferten Werten ersetzt.\0A\09-o|--output\09Output, der stdout Output wird in die angegebene Datei geschrieben\0A\09-x|--execute\09Das umgewandelte Template (-t) wird in die angegebene Datei geschrieben und anschliessend ausgefuehrt.\0A\09-m|--munin\09Munin Datalogger kompatibles Format; Einheiten und Details zu Fehler gehen verloren.\0A\09-k|--cacti\09Cacti Datalogger kompatibles Format; Einheiten und Details zu Fehler gehen verloren.\0A\09-v|--verbose\09Verbose Modus zum testen\0A\09-4|--inet4\09IPv4 wird bevorzugt\0A\09-6|--inet6\09IPv6 wird bevorzugt. Wird keine dieser Optionen angegben werden die OS default Einstellungen verwendet\0A\09--help\09Gibst diese Butzugshinweise aus.\00"
define void @usage() {
%1 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([1450 x i8], [1450 x i8]* @str, i64 0, i64 0))
%2 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([13 x i8], [13 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.2, i64 0, i64 0))
%3 = tail call i32 @exit(i32 1)
unreachable
}