From fba7c63ea4514a9f4ce7d36eba3d9f4bc1ebe639 Mon Sep 17 00:00:00 2001 From: Brian Wellington Date: Thu, 22 Feb 2001 23:59:28 +0000 Subject: [PATCH] add cfg_obj_assockaddr --- lib/isccfg/include/isccfg/cfg.h | 15 ++++++++++++++- lib/isccfg/parser.c | 8 +++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/lib/isccfg/include/isccfg/cfg.h b/lib/isccfg/include/isccfg/cfg.h index d3e2a431a1..23d8005e3f 100644 --- a/lib/isccfg/include/isccfg/cfg.h +++ b/lib/isccfg/include/isccfg/cfg.h @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: cfg.h,v 1.10 2001/02/22 20:41:43 gson Exp $ */ +/* $Id: cfg.h,v 1.11 2001/02/22 23:59:28 bwelling Exp $ */ #ifndef DNS_CFG_H #define DNS_CFG_H 1 @@ -216,6 +216,19 @@ cfg_obj_asboolean(cfg_obj_t *obj); * A boolean value. */ +isc_sockaddr_t * +cfg_obj_assockaddr(cfg_obj_t *obj); +/* + * Returns the value of a configuration object of a socket address type. + * + * Requires: + * 'obj' points to a valid configuration object of a socket address type. + * + * Returns: + * A pointer to a sockaddr. The sockaddr must be copied by the caller + * if necessary. + */ + cfg_listelt_t * cfg_list_first(cfg_obj_t *obj); /* diff --git a/lib/isccfg/parser.c b/lib/isccfg/parser.c index 2b395cff9b..5d594fea77 100644 --- a/lib/isccfg/parser.c +++ b/lib/isccfg/parser.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: parser.c,v 1.18 2001/02/22 20:41:41 gson Exp $ */ +/* $Id: parser.c,v 1.19 2001/02/22 23:59:27 bwelling Exp $ */ #include @@ -1604,6 +1604,12 @@ cfg_obj_asboolean(cfg_obj_t *obj) { return (obj->value.boolean); } +isc_sockaddr_t * +cfg_obj_assockaddr(cfg_obj_t *obj) { + REQUIRE(obj != NULL && obj->type->rep == &cfg_rep_sockaddr); + return (&obj->value.sockaddr); +} + /* Quoted string only */ static cfg_type_t cfg_type_qstring = { "qstring", parse_qstring, print_qstring, &cfg_rep_string, NULL };