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/>.
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
;
35 const char *ntds_dn_str
;
36 const char *machine_password
;
37 const char *targetdir
;
40 /* FIXME: Rename this to hostconfig ? */
41 struct provision_result
{
43 struct ldb_context
*samdb
;
44 struct loadparm_context
*lp_ctx
;
47 struct provision_store_self_join_settings
{
48 const char *domain_name
;
50 const char *netbios_name
;
51 enum netr_SchannelType secure_channel_type
;
52 const char *machine_password
;
53 int key_version_number
;
54 struct dom_sid
*domain_sid
;
57 NTSTATUS
provision_bare(TALLOC_CTX
*mem_ctx
, struct loadparm_context
*lp_ctx
,
58 struct provision_settings
*settings
,
59 struct provision_result
*result
);
61 NTSTATUS
provision_store_self_join(TALLOC_CTX
*mem_ctx
, struct loadparm_context
*lp_ctx
,
62 struct tevent_context
*ev_ctx
,
63 struct provision_store_self_join_settings
*settings
,
64 const char **error_string
);
66 struct ldb_context
*provision_get_schema(TALLOC_CTX
*mem_ctx
, struct loadparm_context
*lp_ctx
);
68 #endif /* _PROVISION_H_ */