s3:libads: make use of kerberos_secrets_fetch_salt_princ() in ads_keytab_add_entry()
[metze/samba/wip.git] / source3 / libads / cldap.h
1 /*
2    Samba Unix/Linux SMB client library
3    net ads cldap functions
4    Copyright (C) 2001 Andrew Tridgell (tridge@samba.org)
5    Copyright (C) 2003 Jim McDonough (jmcd@us.ibm.com)
6    Copyright (C) 2008 Guenther Deschner (gd@samba.org)
7    Copyright (C) 2009 Stefan Metzmacher (metze@samba.org)
8
9    This program is free software; you can redistribute it and/or modify
10    it under the terms of the GNU General Public License as published by
11    the Free Software Foundation; either version 3 of the License, or
12    (at your option) any later version.
13
14    This program is distributed in the hope that it will be useful,
15    but WITHOUT ANY WARRANTY; without even the implied warranty of
16    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17    GNU General Public License for more details.
18
19    You should have received a copy of the GNU General Public License
20    along with this program.  If not, see <http://www.gnu.org/licenses/>.
21 */
22
23 #ifndef _LIBADS_CLDAP_H_
24 #define _LIBADS_CLDAP_H_
25
26 #include "../libcli/netlogon/netlogon.h"
27
28 /* The following definitions come from libads/cldap.c  */
29
30 bool check_cldap_reply_required_flags(uint32_t ret_flags,
31                                       uint32_t req_flags);
32
33 struct tevent_req *cldap_multi_netlogon_send(
34         TALLOC_CTX *mem_ctx, struct tevent_context *ev,
35         const struct tsocket_address * const *servers,
36         int num_servers,
37         const char *domain, const char *hostname, unsigned ntversion,
38         int min_servers);
39 NTSTATUS cldap_multi_netlogon_recv(
40         struct tevent_req *req, TALLOC_CTX *mem_ctx,
41         struct netlogon_samlogon_response ***responses);
42 NTSTATUS cldap_multi_netlogon(
43         TALLOC_CTX *mem_ctx,
44         const struct tsocket_address * const *servers,
45         int num_servers,
46         const char *domain, const char *hostname, unsigned ntversion,
47         int min_servers, struct timeval timeout,
48         struct netlogon_samlogon_response ***responses);
49
50 bool ads_cldap_netlogon(TALLOC_CTX *mem_ctx,
51                         struct sockaddr_storage *ss,
52                         const char *realm,
53                         uint32_t nt_version,
54                         struct netlogon_samlogon_response **reply);
55 bool ads_cldap_netlogon_5(TALLOC_CTX *mem_ctx,
56                           struct sockaddr_storage *ss,
57                           const char *realm,
58                           struct NETLOGON_SAM_LOGON_RESPONSE_EX *reply5);
59
60 #endif /* _LIBADS_CLDAP_H_ */