#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*/ fprintf(int /*<<< orphan*/, char *, char *);
int /*<<< orphan*/ stderr;
void HelpScreen(int exit_state) {
  fprintf(stderr,
          "lcdproc - LCDproc system status information viewer\n"
          "\n"
          "Copyright (c) 1999-2012 Selene Scriven, William Ferrell, and misc. "
          "contributors.\n"
          "This program is released under the terms of the GNU General Public "
          "License.\n"
          "\n"
          "Usage: lcdproc [<options>] [<screens> ...]\n"
          "  where <options> are\n"
          "    -s <host>           connect to LCDd daemon on <host>\n"
          "    -p <port>           connect to LCDd daemon using <port>\n"
          "    -f                  run in foreground\n"
          "    -e <delay>          slow down initial announcement of screens "
          "(in 1/100s)\n"
          "    -c <config>         use a configuration file other than %s\n"
          "    -h                  show this help screen\n"
          "    -v                  display program version\n"
          "  and <screens> are\n"
          "    C CPU               detailed CPU usage\n"
          "    P SMP-CPU           CPU usage overview (one line per CPU)\n"
          "    G CPUGraph          CPU usage histogram\n"
          "    L Load              load histogram\n"
          "    M Memory            memory & swap usage\n"
          "    S ProcSize          biggest processes size\n"
          "    D Disk              filling level of mounted file systems\n"
          "    I Iface             network interface usage\n"
          "    B Battery           battery status\n"
          "    T TimeDate          time & date information\n"
          "    O OldTime           old time screen\n"
          "    U Uptime            uptime screen\n"
          "    K BigClock          big clock\n"
          "    N MiniClock         minimal clock\n"
          "    A About             credits page\n"
          "\n"
          "Example:\n"
          "    lcdproc -s my.lcdproc.server.com -p 13666 C M L\n",
          "/etc"
          "/lcdproc.conf");
  exit(exit_state);
}


x86 assembly (clang, -O0):
<HelpScreen>:
push   %rbp
mov    %rsp,%rbp
sub    $0x10,%rsp
mov    %edi,-0x4(%rbp)
mov    0x2eae(%rip),%rax
mov    (%rax),%edi
lea    0xec5(%rip),%rsi
lea    0x1445(%rip),%rdx
call   1030 <fprintf@plt>
mov    -0x4(%rbp),%edi
call   1040 <exit@plt>

x86 assembly (clang, -O2):
<HelpScreen>:
push   %rbx
mov    %edi,%ebx
mov    0x2eb6(%rip),%rax
mov    (%rax),%edi
lea    0xecd(%rip),%rsi
lea    0x144d(%rip),%rdx
call   1030 <fprintf@plt>
mov    %ebx,%edi
call   1040 <exit@plt>

LLVM IR (-O0):
@stderr = global i32 0
@.str = [1415 x i8] c"lcdproc - LCDproc system status information viewer\0A\0ACopyright (c) 1999-2012 Selene Scriven, William Ferrell, and misc. contributors.\0AThis program is released under the terms of the GNU General Public License.\0A\0AUsage: lcdproc [<options>] [<screens> ...]\0A where <options> are\0A -s <host> connect to LCDd daemon on <host>\0A -p <port> connect to LCDd daemon using <port>\0A -f run in foreground\0A -e <delay> slow down initial announcement of screens (in 1/100s)\0A -c <config> use a configuration file other than %s\0A -h show this help screen\0A -v display program version\0A and <screens> are\0A C CPU detailed CPU usage\0A P SMP-CPU CPU usage overview (one line per CPU)\0A G CPUGraph CPU usage histogram\0A L Load load histogram\0A M Memory memory & swap usage\0A S ProcSize biggest processes size\0A D Disk filling level of mounted file systems\0A I Iface network interface usage\0A B Battery battery status\0A T TimeDate time & date information\0A O OldTime old time screen\0A U Uptime uptime screen\0A K BigClock big clock\0A N MiniClock minimal clock\0A A About credits page\0A\0AExample:\0A lcdproc -s my.lcdproc.server.com -p 13666 C M L\0A\00"
@.str.1 = [18 x i8] c"/etc/lcdproc.conf\00"
define void @HelpScreen(i32 %0) {
%2 = alloca i32
store i32 %0, i32* %2
%3 = load i32, i32* @stderr
%4 = call i32 @fprintf(i32 %3, i8* getelementptr inbounds ([1415 x i8], [1415 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.1, i64 0, i64 0))
%5 = load i32, i32* %2
%6 = call i32 @exit(i32 %5)
unreachable
}

LLVM IR (-O2):
@stderr = global i32 0
@.str = [1415 x i8] c"lcdproc - LCDproc system status information viewer\0A\0ACopyright (c) 1999-2012 Selene Scriven, William Ferrell, and misc. contributors.\0AThis program is released under the terms of the GNU General Public License.\0A\0AUsage: lcdproc [<options>] [<screens> ...]\0A where <options> are\0A -s <host> connect to LCDd daemon on <host>\0A -p <port> connect to LCDd daemon using <port>\0A -f run in foreground\0A -e <delay> slow down initial announcement of screens (in 1/100s)\0A -c <config> use a configuration file other than %s\0A -h show this help screen\0A -v display program version\0A and <screens> are\0A C CPU detailed CPU usage\0A P SMP-CPU CPU usage overview (one line per CPU)\0A G CPUGraph CPU usage histogram\0A L Load load histogram\0A M Memory memory & swap usage\0A S ProcSize biggest processes size\0A D Disk filling level of mounted file systems\0A I Iface network interface usage\0A B Battery battery status\0A T TimeDate time & date information\0A O OldTime old time screen\0A U Uptime uptime screen\0A K BigClock big clock\0A N MiniClock minimal clock\0A A About credits page\0A\0AExample:\0A lcdproc -s my.lcdproc.server.com -p 13666 C M L\0A\00"
@.str.1 = [18 x i8] c"/etc/lcdproc.conf\00"
define void @HelpScreen(i32 %0) {
%2 = load i32, i32* @stderr
%3 = tail call i32 @fprintf(i32 %2, i8* getelementptr inbounds ([1415 x i8], [1415 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.1, i64 0, i64 0))
%4 = tail call i32 @exit(i32 %0)
unreachable
}