/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
undefined4 main(int param_1,char **param_2)
{
int iVar1;
undefined4 uVar2;
while( true ) {
while( true ) {
iVar1 = getopt(param_1,param_2,"hdf:") //possible issue identified - semgrep
if (iVar1 < 1) {
printf("Factory reset time : %d secs\n",o_freset_time);
sloop_init(0);
sloop_register_signal(0xf,sig_term,0);
sloop_register_signal(2,sig_term,0);
sloop_register_signal(9,sig_term,0);
sloop_register_signal(0xd,sig_ignore,0);
sloop_register_signal(0xe,sig_term,0);
sloop_register_signal(0x10,sig_ignore,0);
sloop_register_signal(0x11,sig_ignore,0);
gpio_outen(0,0);
gpio_outen(10,0);
gpio_outen(9,1);
gpio_outen(0xd,1);
gpio_outen(0xc,1);
gpio_outen(0xe,1);
sloop_register_timeout(0,0,wpspb_handler,&wpspb_data);
sloop_register_timeout(0,0,freset_handler,&freset_data);
wps_set_led(0);
inet_set_led(1);
status_set_led(0);
layout_set(1);
usock_data = usock_open(1,"/var/gpio_ctrl") //possible issue identified - semgrep
if (usock_data == 0) {
fputs("Unable to create unix domain socket !!!\n",_stderr);
}
else {
uVar2 = usock_fd(usock_data);
DAT_004161c4 = sloop_register_read_sock(uVar2,usock_handler,&usock_data);
}
sloop_run();
if (DAT_004161c4 != 0) {
sloop_cancel_read_sock();
}
if (usock_data != 0) {
usock_close();
}
gpio_out(9,1);
gpio_out(0xc,0);
gpio_out(0xe,1);
gpio_out(0xd,1);
return 0;
}
if (iVar1 != 0x66) break;
o_freset_time = atoi(_optarg);
}
if (iVar1 == 0x68) break;
if (iVar1 != 100) {
puts(
"Usage: gpiod [OPTIONS]\n -h show this help message.\n -d debug mode.\n -f {seconds} specify the time of seconds that active factory reset. (default is 3)"
);
iVar1 = -1;
goto LAB_0040170c;
}
o_debug = 1;
}
puts(
"Usage: gpiod [OPTIONS]\n -h show this help message.\n -d debug mode.\n -f {seconds} specify the time of seconds that active factory reset. (default is 3)"
);
iVar1 = 0;
LAB_0040170c:
/* WARNING: Subroutine does not return */
exit(iVar1);
}