Esempio n. 1
0
/*
 * Parse and match "echo.daemon = 0/1", "echo.port = <n>" etc.
 */
static void echo_config (const char *name, const char *value)
{
  static struct config_table echo_cfg[] = {
                { "DAEMON", ARG_ATOI,    &do_echo   },
                { "HOST",   ARG_RESOLVE, &echo_host },
                { "PORT",   ARG_ATOI,    &echo_port },
                { NULL }
              };
  static struct config_table disc_cfg[] = {
                { "DAEMON", ARG_ATOI,    &do_disc   },
                { "HOST",   ARG_RESOLVE, &disc_host },
                { "PORT",   ARG_ATOI,    &disc_port },
                { NULL }
              };

  if (!parse_config_table(&echo_cfg[0], "ECHO.", name, value) &&
      !parse_config_table(&disc_cfg[0], "DISCARD.", name, value))
  {
    if (prev_hook)
      (*prev_hook) (name, value);
  }
}
Esempio n. 2
0
File: tftp.c Progetto: basecq/q2dos
static void tftp_cfg_hook (const char *name, const char *value)
{
  static const struct config_table tftp_cfg[] = {
            { "BOOT_FILE", ARG_FUNC,    (void*)tftp_set_boot_fname },
            { "SERVER",    ARG_RESOLVE, (void*)&tftp_server        },
            { "TIMEOUT",   ARG_ATOI,    (void*)&tftp_timeout       },
            { "RETRY",     ARG_ATOI,    (void*)&tftp_retry         },
            { "MODE",      ARG_FUNC,    (void*)tftp_set_xfer_mode  },
            { "OPENMODE",  ARG_STRDUP,  (void*)&tftp_openmode      },
            { "PORT",      ARG_ATOI,    (void*)&tftp_lport         },
            { NULL,        0,           NULL                       }
          };
  if (!parse_config_table(tftp_cfg, "TFTP.", name, value) && prev_hook)
     (*prev_hook) (name, value);
}
Esempio n. 3
0
static void pppoe_config (const char *name, const char *value)
{
  static const struct config_table pppoe_cfg[] = {
       { "ENABLE",      ARG_ATOI,   (void*)&cfg.enable          },
       { "TRACE",       ARG_ATOI,   (void*)&cfg.trace           },
       { "TIMEOUT",     ARG_ATOI,   (void*)&cfg.timeout         },
       { "RETRIES",     ARG_ATOI,   (void*)&cfg.retries         },
       { "LCP_ECHO",    ARG_ATOI,   (void*)&cfg.lcpEchoInterval },
       { "SERVICENAME", ARG_STRCPY, (void*)&cfg.serviceName     },
       { "USER",        ARG_STRCPY, (void*)&cfg.userName        },
       { "PASSWD",      ARG_STRCPY, (void*)&cfg.password        },
       { NULL,          0,          NULL                        }
     };
  if (!parse_config_table(&pppoe_cfg[0], "PPPOE.", name, value) && prev_hook)
     (*prev_hook) (name, value);
}
Esempio n. 4
0
static void SlipConfig (const char *name, const char *value)
{
  static const struct config_table slip_cfg[] = {
            { "DIAL",    ARG_FUNC,   (void*)do_dial        },
            { "USER",    ARG_STRCPY, (void*)&slip_user     },
            { "PASSWD",  ARG_STRCPY, (void*)&slip_passwd   },
            { "TIMEOUT", ARG_ATOI,   (void*)&slip_timeout  },
            { "BASE",    ARG_ATOX_W, (void*)&slip_base_reg },
            { NULL }
          };

  if ((_pktdevclass != PDCLASS_SLIP ||
       !parse_config_table(&slip_cfg[0], "SLIP.", name, value)) &&
      prev_hook)
     (*prev_hook) (name, value);
}
Esempio n. 5
0
static void resolver_init (const char *name, const char *value)
{
  if (!parse_config_table(&bind_cfg[0], "BIND.", name, value) && prev_hook)
     (*prev_hook) (name, value);
}