This file contains functions to enable named views that can hold local zone authority service. More...
#include "config.h"
#include "services/view.h"
#include "services/localzone.h"
#include "util/config_file.h"
Functions | |
int | view_cmp (const void *v1, const void *v2) |
Compare two view entries in rbtree. More... | |
struct views * | views_create (void) |
Create views storage. More... | |
void | respip_set_delete (struct respip_set *set) |
Delete response IP set. More... | |
void | view_delete (struct view *v) |
Delete one view. More... | |
static void | delviewnode (rbnode_type *n, void *ATTR_UNUSED(arg)) |
void | views_delete (struct views *v) |
Delete views storage. More... | |
static struct view * | view_create (char *name) |
create a new view | |
static struct view * | views_enter_view_name (struct views *vs, char *name) |
enter a new view returns with WRlock | |
int | views_apply_cfg (struct views *vs, struct config_file *cfg) |
Apply config settings; Takes care of locking. More... | |
struct view * | views_find_view (struct views *vs, const char *name, int write) |
find a view by name More... | |
void | views_print (struct views *v) |
Debug helper. More... | |
This file contains functions to enable named views that can hold local zone authority service.
int view_cmp | ( | const void * | v1, |
const void * | v2 | ||
) |
Compare two view entries in rbtree.
Sort canonical.
v1 | view 1 |
v2 | view 2 |
References view::name.
Referenced by views_create().
struct views* views_create | ( | void | ) |
Create views storage.
References views::lock, rbtree_init(), view_cmp(), and views::vtree.
Referenced by daemon_fork(), respip_view_conf_data_test(), and view_and_respipchecks().
void respip_set_delete | ( | struct respip_set * | set | ) |
Delete response IP set.
set | to delete. |
References regional_destroy(), resp_addr_del(), and traverse_postorder().
Referenced by daemon_cleanup(), respip_conf_data_test(), rpz_clear(), rpz_delete(), and view_delete().
void view_delete | ( | struct view * | v | ) |
Delete one view.
v | view to delete. |
References view::local_zones, local_zones_delete(), view::lock, view::name, view::respip_set, and respip_set_delete().
Referenced by views_enter_view_name().
void views_delete | ( | struct views * | v | ) |
Delete views storage.
v | views to delete. |
References views::lock, traverse_postorder(), and views::vtree.
Referenced by daemon_cleanup(), and respip_view_conf_data_test().
int views_apply_cfg | ( | struct views * | v, |
struct config_file * | cfg | ||
) |
Apply config settings; Takes care of locking.
v | view is set up. |
cfg | config data. |
References cfg_str2list_insert(), view::isfirst, config_view::isfirst, config_file::local_data, config_view::local_data, view::local_zones, config_file::local_zones, config_view::local_zones, local_zones_apply_cfg(), local_zones_create(), config_file::local_zones_disable_default, config_file::local_zones_nodefault, config_view::local_zones_nodefault, view::lock, log_err(), config_view::name, config_view::next, config_strlist::next, config_strlist::str, config_file::views, and views_enter_view_name().
Referenced by respip_view_conf_data_test().
find a view by name
Find a view by name.
References rbnode_type::key, views::lock, view::lock, view::name, view::node, rbtree_search(), and views::vtree.
Referenced by do_view_data_add(), do_view_data_remove(), do_view_list_local_data(), do_view_list_local_zones(), do_view_zone_add(), do_view_zone_remove(), respip_view_conf_data_test(), and respip_views_apply_cfg().
void views_print | ( | struct views * | v | ) |
Debug helper.
Print all views Takes care of locking.
v | the views tree |