#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 *, char *, char *);
void storage_help() {
  printf("/********************* module: storage (mysql) "
         "********************************/\n"
         "#%s DONT_STORE_ZERO_ENTRIES\n"
         "#%s USE_DAEMON_IP_FILTER\n"
         "#%s USE_PREPARED_STATEMENTS\n"
         "\n"
         "Stores average values in the MySQL database as specified in the "
         "supplied\n"
         "configuration file. This file gets reloaded on every write, so you "
         "can switch\n"
         "databases on the fly if you wish.\n"
         "\n"
         "The configuration file must look like:\n"
         "  storage_host=HOSTNAME\n"
         "  storage_port=PORT\n"
         "  storage_user=USERNAME\n"
         "  storage_pass=PASSWORD\n"
         "  storage_dbase=DATABASE\n"
         "\n"
         "Only counts for IP addresses that are listed in the `ip_range_tbl` "
         "table are\n"
         "stored. Those ranges can be specified on a `node_id` basis if "
         "desired. See\n"
         "the storage.sql CREATE script for more information.\n"
         "\n"
         "When DONT_STORE_ZERO_ENTRIES is defined, no values with all zeroes "
         "are stored.\n"
         "For calculation purposes no value is the same as all zeroes anyway. "
         "But if\n"
         "you're interested in seeing whether there has been _any_ traffic at "
         "all, you'll\n"
         "want to undefine it.\n"
         "\n"
         "Define or undefine USE_DAEMON_IP_FILTER to select whether you want "
         "to do the\n"
         "filtering of the IP addresses in ip_range_tbl by the daemon or by "
         "the SQL\n"
         "server respectively. Filtering by SQL is probably only better if you "
         "have\n"
         "really many or very large IP ranges (covering 10+ percent of the "
         "entire IP\n"
         "space).\n"
         "\n"
         "You can define or undefine USE_PREPARED_STATEMENTS to enable/disable "
         "use of\n"
         "MySQL prepared statements. Using them is recommended as it reduces "
         "the amount of\n"
         "traffic sent to the server and the server only has to parse the "
         "query once.\n"
         "\n",
         "define", "define", "define");
}


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

x86 assembly (clang, -O2):
<storage_help>:
lea    0xee9(%rip),%rdi
lea    0x14c9(%rip),%rcx
mov    %rcx,%rsi
mov    %rcx,%rdx
jmp    1030 <printf@plt>

LLVM IR (-O0):
@.str = [1511 x i8] c"/********************* module: storage (mysql) ********************************/\0A#%s DONT_STORE_ZERO_ENTRIES\0A#%s USE_DAEMON_IP_FILTER\0A#%s USE_PREPARED_STATEMENTS\0A\0AStores average values in the MySQL database as specified in the supplied\0Aconfiguration file. This file gets reloaded on every write, so you can switch\0Adatabases on the fly if you wish.\0A\0AThe configuration file must look like:\0A storage_host=HOSTNAME\0A storage_port=PORT\0A storage_user=USERNAME\0A storage_pass=PASSWORD\0A storage_dbase=DATABASE\0A\0AOnly counts for IP addresses that are listed in the `ip_range_tbl` table are\0Astored. Those ranges can be specified on a `node_id` basis if desired. See\0Athe storage.sql CREATE script for more information.\0A\0AWhen DONT_STORE_ZERO_ENTRIES is defined, no values with all zeroes are stored.\0AFor calculation purposes no value is the same as all zeroes anyway. But if\0Ayou're interested in seeing whether there has been _any_ traffic at all, you'll\0Awant to undefine it.\0A\0ADefine or undefine USE_DAEMON_IP_FILTER to select whether you want to do the\0Afiltering of the IP addresses in ip_range_tbl by the daemon or by the SQL\0Aserver respectively. Filtering by SQL is probably only better if you have\0Areally many or very large IP ranges (covering 10+ percent of the entire IP\0Aspace).\0A\0AYou can define or undefine USE_PREPARED_STATEMENTS to enable/disable use of\0AMySQL prepared statements. Using them is recommended as it reduces the amount of\0Atraffic sent to the server and the server only has to parse the query once.\0A\0A\00"
@.str.1 = [7 x i8] c"define\00"
define void @storage_help() {
%1 = call i32 @printf(i8* getelementptr inbounds ([1511 x i8], [1511 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [1511 x i8] c"/********************* module: storage (mysql) ********************************/\0A#%s DONT_STORE_ZERO_ENTRIES\0A#%s USE_DAEMON_IP_FILTER\0A#%s USE_PREPARED_STATEMENTS\0A\0AStores average values in the MySQL database as specified in the supplied\0Aconfiguration file. This file gets reloaded on every write, so you can switch\0Adatabases on the fly if you wish.\0A\0AThe configuration file must look like:\0A storage_host=HOSTNAME\0A storage_port=PORT\0A storage_user=USERNAME\0A storage_pass=PASSWORD\0A storage_dbase=DATABASE\0A\0AOnly counts for IP addresses that are listed in the `ip_range_tbl` table are\0Astored. Those ranges can be specified on a `node_id` basis if desired. See\0Athe storage.sql CREATE script for more information.\0A\0AWhen DONT_STORE_ZERO_ENTRIES is defined, no values with all zeroes are stored.\0AFor calculation purposes no value is the same as all zeroes anyway. But if\0Ayou're interested in seeing whether there has been _any_ traffic at all, you'll\0Awant to undefine it.\0A\0ADefine or undefine USE_DAEMON_IP_FILTER to select whether you want to do the\0Afiltering of the IP addresses in ip_range_tbl by the daemon or by the SQL\0Aserver respectively. Filtering by SQL is probably only better if you have\0Areally many or very large IP ranges (covering 10+ percent of the entire IP\0Aspace).\0A\0AYou can define or undefine USE_PREPARED_STATEMENTS to enable/disable use of\0AMySQL prepared statements. Using them is recommended as it reduces the amount of\0Atraffic sent to the server and the server only has to parse the query once.\0A\0A\00"
@.str.1 = [7 x i8] c"define\00"
define void @storage_help() {
%1 = tail call i32 @printf(i8* getelementptr inbounds ([1511 x i8], [1511 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.1, i64 0, i64 0))
ret void
}