/*
* Unix SMB/CIFS implementation.
* libnet Join Support
- * Copyright (C) Guenther Deschner 2007
+ * Copyright (C) Gerald (Jerry) Carter 2006
+ * Copyright (C) Guenther Deschner 2007-2008
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
-#ifndef __LIBNET_JOIN_H__
-#define __LIBNET_JOIN_H__
+#ifndef _LIBNET_LIBNET_JOIN_H_
+#define _LIBNET_LIBNET_JOIN_H_
-struct libnet_JoinCtx {
- struct {
- const char *server_name;
- const char *domain_name;
- const char *account_ou;
- const char *admin_account;
- const char *password;
- uint32_t join_flags;
- const char *os_version;
- const char *os_string;
- const char *upn;
- bool modify_config;
- } in;
+/* The following definitions come from libnet/libnet_join.c */
- struct {
- char *account_name;
- char *netbios_domain_name;
- char *dns_domain_name;
- char *dn;
- struct dom_sid *domain_sid;
- bool modified_config;
- WERROR result;
- } out;
-};
+struct messaging_context;
+NTSTATUS libnet_join_ok(struct messaging_context *msg_ctx,
+ const char *netbios_domain_name,
+ const char *dc_name,
+ const bool use_kerberos);
+WERROR libnet_init_JoinCtx(TALLOC_CTX *mem_ctx,
+ struct libnet_JoinCtx **r);
+WERROR libnet_init_UnjoinCtx(TALLOC_CTX *mem_ctx,
+ struct libnet_UnjoinCtx **r);
+WERROR libnet_Join(TALLOC_CTX *mem_ctx,
+ struct libnet_JoinCtx *r);
+WERROR libnet_Unjoin(TALLOC_CTX *mem_ctx,
+ struct libnet_UnjoinCtx *r);
-struct libnet_UnjoinCtx {
- struct {
- const char *server_name;
- const char *domain_name;
- const char *admin_account;
- const char *password;
- uint32_t unjoin_flags;
- bool modify_config;
- struct dom_sid *domain_sid;
- } in;
-
- struct {
- bool modified_config;
- WERROR result;
- } out;
-};
-
-#endif
+#endif /* _LIBNET_LIBNET_JOIN_H_ */