void freset_handler(int *param_1)

{
  int iVar1;
  char *pcVar2;
  sysinfo local_48;
  
  sloop_register_timeout(1,0,freset_handler,param_1);
  iVar1 = gpio_in(10);
  if (iVar1 == 0) {
    if (*param_1 < 1) {
      sysinfo(&local_48);
      *param_1 = local_48.uptime;
      puts("FRESET button pushed !");
    }
    else {
      sysinfo(&local_48);
      param_1[1] = local_48.uptime - *param_1;
      printf("FRESET button pushded for %d secs\n");
    }
    if (param_1[1] == o_freset_time) {
      status_set_led(0);
    }
  }
  else {
    if (0 < *param_1) {
      status_set_led(2);
      if (param_1[1] < o_freset_time) {
        pcVar2 = "event REBOOT";
      }
      else {
        pcVar2 = "event FRESET";
      }
      mysystem(pcVar2)   //possible issue identified - semgrep
    }
    param_1[1] = 0;
    *param_1 = 0;
  }
  return;
}