2006-05-05 23:24:48 +04:00
/*
* Unix SMB / CIFS implementation .
* Internal DNS query structures
* Copyright ( C ) Gerald Carter 2006.
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
2007-07-09 23:25:36 +04:00
* the Free Software Foundation ; either version 3 of the License , or
2006-05-05 23:24:48 +04:00
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
2007-07-10 09:23:25 +04:00
* along with this program ; if not , see < http : //www.gnu.org/licenses/>.
2006-05-05 23:24:48 +04:00
*/
2020-11-29 19:57:52 +03:00
# ifndef __LIB_ADDNS_DNSQUERY_H__
# define __LIB_ADDNS_DNSQUERY_H__
2006-05-05 23:24:48 +04:00
2018-01-03 15:26:54 +03:00
# include "replace.h"
# include <tevent.h>
2011-04-26 03:49:08 +04:00
# include "libcli/dns/dns.h"
2006-07-20 00:53:10 +04:00
2010-07-01 00:36:40 +04:00
/* The following definitions come from libads/dns.c */
2006-05-05 23:24:48 +04:00
2018-01-03 15:26:54 +03:00
struct tevent_req * ads_dns_lookup_srv_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
const char * name ) ;
NTSTATUS ads_dns_lookup_srv_recv ( struct tevent_req * req ,
TALLOC_CTX * mem_ctx ,
struct dns_rr_srv * * srvs ,
size_t * num_srvs ) ;
2012-05-05 07:07:14 +04:00
NTSTATUS ads_dns_lookup_srv ( TALLOC_CTX * ctx ,
const char * name ,
struct dns_rr_srv * * dclist ,
2020-09-09 01:45:32 +03:00
size_t * numdcs ) ;
2018-01-03 18:22:24 +03:00
struct tevent_req * ads_dns_lookup_ns_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
const char * name ) ;
NTSTATUS ads_dns_lookup_ns_recv ( struct tevent_req * req ,
TALLOC_CTX * mem_ctx ,
struct dns_rr_ns * * nss ,
size_t * num_nss ) ;
2010-07-01 00:36:40 +04:00
NTSTATUS ads_dns_lookup_ns ( TALLOC_CTX * ctx ,
const char * dnsdomain ,
struct dns_rr_ns * * nslist ,
2020-09-10 18:19:37 +03:00
size_t * numns ) ;
2020-07-18 00:21:09 +03:00
struct tevent_req * ads_dns_lookup_a_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
const char * name ) ;
NTSTATUS ads_dns_lookup_a_recv ( struct tevent_req * req ,
TALLOC_CTX * mem_ctx ,
uint8_t * rcode_out ,
size_t * num_names_out ,
char * * * hostnames_out ,
struct samba_sockaddr * * addrs_out ) ;
NTSTATUS ads_dns_lookup_a ( TALLOC_CTX * ctx ,
const char * name_in ,
size_t * num_names_out ,
char * * * hostnames_out ,
struct samba_sockaddr * * addrs_out ) ;
2020-07-18 00:30:02 +03:00
# if defined(HAVE_IPV6)
struct tevent_req * ads_dns_lookup_aaaa_send ( TALLOC_CTX * mem_ctx ,
struct tevent_context * ev ,
const char * name ) ;
NTSTATUS ads_dns_lookup_aaaa_recv ( struct tevent_req * req ,
TALLOC_CTX * mem_ctx ,
uint8_t * rcode_out ,
size_t * num_names_out ,
char * * * hostnames_out ,
struct samba_sockaddr * * addrs_out ) ;
NTSTATUS ads_dns_lookup_aaaa ( TALLOC_CTX * ctx ,
const char * name_in ,
size_t * num_names_out ,
char * * * hostnames_out ,
struct samba_sockaddr * * addrs_out ) ;
# endif
2020-07-18 00:21:09 +03:00
2010-07-01 00:36:40 +04:00
NTSTATUS ads_dns_query_dcs ( TALLOC_CTX * ctx ,
const char * realm ,
const char * sitename ,
struct dns_rr_srv * * dclist ,
2020-09-10 18:19:37 +03:00
size_t * numdcs ) ;
2010-07-01 00:36:40 +04:00
NTSTATUS ads_dns_query_gcs ( TALLOC_CTX * ctx ,
const char * realm ,
const char * sitename ,
struct dns_rr_srv * * dclist ,
2020-09-10 18:19:37 +03:00
size_t * numdcs ) ;
2010-07-01 00:36:40 +04:00
NTSTATUS ads_dns_query_kdcs ( TALLOC_CTX * ctx ,
const char * dns_forest_name ,
const char * sitename ,
struct dns_rr_srv * * dclist ,
2020-09-10 18:19:37 +03:00
size_t * numdcs ) ;
2010-07-01 00:36:40 +04:00
NTSTATUS ads_dns_query_pdc ( TALLOC_CTX * ctx ,
const char * dns_domain_name ,
struct dns_rr_srv * * dclist ,
2020-09-10 18:19:37 +03:00
size_t * numdcs ) ;
2010-07-01 00:36:40 +04:00
NTSTATUS ads_dns_query_dcs_guid ( TALLOC_CTX * ctx ,
const char * dns_forest_name ,
2012-05-05 06:32:47 +04:00
const char * domain_guid ,
2010-07-01 00:36:40 +04:00
struct dns_rr_srv * * dclist ,
2020-09-10 18:19:37 +03:00
size_t * numdcs ) ;
2020-11-29 19:57:52 +03:00
# endif /* __LIB_ADDNS_DNSQUERY_H__ */