2 Unix SMB/CIFS implementation.
4 Copyright (C) Stefan Metzmacher 2004
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 2 of the License, or
9 (at your option) any later version.
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.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 struct libnet_context {
25 * a client env context
30 /* struct and enum for connecting to a dcerpc inferface */
31 enum libnet_rpc_connect_level {
32 LIBNET_RPC_CONNECT_PDC
35 union libnet_rpc_connect {
36 /* connect to a domains PDC */
38 enum libnet_rpc_connect_level level;
41 const char *domain_name;
42 const char *dcerpc_iface_name;
43 const char *dcerpc_iface_uuid;
44 uint32 dcerpc_iface_version;
48 struct dcerpc_pipe *dcerpc_pipe;
54 /* struct and enum for doing a remote password change */
55 enum libnet_ChangePassword_level {
56 LIBNET_CHANGE_PASSWORD_GENERIC,
57 LIBNET_CHANGE_PASSWORD_RPC,
58 LIBNET_CHANGE_PASSWORD_KRB5,
59 LIBNET_CHANGE_PASSWORD_LDAP,
60 LIBNET_CHANGE_PASSWORD_RAP
63 union libnet_ChangePassword {
65 enum libnet_ChangePassword_level level;
67 struct _libnet_ChangePassword_in {
68 const char *account_name;
69 const char *domain_name;
70 const char *oldpassword;
71 const char *newpassword;
74 struct _libnet_ChangePassword_out {
75 const char *error_string;
80 enum libnet_ChangePassword_level level;
81 struct _libnet_ChangePassword_in in;
82 struct _libnet_ChangePassword_out out;
86 enum libnet_ChangePassword_level level;
87 struct _libnet_ChangePassword_in in;
88 struct _libnet_ChangePassword_out out;
92 enum libnet_ChangePassword_level level;
93 struct _libnet_ChangePassword_in in;
94 struct _libnet_ChangePassword_out out;
98 enum libnet_ChangePassword_level level;
99 struct _libnet_ChangePassword_in in;
100 struct _libnet_ChangePassword_out out;
104 /* struct and enum for doing a remote password set */
105 enum libnet_SetPassword_level {
106 LIBNET_SET_PASSWORD_GENERIC,
107 LIBNET_SET_PASSWORD_RPC,
108 LIBNET_SET_PASSWORD_KRB5,
109 LIBNET_SET_PASSWORD_LDAP,
110 LIBNET_SET_PASSWORD_RAP
113 union libnet_SetPassword {
115 enum libnet_SetPassword_level level;
117 struct _libnet_SetPassword_in {
118 const char *account_name;
119 const char *domain_name;
120 const char *newpassword;
123 struct _libnet_SetPassword_out {
124 const char *error_string;
129 enum libnet_SetPassword_level level;
130 struct _libnet_SetPassword_in in;
131 struct _libnet_SetPassword_out out;
135 enum libnet_SetPassword_level level;
136 struct _libnet_SetPassword_in in;
137 struct _libnet_SetPassword_out out;
141 enum libnet_SetPassword_level level;
142 struct _libnet_SetPassword_in in;
143 struct _libnet_SetPassword_out out;
147 enum libnet_ChangePassword_level level;
148 struct _libnet_SetPassword_in in;
149 struct _libnet_SetPassword_out out;