1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
/*
* Copyright (C) 1999, 2000 Internet Software Consortium.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
* CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
* DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
* PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
* ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
* SOFTWARE.
*/
#ifndef DNS_CONFIG_CONFRESOLV_H
#define DNS_CONFIG_CONFRESOLV_H 1
/*****
***** Module Info
*****/
/*
* A container for the resolver configuration data pulled from a
* named.conf-style config file.
*/
/*
*
* MP:
* Client must do necessary locking.
*
* Reliability:
*
* No problems.
*
* Resources:
*
* Use memory managers supplied by client.
*
* Security:
*
* N/A
*
*/
/***
*** Imports
***/
#include <config.h>
#include <isc/types.h>
/***
*** Types
***/
typedef struct dns_c_resolv dns_c_resolv_t;
struct dns_c_resolv
{
isc_mem_t *mem;
/* XXX need this fleshed out */
};
/***
*** Functions
***/
isc_result_t dns_c_resolv_new(isc_mem_t *mem, dns_c_resolv_t **cfgres);
/*
* Creates a new resolver-config object.
*
* Requires:
* mem be a pointer to a valid memory manager.
* newres be a valid non-NULL pointer.
*
* Returns:
* ISC_R_SUCCESS -- all is well
* ISC_R_NOMEMORY -- out of memory
*
*/
isc_result_t dns_c_resolv_delete(dns_c_resolv_t **cfgres);
/*
* Deletes the config-resolv object and its contents.
*
* Requires:
* cfgres be a valid non-NULL pointer. The pointer it points to
* can be NULL or must be a valid dns_c_resolv_t object.
*
* Returns:
* ISC_R_SUCCESS -- all is well
*
*/
#endif /* DNS_CONFIG_CONFRESOLV_H */
|