# HG changeset patch # User Binki # Date 2009-07-03 13:44:07 # Node ID 7d0e4d9e6bc51212dd9da7a0ef3f5618fd2706a8 # Parent 3515e1ac7ff1aec8fc0c7b5a9ce9550af12bddcd some sample pre-listening code diff --git a/src/server/distrend.c b/src/server/distrend.c --- a/src/server/distrend.c +++ b/src/server/distrend.c @@ -95,7 +95,43 @@ we get a key generated on the server, an return 0; } +struct distrend_config +{ + cfg_t *mycfg; + struct options_common *options; + + struct distrend_listen **listens; /*< Null terminated array of structs */ + +} + +int distrend_do_config(int argc, char *argv[], struct distrend_config *config) +{ + cfg_opt_t myopts = + { + CFG_SEC("listen", /* this must be imported into struct listens (which must still be declared) */ + { + CFG_SIMPLE_STR("type", NULL), + CFG_SIMPLE_STR("path", NULL), + CFG_SIMPLE_INT("port", NULL) + }, + CFGF_MULTI), + CFG_END + }; + + config = malloc(sizeof(struct distrend_config)); + options_init(argc, argv, &config->mycfg, &myopts, "server", &config->options); + + return 0; +} +int distrend_config_free(struct distrend_config *config) +{ + options_free(config->options); + free(config); + + return 0; +} + // Registration on server. Needs attention. (e.g., people could make tons of accounts with the key we give them... // Set up distrend -c username email@example.com