1/* 2 Unix SMB/CIFS implementation. 3 Samba utility functions 4 Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2008 5 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. 10 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. 15 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/>. 18*/ 19 20#ifndef _PROVISION_H_ 21#define _PROVISION_H_ 22 23struct 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}; 39 40/* FIXME: Rename this to hostconfig ? */ 41struct provision_result { 42 const char *domaindn; 43 struct ldb_context *samdb; 44 struct loadparm_context *lp_ctx; 45}; 46 47struct provision_store_self_join_settings { 48 const char *domain_name; 49 const char *realm; 50 const char *netbios_name; 51 const char *account_name; 52 enum netr_SchannelType secure_channel_type; 53 const char *machine_password; 54 int key_version_number; 55 struct dom_sid *domain_sid; 56}; 57 58NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx, 59 struct provision_settings *settings, 60 struct provision_result *result); 61 62NTSTATUS 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); 66 67#endif /* _PROVISION_H_ */ 68