BUG 9378: Add extra attributes for AD printer publishing.
[Samba.git] / source4 / param / provision.h
blob36758b97070f8c2b44dc2c71be8014e016ff5195
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;
40 /* FIXME: Rename this to hostconfig ? */
41 struct provision_result {
42 const char *domaindn;
43 struct ldb_context *samdb;
44 struct loadparm_context *lp_ctx;
47 struct provision_store_self_join_settings {
48 const char *domain_name;
49 const char *realm;
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,
67 DATA_BLOB *override_prefixmap);
69 #endif /* _PROVISION_H_ */