waf: add k5crypto to the list of system libraries if they are reported by the krb5con...
[Samba.git] / source4 / param / provision.h
blob2f6f582e5d55d24466947d786b2dd2904c2039c4
1 /*
2 Unix SMB/CIFS implementation.
3 Samba utility functions
4 Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2008
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #ifndef _PROVISION_H_
21 #define _PROVISION_H_
23 struct provision_settings {
24 const char *site_name;
25 const char *root_dn_str;
26 const char *domain_dn_str;
27 const char *config_dn_str;
28 const char *schema_dn_str;
29 const char *server_dn_str;
30 const struct GUID *invocation_id;
31 const char *netbios_name;
32 const char *host_ip;
33 const char *realm;
34 const char *domain;
35 const char *ntds_dn_str;
36 const char *machine_password;
37 const char *targetdir;
38 bool use_ntvfs;
41 /* FIXME: Rename this to hostconfig ? */
42 struct provision_result {
43 const char *domaindn;
44 struct ldb_context *samdb;
45 struct loadparm_context *lp_ctx;
48 struct provision_store_self_join_settings {
49 const char *domain_name;
50 const char *realm;
51 const char *netbios_name;
52 enum netr_SchannelType secure_channel_type;
53 const char *machine_password;
54 int key_version_number;
55 struct dom_sid *domain_sid;
58 NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
59 struct provision_settings *settings,
60 struct provision_result *result);
62 NTSTATUS provision_store_self_join(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
63 struct tevent_context *ev_ctx,
64 struct provision_store_self_join_settings *settings,
65 const char **error_string);
67 struct ldb_context *provision_get_schema(TALLOC_CTX *mem_ctx,
68 struct loadparm_context *lp_ctx,
69 const char *schema_dn,
70 DATA_BLOB *override_prefixmap);
72 #endif /* _PROVISION_H_ */