udb_base
namedb_read_zonefile(struct nsd* nsd, struct zone* zone, udb_base* taskudb,
void namedb_check_zonefile(struct nsd* nsd, udb_base* taskudb,
udb_base* taskudb, udb_ptr* last_task)
struct nsd_options* ATTR_UNUSED(opt), udb_base* taskudb, uint32_t xfrfilenr)
struct udb_base* task_file_create(const char* file)
task_create_new_elem(struct udb_base* udb, udb_ptr* last, udb_ptr* e,
void task_new_soainfo(struct udb_base* udb, udb_ptr* last, struct zone* z,
void task_process_sync(struct udb_base* taskudb)
void task_remap(struct udb_base* taskudb)
void task_clear(struct udb_base* taskudb)
void task_new_expire(struct udb_base* udb, udb_ptr* last,
void task_new_check_zonefiles(udb_base* udb, udb_ptr* last,
void task_new_write_zonefiles(udb_base* udb, udb_ptr* last,
void task_new_set_verbosity(udb_base* udb, udb_ptr* last, int v)
task_new_add_zone(udb_base* udb, udb_ptr* last, const char* zone,
task_new_del_zone(udb_base* udb, udb_ptr* last, const dname_type* dname)
void task_new_add_key(udb_base* udb, udb_ptr* last, struct key_options* key)
void task_new_del_key(udb_base* udb, udb_ptr* last, const char* name)
void task_new_cookies(udb_base* udb, udb_ptr* last, int answer_cookie,
void task_new_add_pattern(udb_base* udb, udb_ptr* last,
void task_new_del_pattern(udb_base* udb, udb_ptr* last, const char* name)
void task_new_opt_change(udb_base* udb, udb_ptr* last, struct nsd_options* opt)
void task_new_zonestat_inc(udb_base* udb, udb_ptr* last, unsigned sz)
task_new_apply_xfr(udb_base* udb, udb_ptr* last, const dname_type* dname,
task_process_checkzones(struct nsd* nsd, udb_base* taskudb, udb_ptr* last_task,
task_process_add_zone(struct nsd* nsd, udb_base* udb, udb_ptr* last_task,
task_process_zonestat_inc(struct nsd* nsd, udb_base* udb, udb_ptr *last_task,
task_process_apply_xfr(struct nsd* nsd, udb_base* udb, udb_ptr* task)
void task_process_in_reload(struct nsd* nsd, udb_base* udb, udb_ptr *last_task,
struct udb_base* task_file_create(const char* file);
void task_remap(udb_base* udb);
void task_process_sync(udb_base* udb);
void task_clear(udb_base* udb);
void task_new_soainfo(udb_base* udb, udb_ptr* last, struct zone* z, enum soainfo_hint hint);
void task_new_expire(udb_base* udb, udb_ptr* last,
void task_new_check_zonefiles(udb_base* udb, udb_ptr* last,
void task_new_write_zonefiles(udb_base* udb, udb_ptr* last,
void task_new_set_verbosity(udb_base* udb, udb_ptr* last, int v);
void task_new_add_zone(udb_base* udb, udb_ptr* last, const char* zone,
void task_new_del_zone(udb_base* udb, udb_ptr* last, const dname_type* dname);
void task_new_add_key(udb_base* udb, udb_ptr* last, struct key_options* key);
void task_new_del_key(udb_base* udb, udb_ptr* last, const char* name);
void task_new_add_pattern(udb_base* udb, udb_ptr* last,
void task_new_del_pattern(udb_base* udb, udb_ptr* last, const char* name);
void task_new_opt_change(udb_base* udb, udb_ptr* last, struct nsd_options* opt);
void task_new_zonestat_inc(udb_base* udb, udb_ptr* last, unsigned sz);
void task_new_cookies(udb_base* udb, udb_ptr* last, int answer_cookie,
int task_new_apply_xfr(udb_base* udb, udb_ptr* last, const dname_type* zone,
void task_process_apply_xfr(struct nsd* nsd, udb_base* udb, udb_ptr *task);
void task_process_in_reload(struct nsd* nsd, udb_base* udb, udb_ptr *last_task,
struct nsd_options* opt, udb_base* taskudb, uint32_t xfrfilenr);
struct udb_base;
struct udb_base* taskudb, struct udb_ptr* last_task);
void namedb_check_zonefile(struct nsd* nsd, struct udb_base* taskudb,
struct udb_base* taskudb, struct udb_ptr* last_task);
struct udb_base* taskudb;
struct udb_base* task[2];
struct udb_base;
add_all_soa_to_task(struct nsd* nsd, struct udb_base* taskudb)
struct udb_base* taskudb = nsd->task[nsd->mytask];
udb_base* u = nsd->task[nsd->mytask];
udb_base* u = nsd->task[nsd->mytask];
chunk_fix_ptrs(void* base, udb_base* udb, udb_chunk_d* cp, udb_void data,
move_xl_segment(void* base, udb_base* udb, udb_void xl, udb_void n,
udb_compact(udb_base* udb)
void udb_compact_inhibited(udb_base* udb, int inhibit)
int udb_valid_offset(udb_base* udb, udb_void to, size_t destsize)
int udb_valid_dataptr(udb_base* udb, udb_void to)
int udb_valid_rptr(udb_base* udb, udb_void rptr, udb_void to)
udb_check_ptrs_valid(udb_base* udb)
void udb_ptr_init(udb_ptr* ptr, udb_base* udb)
void udb_ptr_set(udb_ptr* ptr, udb_base* udb, udb_void newval)
int udb_ptr_alloc_space(udb_ptr* ptr, udb_base* udb, udb_chunk_type type,
void udb_ptr_free_space(udb_ptr* ptr, udb_base* udb, size_t sz)
udb_base* udb_base_create_read(const char* fname, udb_walk_relptr_func walkfunc,
udb_base* udb_base_create_new(const char* fname, udb_walk_relptr_func walkfunc,
udb_base_shrink(udb_base* udb, uint64_t nsize)
static void move_xl_segment(void* base, udb_base* udb, udb_void xl,
void udb_base_close(udb_base* udb)
void udb_base_free(udb_base* udb)
void udb_base_free_keep_mmap(udb_base* udb)
void udb_base_sync(udb_base* udb, int wait)
int udb_ptr_is_on_bucket(udb_base* udb, udb_ptr* ptr, udb_void to)
grow_ram_hash(udb_base* udb, udb_ptr** newhash)
void udb_base_link_ptr(udb_base* udb, udb_ptr* ptr)
void udb_base_unlink_ptr(udb_base* udb, udb_ptr* ptr)
udb_base_ram_ptr_edit(udb_base* udb, udb_void old, udb_void newd)
udb_rel_ptr* udb_base_get_userdata(udb_base* udb)
void udb_base_set_userdata(udb_base* udb, udb_void user)
void udb_base_set_userflags(udb_base* udb, uint8_t v)
uint8_t udb_base_get_userflags(udb_base* udb)
udb_base_remap(udb_base* udb, udb_alloc* alloc, uint64_t nsize)
udb_base_remap_process(udb_base* udb)
udb_base_grow_and_remap(udb_base* udb, uint64_t nsize)
fsck_fsize(udb_base* udb, udb_alloc* alloc)
udb_base*
regen_its_ptrs(void* base, udb_base* udb, udb_chunk_d* atp,
udb_base* udb = (udb_base*)xalloc_zero(sizeof(*udb));
regen_ptrlist(void* base, udb_base* udb, udb_alloc* alloc,
fsck_rb_xl(void* base, udb_base* udb, udb_void rb_old, udb_void rb_new,
fsck_file(udb_base* udb, udb_alloc* alloc, int moved)
udb_alloc* udb_alloc_create(udb_base* udb, udb_alloc_d* disk)
udb_base* udb;
udb_base* udb_base_create_read(const char* fname, udb_walk_relptr_func walkfunc,
udb_base* udb_base_create_new(const char* fname, udb_walk_relptr_func walkfunc,
udb_base* udb_base_create_fd(const char* fname, int fd,
void udb_base_close(udb_base* udb);
void udb_base_free(udb_base* udb);
void udb_base_free_keep_mmap(udb_base* udb);
void udb_base_sync(udb_base* udb, int wait);
typedef struct udb_base udb_base;
void udb_base_remap_process(udb_base* udb);
udb_rel_ptr* udb_base_get_userdata(udb_base* udb);
void udb_base_set_userdata(udb_base* udb, udb_void user);
void udb_base_set_userflags(udb_base* udb, uint8_t v);
uint8_t udb_base_get_userflags(udb_base* udb);
void udb_base_link_ptr(udb_base* udb, udb_ptr* ptr);
void udb_base_unlink_ptr(udb_base* udb, udb_ptr* ptr);
udb_alloc* udb_alloc_create(udb_base* udb, udb_alloc_d* disk);
int udb_compact(udb_base* udb);
void udb_compact_inhibited(udb_base* udb, int inhibit);
int udb_valid_offset(udb_base* udb, udb_void to, size_t destsize);
int udb_valid_dataptr(udb_base* udb, udb_void to);
int udb_valid_rptr(udb_base* udb, udb_void rptr, udb_void to);
void udb_ptr_init(udb_ptr* ptr, udb_base* udb);
void udb_ptr_set(udb_ptr* ptr, udb_base* udb, udb_void newval);
int udb_ptr_alloc_space(udb_ptr* ptr, udb_base* udb, udb_chunk_type type,
void udb_ptr_free_space(udb_ptr* ptr, udb_base* udb, size_t sz);
static inline void udb_ptr_new(udb_ptr* ptr, udb_base* udb, udb_rel_ptr* d) {
static inline void udb_ptr_unlink(udb_ptr* ptr, udb_base* udb) {
static inline void udb_rptr_set_rptr(udb_rel_ptr* dest, udb_base* udb,
static inline void udb_rptr_set_ptr(udb_rel_ptr* dest, udb_base* udb,
static inline void udb_ptr_set_rptr(udb_ptr* dest, udb_base* udb,
static inline void udb_ptr_set_ptr(udb_ptr* dest, udb_base* udb, udb_ptr* p) {
static inline void udb_rptr_zero(udb_rel_ptr* dest, udb_base* udb) {
static inline void udb_ptr_zero(udb_ptr* dest, udb_base* udb) {
static inline void udb_rel_ptr_free_space(udb_rel_ptr* ptr, udb_base* udb,
void xfrd_process_task_result(xfrd_state_type* xfrd, struct udb_base* taskudb)
xfrd_clean_pending_tasks(struct nsd* nsd, udb_base* u)
static void xfrd_clean_pending_tasks(struct nsd* nsd, udb_base* u);
struct udb_base* xtask = xfrd->nsd->task[xfrd->nsd->mytask];
void xfrd_process_task_result(xfrd_state_type* xfrd, struct udb_base* taskudb);