r20113: Update the DRSUAPI CrackNames test to explore a few more cases, and in
[kai/samba.git] / source4 / libnet / libnet_join.h
1 /* 
2    Unix SMB/CIFS implementation.
3    
4    Copyright (C) Stefan Metzmacher      2004
5    Copyright (C) Andrew Bartlett <abartlet@samba.org> 2005
6    Copyright (C) Brad Henry 2005
7    
8    This program is free software; you can redistribute it and/or modify
9    it under the terms of the GNU General Public License as published by
10    the Free Software Foundation; either version 2 of the License, or
11    (at your option) any later version.
12    
13    This program is distributed in the hope that it will be useful,
14    but WITHOUT ANY WARRANTY; without even the implied warranty of
15    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16    GNU General Public License for more details.
17    
18    You should have received a copy of the GNU General Public License
19    along with this program; if not, write to the Free Software
20    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 */
22
23 #ifndef __LIBNET_JOIN_H__
24 #define __LIBNET_JOIN_H__
25
26 #include "librpc/gen_ndr/netlogon.h"
27
28 enum libnet_Join_level {
29         LIBNET_JOIN_AUTOMATIC,
30         LIBNET_JOIN_SPECIFIED,
31 };
32
33 enum libnet_JoinDomain_level {
34         LIBNET_JOINDOMAIN_AUTOMATIC,
35         LIBNET_JOINDOMAIN_SPECIFIED,
36 };
37
38 struct libnet_JoinDomain {
39         struct {
40                 const char *domain_name;
41                 const char *account_name;
42                 const char *netbios_name;
43                 const char *binding;
44                 enum libnet_JoinDomain_level level;
45                 uint32_t  acct_type;
46                 BOOL recreate_account;
47         } in;
48
49         struct {
50                 const char *error_string;
51                 const char *join_password;
52                 struct dom_sid *domain_sid;
53                 const char *domain_name;
54                 const char *realm;
55                 const char *domain_dn_str;
56                 const char *account_dn_str;
57                 const char *server_dn_str;
58                 uint32_t kvno; /* msDS-KeyVersionNumber */
59                 struct dcerpc_pipe *samr_pipe;
60                 struct dcerpc_binding *samr_binding;
61                 struct policy_handle *user_handle;
62                 struct dom_sid *account_sid;
63                 struct GUID account_guid;
64         } out;
65 };
66
67 struct libnet_Join {
68         struct {
69                 const char *domain_name;
70                 const char *netbios_name;
71                 enum netr_SchannelType join_type;
72                 enum libnet_Join_level level;
73         } in;
74         
75         struct {
76                 const char *error_string;
77                 const char *join_password;
78                 struct dom_sid *domain_sid;
79                 const char *domain_name;
80         } out;
81 };
82
83
84 #endif /* __LIBNET_JOIN_H__ */