From: Martin Mares Date: Mon, 6 Dec 1999 13:44:45 +0000 (+0000) Subject: Moved initialization of protocol list to proto.c. X-Git-Tag: v1.2.0~1396 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c0cc76ed76100ef8492f13eeec1e061d52b9be0;p=thirdparty%2Fbird.git Moved initialization of protocol list to proto.c. Added sysdep configuration hooks. --- diff --git a/conf/conf.c b/conf/conf.c index 4e2f920d1..ea65183b8 100644 --- a/conf/conf.c +++ b/conf/conf.c @@ -31,7 +31,6 @@ config_alloc(byte *name) c->pool = p; cfg_mem = c->mem = l; - init_list(&c->protos); c->file_name = cfg_strdup(name); return c; } @@ -45,6 +44,7 @@ config_parse(struct config *c) if (setjmp(conf_jmpbuf)) return 0; cf_lex_init(0); + sysdep_preconfig(c); protos_preconfig(c); rt_preconfig(c); cf_parse(); @@ -80,6 +80,7 @@ void config_commit(struct config *c) { config = c; + sysdep_commit(c); rt_commit(c); protos_commit(c); } diff --git a/conf/conf.h b/conf/conf.h index 957ce4434..b0a381182 100644 --- a/conf/conf.h +++ b/conf/conf.h @@ -18,6 +18,7 @@ struct config { linpool *mem; /* Linear pool containing configuration data */ list protos; /* Configured protocol instances (struct proto_config) */ list tables; /* Configured routing tables (struct rtable_config) */ + list logfiles; /* Configured log fils (sysdep) */ struct rtable_config *master_rtc; /* Configuration of master routing table */ u32 router_id; /* Our Router ID */ char *err_msg; /* Parser error message */ @@ -83,4 +84,9 @@ void cf_pop_scope(void); int cf_parse(void); +/* Sysdep hooks */ + +void sysdep_preconfig(struct config *); +void sysdep_commit(struct config *); + #endif diff --git a/nest/proto.c b/nest/proto.c index a0beb5fb8..ab7de0f6f 100644 --- a/nest/proto.c +++ b/nest/proto.c @@ -155,6 +155,7 @@ protos_preconfig(struct config *c) init_list(&inactive_proto_list); init_list(&initial_proto_list); init_list(&flush_proto_list); + init_list(&c->protos); debug("Protocol preconfig:"); WALK_LIST(p, protocol_list) {