libcli/smb: Fix smb2cli_write_recv() and smb2cli_write() to return the bytes written.
[Samba.git] / libcli / dns / dns.h
blob01aa6c4e6c4389e95e72358192e09f4c81db7fc9
1 /*
2 * Unix SMB/CIFS implementation.
3 * Internal DNS query structures
4 * Copyright (C) Gerald Carter 2006.
5 * Copyright (C) Andrew Bartlett 2011
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 3 of the License, or
10 * (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, see <http://www.gnu.org/licenses/>.
21 /* DNS query section in replies */
23 struct dns_query {
24 const char *hostname;
25 uint16_t type;
26 uint16_t in_class;
29 /* DNS RR record in reply */
31 struct dns_rr {
32 const char *hostname;
33 uint16_t type;
34 uint16_t in_class;
35 uint32_t ttl;
36 uint16_t rdatalen;
37 uint8_t *rdata;
40 /* SRV records */
42 struct dns_rr_srv {
43 const char *hostname;
44 uint16_t priority;
45 uint16_t weight;
46 uint16_t port;
47 size_t num_ips;
48 struct sockaddr_storage *ss_s; /* support multi-homed hosts */
51 /* NS records */
53 struct dns_rr_ns {
54 const char *hostname;
55 struct sockaddr_storage ss;
58 NTSTATUS resolve_dns_hosts_file_as_sockaddr(const char *dns_hosts_file,
59 const char *name, bool srv_lookup,
60 TALLOC_CTX *mem_ctx,
61 struct sockaddr_storage **return_iplist,
62 int *return_count);
64 NTSTATUS resolve_dns_hosts_file_as_dns_rr(const char *dns_hosts_file,
65 const char *name, bool srv_lookup,
66 TALLOC_CTX *mem_ctx,
67 struct dns_rr_srv **return_rr,
68 int *return_count);