#define _PROVISION_H_
struct provision_settings {
- const char *dns_name;
const char *site_name;
const char *root_dn_str;
const char *domain_dn_str;
const char *host_ip;
const char *realm;
const char *domain;
- const struct GUID *ntds_guid;
const char *ntds_dn_str;
const char *machine_password;
const char *targetdir;
+ bool use_ntvfs;
+};
+
+/* FIXME: Rename this to hostconfig ? */
+struct provision_result {
+ const char *domaindn;
+ struct ldb_context *samdb;
+ struct loadparm_context *lp_ctx;
+};
+
+struct provision_store_self_join_settings {
+ const char *domain_name;
+ const char *realm;
+ const char *netbios_name;
+ enum netr_SchannelType secure_channel_type;
+ const char *machine_password;
+ int key_version_number;
+ struct dom_sid *domain_sid;
};
NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
- struct provision_settings *settings);
+ struct provision_settings *settings,
+ struct provision_result *result);
+
+NTSTATUS provision_store_self_join(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
+ struct tevent_context *ev_ctx,
+ struct provision_store_self_join_settings *settings,
+ const char **error_string);
+
+struct ldb_context *provision_get_schema(TALLOC_CTX *mem_ctx,
+ struct loadparm_context *lp_ctx,
+ const char *schema_dn,
+ DATA_BLOB *override_prefixmap);
#endif /* _PROVISION_H_ */