#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*/ printf(char *, char *);
void print_help(void) {
  printf("Usage: portguard [OPTION] COMMAND\n\n"
         "OPTION:\n"
         "  -h  --help                          Prints this help\n"
         "  -f  --sockpath            STRING    The path to the socket. "
         "Defaults to %s\n"
         "  -u  --user                STRING    The user to perform the "
         "request on. Only root can change a port for another user\n"
         "\n"
         "COMMAND:\n"
         "  release                             The port is unprotected and "
         "can be used.\n\n"
         "  reserve                             The port is protected, it will "
         "not be possible to bind to it.\n\n"
         "  list                                Produces a list of users and "
         "the ports that are guarded by the system.\n\n"
         "  no_reacquire                        By default, if the port is no "
         "longer in use, eventually it will become\n"
         "                                      automatically re-acquired by "
         "the server to prevent another user from binding\n"
         "                                      to it. If you pass this option "
         "this informs the server to never attempt this\n"
         "                                      operation.\n\n"
         "  reacquire                           Tells the system that "
         "re-acquiring the port automatically is permitted.\n"
         "\n\n",
         "/var/run/bookkeeper/bookkeeper.sock");
}


x86 assembly (clang, -O0):
<print_help>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
lea    0x1327(%rip),%rsi
call   1030 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<print_help>:
lea    0xee9(%rip),%rdi
lea    0x132b(%rip),%rsi
jmp    1030 <printf@plt>

LLVM IR (-O0):
@.str = [1097 x i8] c"Usage: portguard [OPTION] COMMAND\0A\0AOPTION:\0A -h --help Prints this help\0A -f --sockpath STRING The path to the socket. Defaults to %s\0A -u --user STRING The user to perform the request on. Only root can change a port for another user\0A\0ACOMMAND:\0A release The port is unprotected and can be used.\0A\0A reserve The port is protected, it will not be possible to bind to it.\0A\0A list Produces a list of users and the ports that are guarded by the system.\0A\0A no_reacquire By default, if the port is no longer in use, eventually it will become\0A automatically re-acquired by the server to prevent another user from binding\0A to it. If you pass this option this informs the server to never attempt this\0A operation.\0A\0A reacquire Tells the system that re-acquiring the port automatically is permitted.\0A\0A\0A\00"
@.str.1 = [36 x i8] c"/var/run/bookkeeper/bookkeeper.sock\00"
define void @print_help() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1097 x i8], [1097 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.1, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [1097 x i8] c"Usage: portguard [OPTION] COMMAND\0A\0AOPTION:\0A -h --help Prints this help\0A -f --sockpath STRING The path to the socket. Defaults to %s\0A -u --user STRING The user to perform the request on. Only root can change a port for another user\0A\0ACOMMAND:\0A release The port is unprotected and can be used.\0A\0A reserve The port is protected, it will not be possible to bind to it.\0A\0A list Produces a list of users and the ports that are guarded by the system.\0A\0A no_reacquire By default, if the port is no longer in use, eventually it will become\0A automatically re-acquired by the server to prevent another user from binding\0A to it. If you pass this option this informs the server to never attempt this\0A operation.\0A\0A reacquire Tells the system that re-acquiring the port automatically is permitted.\0A\0A\0A\00"
@.str.1 = [36 x i8] c"/var/run/bookkeeper/bookkeeper.sock\00"
define void @print_help() {
%1 = tail call i32 @printf(i8* getelementptr inbounds ([1097 x i8], [1097 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([36 x i8], [36 x i8]* @.str.1, i64 0, i64 0))
ret void
}