summaryrefslogtreecommitdiff
path: root/source4/libnet/libnet_join.h
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2005-07-29 10:58:05 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:30:11 -0500
commit6cec8025b05595d60c23d70f34db9e65ca21b89d (patch)
tree8fb95113e43382e120487b0284dc45508c0d428f /source4/libnet/libnet_join.h
parent9cae22604b5d885ba033c44c41add421151ebaa6 (diff)
downloadsamba-6cec8025b05595d60c23d70f34db9e65ca21b89d.tar.gz
samba-6cec8025b05595d60c23d70f34db9e65ca21b89d.tar.bz2
samba-6cec8025b05595d60c23d70f34db9e65ca21b89d.zip
r8847: Rework the Samba4 'net join' code. I'm trying to get this closer to
what WinXP does when joining an AD domain, but in the meantime this removes the excess unions, and uses the LSA pipe in same way XP does. Andrew Bartlett (This used to be commit d2789c426090c325f6535cdce380ac0f4e22c3c7)
Diffstat (limited to 'source4/libnet/libnet_join.h')
-rw-r--r--source4/libnet/libnet_join.h66
1 files changed, 18 insertions, 48 deletions
diff --git a/source4/libnet/libnet_join.h b/source4/libnet/libnet_join.h
index 8614d59a77..5f1fcebfe9 100644
--- a/source4/libnet/libnet_join.h
+++ b/source4/libnet/libnet_join.h
@@ -21,60 +21,30 @@
#include "librpc/gen_ndr/ndr_netlogon.h"
-/* struct and enum for doing a remote domain join */
-enum libnet_JoinDomain_level {
- LIBNET_JOIN_DOMAIN_GENERIC,
- LIBNET_JOIN_DOMAIN_SAMR,
-};
-
-union libnet_JoinDomain {
+struct libnet_JoinDomain {
struct {
- enum libnet_JoinDomain_level level;
-
- struct _libnet_JoinDomain_in {
- const char *domain_name;
- const char *account_name;
- uint32_t acct_type;
- } in;
-
- struct _libnet_JoinDomain_out {
- const char *error_string;
- const char *join_password;
- } out;
- } generic;
+ const char *domain_name;
+ const char *account_name;
+ uint32_t acct_type;
+ } in;
struct {
- enum libnet_JoinDomain_level level;
- struct _libnet_JoinDomain_in in;
- struct _libnet_JoinDomain_out out;
- } samr;
-
+ const char *error_string;
+ const char *join_password;
+ struct dom_sid *domain_sid;
+ const char *domain_name;
+ const char *realm;
+ } out;
};
-/* struct and enum for doing a remote domain join */
-enum libnet_Join_level {
- LIBNET_JOIN_GENERIC,
- LIBNET_JOIN_PRIMARY,
-};
-
-union libnet_Join {
+struct libnet_Join {
struct {
- enum libnet_Join_level level;
-
- struct _libnet_Join_in {
- const char *domain_name;
- enum netr_SchannelType secure_channel_type;
- } in;
-
- struct _libnet_Join_out {
- const char *error_string;
- } out;
- } generic;
-
+ const char *domain_name;
+ enum netr_SchannelType secure_channel_type;
+ } in;
+
struct {
- enum libnet_Join_level level;
- struct _libnet_Join_in in;
- struct _libnet_Join_out out;
- } ldb;
+ const char *error_string;
+ } out;
};