ctdb-scripts: Support storing statd-callout state in cluster filesystem
[samba4-gss.git] / source4 / libnet / libnet_passwd.h
blob17e6aab4fca7423a2ef9b74265a7f9c316000123
1 /*
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 3 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, see <http://www.gnu.org/licenses/>.
20 /* struct and enum for doing a remote password change */
21 enum libnet_ChangePassword_level {
22 LIBNET_CHANGE_PASSWORD_GENERIC,
23 LIBNET_CHANGE_PASSWORD_SAMR,
24 LIBNET_CHANGE_PASSWORD_KRB5,
25 LIBNET_CHANGE_PASSWORD_LDAP,
26 LIBNET_CHANGE_PASSWORD_RAP
29 union libnet_ChangePassword {
30 struct {
31 enum libnet_ChangePassword_level level;
33 struct _libnet_ChangePassword_in {
34 const char *account_name;
35 const char *domain_name;
36 const char *oldpassword;
37 const char *newpassword;
38 } in;
40 struct _libnet_ChangePassword_out {
41 const char *error_string;
42 } out;
43 } generic;
45 struct {
46 enum libnet_ChangePassword_level level;
47 struct _libnet_ChangePassword_in in;
48 struct _libnet_ChangePassword_out out;
49 } samr;
51 struct {
52 enum libnet_ChangePassword_level level;
53 struct _libnet_ChangePassword_in in;
54 struct _libnet_ChangePassword_out out;
55 } krb5;
57 struct {
58 enum libnet_ChangePassword_level level;
59 struct _libnet_ChangePassword_in in;
60 struct _libnet_ChangePassword_out out;
61 } ldap;
63 struct {
64 enum libnet_ChangePassword_level level;
65 struct _libnet_ChangePassword_in in;
66 struct _libnet_ChangePassword_out out;
67 } rap;
70 /* struct and enum for doing a remote password set */
71 enum libnet_SetPassword_level {
72 LIBNET_SET_PASSWORD_GENERIC,
73 LIBNET_SET_PASSWORD_SAMR,
74 LIBNET_SET_PASSWORD_SAMR_HANDLE,
75 LIBNET_SET_PASSWORD_SAMR_HANDLE_26,
76 LIBNET_SET_PASSWORD_SAMR_HANDLE_25,
77 LIBNET_SET_PASSWORD_SAMR_HANDLE_24,
78 LIBNET_SET_PASSWORD_SAMR_HANDLE_23,
79 LIBNET_SET_PASSWORD_SAMR_HANDLE_18,
80 LIBNET_SET_PASSWORD_KRB5,
81 LIBNET_SET_PASSWORD_LDAP,
82 LIBNET_SET_PASSWORD_RAP
85 union libnet_SetPassword {
86 struct {
87 enum libnet_SetPassword_level level;
88 enum libnet_SetPassword_level samr_level;
90 struct _libnet_SetPassword_in {
91 const char *account_name;
92 const char *domain_name;
93 const char *newpassword;
94 } in;
96 struct _libnet_SetPassword_out {
97 const char *error_string;
98 } out;
99 } generic;
101 struct {
102 enum libnet_SetPassword_level level;
103 enum libnet_SetPassword_level samr_level;
104 struct _libnet_SetPassword_samr_handle_in {
105 const char *account_name; /* for debug only */
106 struct policy_handle *user_handle;
107 struct dcerpc_pipe *dcerpc_pipe;
108 const char *newpassword;
109 struct samr_UserInfo21 *info21; /* can be NULL,
110 * for level 26,24 it must be NULL
111 * for level 25,23 it must be non-NULL
113 } in;
114 struct _libnet_SetPassword_out out;
115 } samr_handle;
117 struct {
118 enum libnet_SetPassword_level level;
119 enum libnet_SetPassword_level samr_level;
120 struct _libnet_SetPassword_in in;
121 struct _libnet_SetPassword_out out;
122 } samr;
124 struct {
125 enum libnet_SetPassword_level level;
126 enum libnet_SetPassword_level samr_level;
127 struct _libnet_SetPassword_in in;
128 struct _libnet_SetPassword_out out;
129 } krb5;
131 struct {
132 enum libnet_SetPassword_level level;
133 enum libnet_SetPassword_level samr_level;
134 struct _libnet_SetPassword_in in;
135 struct _libnet_SetPassword_out out;
136 } ldap;
138 struct {
139 enum libnet_ChangePassword_level level;
140 enum libnet_SetPassword_level samr_level;
141 struct _libnet_SetPassword_in in;
142 struct _libnet_SetPassword_out out;
143 } rap;