Electroneum
Toggle main menu visibility
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
45
#include "
util/storage/dnstree.h
"
46
struct
iter_env
;
47
struct
config_file
;
48
struct
delegpt
;
49
53
struct
iter_hints
{
62
rbtree_type
tree
;
63
};
64
68
struct
iter_hints_stub
{
70
struct
name_tree_node
node
;
72
struct
delegpt
*
dp
;
74
uint8_t
noprime
;
75
};
76
81
struct
iter_hints
*
hints_create
(
void
);
82
87
void
hints_delete
(
struct
iter_hints
* hints);
88
95
int
hints_apply_cfg
(
struct
iter_hints
* hints,
struct
config_file
* cfg);
96
103
struct
delegpt
*
hints_lookup_root
(
struct
iter_hints
* hints,
uint16_t
qclass);
104
115
int
hints_next_root
(
struct
iter_hints
* hints,
uint16_t
* qclass);
116
129
struct
iter_hints_stub
*
hints_lookup_stub
(
struct
iter_hints
* hints,
130
uint8_t
* qname,
uint16_t
qclass,
struct
delegpt
*
dp
);
131
137
size_t
hints_get_mem
(
struct
iter_hints
* hints);
138
149
int
hints_add_stub
(
struct
iter_hints
* hints,
uint16_t
c,
struct
delegpt
*
dp
,
150
int
noprime
);
151
159
void
hints_delete_stub
(
struct
iter_hints
* hints,
uint16_t
c,
uint8_t
* nm);
160
161
#endif
/* ITERATOR_ITER_HINTS_H */
dnstree.h
hints_apply_cfg
int hints_apply_cfg(struct iter_hints *hints, struct config_file *cfg)
hints_next_root
int hints_next_root(struct iter_hints *hints, uint16_t *qclass)
hints_create
struct iter_hints * hints_create(void)
hints_lookup_stub
struct iter_hints_stub * hints_lookup_stub(struct iter_hints *hints, uint8_t *qname, uint16_t qclass, struct delegpt *dp)
hints_get_mem
size_t hints_get_mem(struct iter_hints *hints)
hints_delete_stub
void hints_delete_stub(struct iter_hints *hints, uint16_t c, uint8_t *nm)
hints_lookup_root
struct delegpt * hints_lookup_root(struct iter_hints *hints, uint16_t qclass)
hints_delete
void hints_delete(struct iter_hints *hints)
hints_add_stub
int hints_add_stub(struct iter_hints *hints, uint16_t c, struct delegpt *dp, int noprime)
uint16_t
unsigned short uint16_t
Definition
stdint.h:125
uint8_t
unsigned char uint8_t
Definition
stdint.h:124
config_file
Definition
config_file.h:68
delegpt
Definition
iter_delegpt.h:57
iter_env
Definition
iterator.h:104
iter_hints_stub
Definition
iter_hints.h:68
iter_hints_stub::noprime
uint8_t noprime
Definition
iter_hints.h:74
iter_hints_stub::node
struct name_tree_node node
Definition
iter_hints.h:70
iter_hints_stub::dp
struct delegpt * dp
Definition
iter_hints.h:72
iter_hints
Definition
iter_hints.h:53
iter_hints::tree
rbtree_type tree
Definition
iter_hints.h:62
name_tree_node
Definition
dnstree.h:55
rbtree_type
Definition
rbtree.h:76
external
unbound
iterator
iter_hints.h
Generated on
for Electroneum by
1.17.0