Electroneum
Loading...
Searching...
No Matches
iter_hints.h
Go to the documentation of this file.
1/*
2 * iterator/iter_hints.h - iterative resolver module stub and root hints.
3 *
4 * Copyright (c) 2007, NLnet Labs. All rights reserved.
5 *
6 * This software is open source.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 *
12 * Redistributions of source code must retain the above copyright notice,
13 * this list of conditions and the following disclaimer.
14 *
15 * Redistributions in binary form must reproduce the above copyright notice,
16 * this list of conditions and the following disclaimer in the documentation
17 * and/or other materials provided with the distribution.
18 *
19 * Neither the name of the NLNET LABS nor the names of its contributors may
20 * be used to endorse or promote products derived from this software without
21 * specific prior written permission.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
24 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
25 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
26 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
27 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
28 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
29 * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
31 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
32 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 */
35
42
43#ifndef ITERATOR_ITER_HINTS_H
44#define ITERATOR_ITER_HINTS_H
46struct iter_env;
47struct config_file;
48struct delegpt;
49
64
76
82
87void hints_delete(struct iter_hints* hints);
88
95int hints_apply_cfg(struct iter_hints* hints, struct config_file* cfg);
96
103struct delegpt* hints_lookup_root(struct iter_hints* hints, uint16_t qclass);
104
115int hints_next_root(struct iter_hints* hints, uint16_t* qclass);
116
130 uint8_t* qname, uint16_t qclass, struct delegpt* dp);
131
137size_t hints_get_mem(struct iter_hints* hints);
138
149int hints_add_stub(struct iter_hints* hints, uint16_t c, struct delegpt* dp,
150 int noprime);
151
159void hints_delete_stub(struct iter_hints* hints, uint16_t c, uint8_t* nm);
160
161#endif /* ITERATOR_ITER_HINTS_H */
int hints_apply_cfg(struct iter_hints *hints, struct config_file *cfg)
int hints_next_root(struct iter_hints *hints, uint16_t *qclass)
struct iter_hints * hints_create(void)
struct iter_hints_stub * hints_lookup_stub(struct iter_hints *hints, uint8_t *qname, uint16_t qclass, struct delegpt *dp)
size_t hints_get_mem(struct iter_hints *hints)
void hints_delete_stub(struct iter_hints *hints, uint16_t c, uint8_t *nm)
struct delegpt * hints_lookup_root(struct iter_hints *hints, uint16_t qclass)
void hints_delete(struct iter_hints *hints)
int hints_add_stub(struct iter_hints *hints, uint16_t c, struct delegpt *dp, int noprime)
unsigned short uint16_t
Definition stdint.h:125
unsigned char uint8_t
Definition stdint.h:124
uint8_t noprime
Definition iter_hints.h:74
struct name_tree_node node
Definition iter_hints.h:70
struct delegpt * dp
Definition iter_hints.h:72
rbtree_type tree
Definition iter_hints.h:62