Add libnet_Unjoin(), libnet_UnjoinCtx and friends.
[ira/wip.git] / source3 / libnet / libnet_join.h
1 /*
2  *  Unix SMB/CIFS implementation.
3  *  libnet Join Support
4  *  Copyright (C) Guenther Deschner 2007
5  *
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.
10  *
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.
15  *
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/>.
18  */
19
20 #ifndef __LIBNET_JOIN_H__
21 #define __LIBNET_JOIN_H__
22
23 struct libnet_JoinCtx {
24         struct {
25                 const char *server_name;
26                 const char *domain_name;
27                 const char *account_ou;
28                 const char *admin_account;
29                 const char *password;
30                 uint32_t join_flags;
31                 const char *os_version;
32                 const char *os_string;
33                 const char *upn;
34                 bool modify_config;
35         } in;
36
37         struct {
38                 char *account_name;
39                 char *netbios_domain_name;
40                 char *dns_domain_name;
41                 char *dn;
42                 struct dom_sid *domain_sid;
43                 bool modified_config;
44                 WERROR result;
45         } out;
46 };
47
48 struct libnet_UnjoinCtx {
49         struct {
50                 const char *server_name;
51                 const char *domain_name;
52                 const char *admin_account;
53                 const char *password;
54                 uint32_t unjoin_flags;
55                 bool modify_config;
56                 struct dom_sid *domain_sid;
57         } in;
58
59         struct {
60                 bool modified_config;
61                 WERROR result;
62         } out;
63 };
64
65 #endif