r5298: - got rid of pstring.h from includes.h. This at least makes it a bit
[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    
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 2 of the License, or
10    (at your option) any later version.
11    
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16    
17    You should have received a copy of the GNU General Public License
18    along with this program; if not, write to the Free Software
19    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 */
21
22 #include "librpc/gen_ndr/ndr_netlogon.h"
23
24 /* struct and enum for doing a remote domain join */
25 enum libnet_JoinDomain_level {
26         LIBNET_JOIN_DOMAIN_GENERIC,
27         LIBNET_JOIN_DOMAIN_SAMR,
28 };
29
30 union libnet_JoinDomain {
31         struct {
32                 enum libnet_JoinDomain_level level;
33
34                 struct _libnet_JoinDomain_in {
35                         const char *domain_name;
36                         const char *account_name;
37                         uint32_t  acct_type;
38                 } in;
39
40                 struct _libnet_JoinDomain_out {
41                         const char *error_string;
42                         const char *join_password;
43                 } out;
44         } generic;
45
46         struct {
47                 enum libnet_JoinDomain_level level;
48                 struct _libnet_JoinDomain_in in;
49                 struct _libnet_JoinDomain_out out;
50         } samr;
51
52 };
53
54 /* struct and enum for doing a remote domain join */
55 enum libnet_Join_level {
56         LIBNET_JOIN_GENERIC,
57         LIBNET_JOIN_PRIMARY,
58 };
59
60 union libnet_Join {
61         struct {
62                 enum libnet_Join_level level;
63
64                 struct _libnet_Join_in {
65                         const char *domain_name;
66                         enum netr_SchannelType secure_channel_type;
67                 } in;
68
69                 struct _libnet_Join_out {
70                         const char *error_string;
71                 } out;
72         } generic;
73
74         struct {
75                 enum libnet_Join_level level;
76                 struct _libnet_Join_in in;
77                 struct _libnet_Join_out out;
78         } ldb;
79 };
80