s4:dns_server: make sure dns_common_lookup() doesn't return tombstones
[metze/samba/wip.git] / source4 / dns_server / dnsserver_common.h
1 /*
2    Unix SMB/CIFS implementation.
3
4    DNS server utils
5
6    Copyright (C) 2014 Stefan Metzmacher
7
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 3 of the License, or
11    (at your option) any later version.
12
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17
18    You should have received a copy of the GNU General Public License
19    along with this program.  If not, see <http://www.gnu.org/licenses/>.
20 */
21
22 #ifndef __DNSSERVER_COMMON_H__
23 #define __DNSSERVER_COMMON_H__
24
25 uint8_t werr_to_dns_err(WERROR werr);
26 #define DNS_ERR(err_str) WERR_DNS_ERROR_RCODE_##err_str
27
28 struct ldb_message_element;
29
30 WERROR dns_common_extract(const struct ldb_message_element *el,
31                           TALLOC_CTX *mem_ctx,
32                           struct dnsp_DnssrvRpcRecord **records,
33                           uint16_t *num_records);
34
35 WERROR dns_common_lookup(struct ldb_context *samdb,
36                          TALLOC_CTX *mem_ctx,
37                          struct ldb_dn *dn,
38                          struct dnsp_DnssrvRpcRecord **records,
39                          uint16_t *num_records,
40                          bool *tombstoned);
41
42 WERROR dns_common_replace(struct ldb_context *samdb,
43                           TALLOC_CTX *mem_ctx,
44                           struct ldb_dn *dn,
45                           bool needs_add,
46                           uint32_t serial,
47                           struct dnsp_DnssrvRpcRecord *records,
48                           uint16_t rec_count);
49
50 #endif /* __DNSSERVER_COMMON_H__ */