HACK: pinfo->private_data points to smb_info again
[wireshark-wip.git] / epan / dissectors / packet-dcerpc-samr.c
blob527c53df8318dafa74f85087b9d797418de354e6
1 /* DO NOT EDIT
2 This filter was automatically generated
3 from samr.idl and samr.cnf.
5 Pidl is a perl based IDL compiler for DCE/RPC idl files.
6 It is maintained by the Samba team, not the Wireshark team.
7 Instructions on how to download and install Pidl can be
8 found at http://wiki.wireshark.org/Pidl
10 $Id$
14 #include "config.h"
15 #ifdef _MSC_VER
16 #pragma warning(disable:4005)
17 #pragma warning(disable:4013)
18 #pragma warning(disable:4018)
19 #pragma warning(disable:4101)
20 #endif
22 #include <glib.h>
23 #include <string.h>
24 #include <epan/packet.h>
26 #include "packet-dcerpc.h"
27 #include "packet-dcerpc-nt.h"
28 #include "packet-windows-common.h"
29 #include "packet-dcerpc-samr.h"
31 /* Ett declarations */
32 static gint ett_dcerpc_samr = -1;
33 static gint ett_samr_lsa_Strings = -1;
34 static gint ett_samr_samr_AcctFlags = -1;
35 static gint ett_samr_samr_ConnectAccessMask = -1;
36 static gint ett_samr_samr_UserAccessMask = -1;
37 static gint ett_samr_samr_DomainAccessMask = -1;
38 static gint ett_samr_samr_GroupAccessMask = -1;
39 static gint ett_samr_samr_AliasAccessMask = -1;
40 static gint ett_samr_samr_SamEntry = -1;
41 static gint ett_samr_samr_SamArray = -1;
42 static gint ett_samr_samr_PasswordProperties = -1;
43 static gint ett_samr_samr_DomInfo1 = -1;
44 static gint ett_samr_samr_DomGeneralInformation = -1;
45 static gint ett_samr_samr_DomInfo3 = -1;
46 static gint ett_samr_samr_DomOEMInformation = -1;
47 static gint ett_samr_samr_DomInfo5 = -1;
48 static gint ett_samr_samr_DomInfo6 = -1;
49 static gint ett_samr_samr_DomInfo7 = -1;
50 static gint ett_samr_samr_DomInfo8 = -1;
51 static gint ett_samr_samr_DomInfo9 = -1;
52 static gint ett_samr_samr_DomGeneralInformation2 = -1;
53 static gint ett_samr_samr_DomInfo12 = -1;
54 static gint ett_samr_samr_DomInfo13 = -1;
55 static gint ett_samr_samr_DomainInfo = -1;
56 static gint ett_samr_samr_Ids = -1;
57 static gint ett_samr_samr_GroupAttrs = -1;
58 static gint ett_samr_samr_GroupInfoAll = -1;
59 static gint ett_samr_samr_GroupInfoAttributes = -1;
60 static gint ett_samr_samr_GroupInfoDescription = -1;
61 static gint ett_samr_samr_GroupInfo = -1;
62 static gint ett_samr_samr_RidTypeArray = -1;
63 static gint ett_samr_samr_AliasInfoAll = -1;
64 static gint ett_samr_samr_AliasInfo = -1;
65 static gint ett_samr_samr_UserInfo1 = -1;
66 static gint ett_samr_samr_UserInfo2 = -1;
67 static gint ett_samr_samr_LogonHours = -1;
68 static gint ett_samr_samr_UserInfo3 = -1;
69 static gint ett_samr_samr_UserInfo4 = -1;
70 static gint ett_samr_samr_UserInfo5 = -1;
71 static gint ett_samr_samr_UserInfo6 = -1;
72 static gint ett_samr_samr_UserInfo7 = -1;
73 static gint ett_samr_samr_UserInfo8 = -1;
74 static gint ett_samr_samr_UserInfo9 = -1;
75 static gint ett_samr_samr_UserInfo10 = -1;
76 static gint ett_samr_samr_UserInfo11 = -1;
77 static gint ett_samr_samr_UserInfo12 = -1;
78 static gint ett_samr_samr_UserInfo13 = -1;
79 static gint ett_samr_samr_UserInfo14 = -1;
80 static gint ett_samr_samr_UserInfo16 = -1;
81 static gint ett_samr_samr_UserInfo17 = -1;
82 static gint ett_samr_samr_Password = -1;
83 static gint ett_samr_samr_UserInfo18 = -1;
84 static gint ett_samr_samr_UserInfo20 = -1;
85 static gint ett_samr_samr_FieldsPresent = -1;
86 static gint ett_samr_samr_UserInfo21 = -1;
87 static gint ett_samr_samr_CryptPassword = -1;
88 static gint ett_samr_samr_UserInfo23 = -1;
89 static gint ett_samr_samr_UserInfo24 = -1;
90 static gint ett_samr_samr_CryptPasswordEx = -1;
91 static gint ett_samr_samr_UserInfo25 = -1;
92 static gint ett_samr_samr_UserInfo26 = -1;
93 static gint ett_samr_samr_UserInfo = -1;
94 static gint ett_samr_samr_RidWithAttribute = -1;
95 static gint ett_samr_samr_RidWithAttributeArray = -1;
96 static gint ett_samr_samr_DispEntryGeneral = -1;
97 static gint ett_samr_samr_DispInfoGeneral = -1;
98 static gint ett_samr_samr_DispEntryFull = -1;
99 static gint ett_samr_samr_DispInfoFull = -1;
100 static gint ett_samr_samr_DispEntryFullGroup = -1;
101 static gint ett_samr_samr_DispInfoFullGroups = -1;
102 static gint ett_samr_samr_DispEntryAscii = -1;
103 static gint ett_samr_samr_DispInfoAscii = -1;
104 static gint ett_samr_samr_DispInfo = -1;
105 static gint ett_samr_samr_PwInfo = -1;
106 static gint ett_samr_samr_ChangeReject = -1;
107 static gint ett_samr_samr_ConnectInfo1 = -1;
108 static gint ett_samr_samr_ConnectInfo = -1;
109 static gint ett_samr_samr_ValidateFieldsPresent = -1;
110 static gint ett_samr_samr_ValidationBlob = -1;
111 static gint ett_samr_samr_ValidatePasswordInfo = -1;
112 static gint ett_samr_samr_ValidatePasswordRepCtr = -1;
113 static gint ett_samr_samr_ValidatePasswordRep = -1;
114 static gint ett_samr_samr_ValidatePasswordReq3 = -1;
115 static gint ett_samr_samr_ValidatePasswordReq2 = -1;
116 static gint ett_samr_samr_ValidatePasswordReq1 = -1;
117 static gint ett_samr_samr_ValidatePasswordReq = -1;
120 /* Header field declarations */
121 static gint hf_samr_samr_QueryDisplayInfo2_level = -1;
122 static gint hf_samr_rid = -1;
123 static gint hf_samr_samr_Connect2_system_name = -1;
124 static gint hf_samr_samr_AcctFlags_ACB_DONT_REQUIRE_PREAUTH = -1;
125 static gint hf_samr_group_access_mask = -1;
126 static gint hf_samr_samr_DomainInfo_oem = -1;
127 static gint hf_samr_samr_DispInfoAscii_entries = -1;
128 static gint hf_samr_samr_QueryAliasInfo_level = -1;
129 static gint hf_samr_samr_DispEntryFullGroup_idx = -1;
130 static gint hf_samr_samr_QueryGroupInfo_info = -1;
131 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_SCRIPT = -1;
132 static gint hf_samr_samr_UserInfo21_primary_gid = -1;
133 static gint hf_samr_samr_DomGeneralInformation2_lockout_duration = -1;
134 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_EXPIRY = -1;
135 static gint hf_samr_samr_DispInfoGeneral_count = -1;
136 static gint hf_samr_samr_QueryDisplayInfo3_total_size = -1;
137 static gint hf_samr_samr_GetDomPwInfo_info = -1;
138 static gint hf_samr_samr_QuerySecurity_sdbuf = -1;
139 static gint hf_samr_samr_UserInfo3_workstations = -1;
140 static gint hf_samr_samr_QueryUserInfo2_info = -1;
141 static gint hf_samr_samr_QueryDisplayInfo3_start_idx = -1;
142 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_PARAMETERS = -1;
143 static gint hf_samr_samr_DomGeneralInformation_num_users = -1;
144 static gint hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS = -1;
145 static gint hf_samr_samr_UserInfo21_acct_flags = -1;
146 static gint hf_samr_samr_UserInfo5_profile_path = -1;
147 static gint hf_samr_samr_AcctFlags_ACB_PW_EXPIRED = -1;
148 static gint hf_samr_samr_ValidatePasswordReq3_hash = -1;
149 static gint hf_samr_samr_QueryDomainInfo_info = -1;
150 static gint hf_samr_samr_UserInfo_info16 = -1;
151 static gint hf_samr_samr_SetBootKeyInformation_unknown1 = -1;
152 static gint hf_samr_samr_GroupInfo_attributes = -1;
153 static gint hf_samr_samr_DomInfo3_force_logoff_time = -1;
154 static gint hf_samr_samr_ChangePasswordUser_new_nt_crypted = -1;
155 static gint hf_samr_samr_ChangePasswordUser3_reject = -1;
156 static gint hf_samr_samr_QueryDomainInfo2_info = -1;
157 static gint hf_samr_samr_UserInfo1_description = -1;
158 static gint hf_samr_samr_SetAliasInfo_info = -1;
159 static gint hf_samr_samr_ChangePasswordUser_cross1_present = -1;
160 static gint hf_samr_samr_UserInfo5_primary_gid = -1;
161 static gint hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_CLEAR_CHANGE = -1;
162 static gint hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT = -1;
163 static gint hf_samr_samr_Connect4_system_name = -1;
164 static gint hf_samr_samr_QueryDisplayInfo3_buf_size = -1;
165 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_NUM_LOGONS = -1;
166 static gint hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT = -1;
167 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_PWD_CHANGE = -1;
168 static gint hf_samr_samr_UserInfo20_parameters = -1;
169 static gint hf_samr_samr_UserInfo18_lm_pwd = -1;
170 static gint hf_samr_samr_UserInfo1_account_name = -1;
171 static gint hf_samr_samr_ChangePasswordUser2_lm_change = -1;
172 static gint hf_samr_samr_UserInfo21_description = -1;
173 static gint hf_samr_samr_UserInfo21_profile_path = -1;
174 static gint hf_samr_samr_ValidatePassword_req = -1;
175 static gint hf_samr_samr_AcctFlags_ACB_DISABLED = -1;
176 static gint hf_samr_samr_ChangePasswordUser_nt_cross = -1;
177 static gint hf_samr_samr_ChangeReject_unknown2 = -1;
178 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCOUNT_NAME = -1;
179 static gint hf_samr_samr_UserInfo2_unknown = -1;
180 static gint hf_samr_samr_ValidatePasswordReq3_password = -1;
181 static gint hf_samr_samr_UserInfo5_logon_script = -1;
182 static gint hf_samr_samr_RidWithAttributeArray_count = -1;
183 static gint hf_samr_samr_ValidatePasswordInfo_pwd_history_len = -1;
184 static gint hf_samr_samr_DispInfoFullGroups_entries = -1;
185 static gint hf_samr_samr_UserInfo5_bad_password_count = -1;
186 static gint hf_samr_samr_DomainInfo_info5 = -1;
187 static gint hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_ADD_MEMBER = -1;
188 static gint hf_samr_samr_UserInfo_info6 = -1;
189 static gint hf_samr_samr_Connect5_info_out = -1;
190 static gint hf_samr_samr_UserInfo3_logon_script = -1;
191 static gint hf_samr_samr_SetUserInfo_level = -1;
192 static gint hf_samr_samr_UserInfo21_last_logon = -1;
193 static gint hf_samr_samr_GetBootKeyInformation_domain_handle = -1;
194 static gint hf_samr_samr_UserInfo21_lm_password = -1;
195 static gint hf_samr_samr_QueryDisplayInfo3_returned_size = -1;
196 static gint hf_samr_samr_ValidatePasswordReq3_account = -1;
197 static gint hf_samr_samr_UserInfo7_account_name = -1;
198 static gint hf_samr_samr_UserInfo23_info = -1;
199 static gint hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_1 = -1;
200 static gint hf_samr_samr_UserInfo3_last_logon = -1;
201 static gint hf_samr_samr_UserInfo_info10 = -1;
202 static gint hf_samr_samr_EnumDomainGroups_max_size = -1;
203 static gint hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_ANON_CHANGE = -1;
204 static gint hf_samr_samr_UserInfo3_full_name = -1;
205 static gint hf_samr_samr_DispEntryAscii_account_name = -1;
206 static gint hf_samr_samr_UserInfo11_logon_script = -1;
207 static gint hf_samr_samr_AcctFlags_ACB_TRUST_AUTH_DELEGAT = -1;
208 static gint hf_samr_samr_ChangePasswordUser_lm_present = -1;
209 static gint hf_samr_samr_AddMultipleMembersToAlias_sids = -1;
210 static gint hf_samr_samr_DomInfo13_sequence_num = -1;
211 static gint hf_samr_samr_UserInfo_info21 = -1;
212 static gint hf_samr_samr_ValidatePasswordReq_req1 = -1;
213 static gint hf_samr_samr_AcctFlags_ACB_MNS = -1;
214 static gint hf_samr_samr_DispEntryFullGroup_description = -1;
215 static gint hf_samr_samr_SetSecurity_sdbuf = -1;
216 static gint hf_samr_samr_ValidatePasswordReq2_account = -1;
217 static gint hf_samr_samr_LookupNames_names = -1;
218 static gint hf_samr_samr_PasswordProperties_DOMAIN_REFUSE_PASSWORD_CHANGE = -1;
219 static gint hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP = -1;
220 static gint hf_samr_samr_PwInfo_password_properties = -1;
221 static gint hf_samr_samr_ValidatePasswordReq_req2 = -1;
222 static gint hf_samr_samr_DomGeneralInformation2_lockout_window = -1;
223 static gint hf_samr_samr_QueryDisplayInfo2_returned_size = -1;
224 static gint hf_samr_samr_SetBootKeyInformation_unknown2 = -1;
225 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGON = -1;
226 static gint hf_samr_samr_Ids_count = -1;
227 static gint hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_LOC_COM = -1;
228 static gint hf_samr_samr_AcctFlags_ACB_SMARTCARD_REQUIRED = -1;
229 static gint hf_samr_samr_ChangePasswordUser3_nt_verifier = -1;
230 static gint hf_samr_samr_UserInfo_info17 = -1;
231 static gint hf_samr_samr_LookupRids_types = -1;
232 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_PROFILE_PATH = -1;
233 static gint hf_samr_samr_ChangePasswordUser3_lm_change = -1;
234 static gint hf_samr_samr_UserInfo1_primary_gid = -1;
235 static gint hf_samr_samr_ValidatePasswordReq1_info = -1;
236 static gint hf_samr_samr_UserInfo21_home_drive = -1;
237 static gint hf_samr_samr_AcctFlags_ACB_PWNOEXP = -1;
238 static gint hf_samr_samr_DomOEMInformation_oem_information = -1;
239 static gint hf_samr_group_handle = -1;
240 static gint hf_samr_samr_EnumDomainAliases_num_entries = -1;
241 static gint hf_samr_samr_AcctFlags_ACB_SVRTRUST = -1;
242 static gint hf_samr_samr_DomGeneralInformation_oem_information = -1;
243 static gint hf_samr_samr_UserInfo_info8 = -1;
244 static gint hf_samr_samr_UserInfo25_info = -1;
245 static gint hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP = -1;
246 static gint hf_samr_samr_CreateDomainGroup_name = -1;
247 static gint hf_samr_samr_DomGeneralInformation_num_groups = -1;
248 static gint hf_samr_samr_SetGroupInfo_info = -1;
249 static gint hf_samr_lsa_Strings_names = -1;
250 static gint hf_samr_samr_EnumDomainAliases_resume_handle = -1;
251 static gint hf_samr_samr_DomGeneralInformation_num_aliases = -1;
252 static gint hf_samr_samr_EnumDomainAliases_max_size = -1;
253 static gint hf_samr_samr_UserInfo21_full_name = -1;
254 static gint hf_samr_samr_GetDomPwInfo_domain_name = -1;
255 static gint hf_samr_samr_UserInfo3_primary_gid = -1;
256 static gint hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_LOOKUP_INFO = -1;
257 static gint hf_samr_samr_UserInfo_info5 = -1;
258 static gint hf_samr_samr_UserInfo3_home_directory = -1;
259 static gint hf_samr_samr_ChangePasswordUser_cross2_present = -1;
260 static gint hf_samr_samr_DeleteAliasMember_sid = -1;
261 static gint hf_samr_samr_ValidatePassword_rep = -1;
262 static gint hf_samr_samr_ValidatePasswordInfo_fields_present = -1;
263 static gint hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_REMOVE_MEMBER = -1;
264 static gint hf_samr_samr_SetMemberAttributesOfGroup_unknown1 = -1;
265 static gint hf_samr_samr_GetDisplayEnumerationIndex2_level = -1;
266 static gint hf_samr_samr_AcctFlags_ACB_ENC_TXT_PWD_ALLOWED = -1;
267 static gint hf_samr_samr_AliasInfo_description = -1;
268 static gint hf_samr_samr_QueryDisplayInfo_info = -1;
269 static gint hf_samr_samr_GroupInfoAll_num_members = -1;
270 static gint hf_samr_status = -1;
271 static gint hf_samr_samr_UserInfo12_profile_path = -1;
272 static gint hf_samr_samr_UserInfo21_comment = -1;
273 static gint hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_2 = -1;
274 static gint hf_samr_samr_UserInfo_info14 = -1;
275 static gint hf_samr_samr_CreateUser2_access_granted = -1;
276 static gint hf_samr_samr_ConnectInfo1_client_version = -1;
277 static gint hf_samr_samr_UserInfo5_acct_flags = -1;
278 static gint hf_samr_samr_UserInfo24_password_expired = -1;
279 static gint hf_samr_samr_AcctFlags_ACB_NOT_DELEGATED = -1;
280 static gint hf_samr_samr_SetDsrmPassword_name = -1;
281 static gint hf_samr_samr_Connect_system_name = -1;
282 static gint hf_samr_samr_DomInfo1_min_password_age = -1;
283 static gint hf_samr_samr_LookupRids_num_rids = -1;
284 static gint hf_samr_samr_GroupInfoDescription_description = -1;
285 static gint hf_samr_samr_QueryUserInfo_level = -1;
286 static gint hf_samr_samr_GroupAttrs_SE_GROUP_LOGON_ID = -1;
287 static gint hf_samr_samr_DispEntryGeneral_account_name = -1;
288 static gint hf_samr_samr_AcctFlags_ACB_HOMDIRREQ = -1;
289 static gint hf_samr_samr_CryptPasswordEx_data = -1;
290 static gint hf_samr_samr_ValidatePasswordInfo_bad_password_time = -1;
291 static gint hf_samr_samr_AcctFlags_ACB_USE_DES_KEY_ONLY = -1;
292 static gint hf_samr_samr_DispInfo_info1 = -1;
293 static gint hf_samr_samr_SetDomainInfo_level = -1;
294 static gint hf_samr_samr_DispInfo_info4 = -1;
295 static gint hf_samr_samr_DomInfo8_domain_create_time = -1;
296 static gint hf_samr_samr_UserInfo21_private = -1;
297 static gint hf_samr_samr_ChangePasswordUser_old_nt_crypted = -1;
298 static gint hf_samr_samr_DomGeneralInformation_force_logoff_time = -1;
299 static gint hf_samr_samr_DomInfo12_lockout_threshold = -1;
300 static gint hf_samr_samr_GroupInfoAttributes_attributes = -1;
301 static gint hf_samr_samr_SamArray_entries = -1;
302 static gint hf_samr_samr_UserInfo_info9 = -1;
303 static gint hf_samr_samr_ChangePasswordUser2_lm_password = -1;
304 static gint hf_samr_samr_DispEntryGeneral_full_name = -1;
305 static gint hf_samr_domain_handle = -1;
306 static gint hf_samr_samr_DomGeneralInformation2_general = -1;
307 static gint hf_samr_samr_AliasInfoAll_num_members = -1;
308 static gint hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_SET_INFO = -1;
309 static gint hf_samr_samr_DispEntryFull_description = -1;
310 static gint hf_samr_samr_LookupDomain_domain_name = -1;
311 static gint hf_samr_samr_ValidatePasswordRep_ctr3 = -1;
312 static gint hf_samr_user_handle = -1;
313 static gint hf_samr_samr_QueryDisplayInfo3_max_entries = -1;
314 static gint hf_samr_samr_DomInfo6_primary = -1;
315 static gint hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_COMPLEX = -1;
316 static gint hf_samr_domain_access_mask = -1;
317 static gint hf_samr_samr_Connect5_system_name = -1;
318 static gint hf_samr_samr_UserInfo21_bad_password_count = -1;
319 static gint hf_samr_samr_UserInfo21_acct_expiry = -1;
320 static gint hf_samr_samr_EnumDomainUsers_max_size = -1;
321 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_ALLOW_PWD_CHANGE = -1;
322 static gint hf_samr_samr_LookupNames_rids = -1;
323 static gint hf_samr_samr_DomInfo1_min_password_length = -1;
324 static gint hf_samr_samr_ValidatePasswordReq3_pwd_must_change_at_next_logon = -1;
325 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_WORKSTATIONS = -1;
326 static gint hf_samr_samr_GetDisplayEnumerationIndex_idx = -1;
327 static gint hf_samr_samr_DomInfo9_domain_server_state = -1;
328 static gint hf_samr_samr_Connect5_level_out = -1;
329 static gint hf_samr_samr_UserInfo5_last_logon = -1;
330 static gint hf_samr_samr_ChangePasswordUser2_server = -1;
331 static gint hf_samr_samr_SetDomainInfo_info = -1;
332 static gint hf_samr_samr_SamArray_count = -1;
333 static gint hf_samr_samr_UserInfo24_password = -1;
334 static gint hf_samr_samr_DispEntryFull_idx = -1;
335 static gint hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_INITIALIZE_SERVER = -1;
336 static gint hf_samr_samr_DispEntryFull_acct_flags = -1;
337 static gint hf_samr_samr_DomInfo13_modified_count_at_last_promotion = -1;
338 static gint hf_samr_samr_GetAliasMembership_sids = -1;
339 static gint hf_samr_samr_UserInfo_info1 = -1;
340 static gint hf_samr_samr_GroupAttrs_SE_GROUP_RESOURCE = -1;
341 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_DESCRIPTION = -1;
342 static gint hf_samr_samr_UserInfo18_nt_pwd = -1;
343 static gint hf_samr_samr_UserInfo23_password = -1;
344 static gint hf_samr_samr_UserInfo21_last_logoff = -1;
345 static gint hf_samr_samr_DispInfo_info2 = -1;
346 static gint hf_samr_samr_EnumDomainUsers_resume_handle = -1;
347 static gint hf_samr_samr_ValidatePasswordRepCtr_status = -1;
348 static gint hf_samr_samr_SetMemberAttributesOfGroup_unknown2 = -1;
349 static gint hf_samr_samr_DomainInfo_general2 = -1;
350 static gint hf_samr_samr_DispInfoFull_count = -1;
351 static gint hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_GET_MEMBERS = -1;
352 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_COUNTRY_CODE = -1;
353 static gint hf_samr_samr_ValidatePasswordReq2_password = -1;
354 static gint hf_samr_samr_UserInfo5_logon_hours = -1;
355 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DIRECTORY = -1;
356 static gint hf_samr_samr_AcctFlags_ACB_NO_AUTH_DATA_REQD = -1;
357 static gint hf_samr_samr_QueryDomainInfo_level = -1;
358 static gint hf_samr_samr_UserInfo26_password = -1;
359 static gint hf_samr_samr_ValidatePasswordReq1_password_matched = -1;
360 static gint hf_samr_samr_UserInfo21_account_name = -1;
361 static gint hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_ATTRIBUTES = -1;
362 static gint hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_SET_INFO = -1;
363 static gint hf_samr_samr_UserInfo2_comment = -1;
364 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_RID = -1;
365 static gint hf_samr_samr_UserInfo_info23 = -1;
366 static gint hf_samr_samr_UserInfo18_password_expired = -1;
367 static gint hf_samr_samr_QueryDisplayInfo2_total_size = -1;
368 static gint hf_samr_samr_UserInfo25_password = -1;
369 static gint hf_samr_samr_ChangePasswordUser2_lm_verifier = -1;
370 static gint hf_samr_samr_UserInfo4_logon_hours = -1;
371 static gint hf_samr_samr_UserInfo5_home_directory = -1;
372 static gint hf_samr_samr_DomInfo12_lockout_duration = -1;
373 static gint hf_samr_samr_CreateUser_account_name = -1;
374 static gint hf_samr_samr_UserInfo9_primary_gid = -1;
375 static gint hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOGONINFO = -1;
376 static gint hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET = -1;
377 static gint hf_samr_samr_DomGeneralInformation_domain_name = -1;
378 static gint hf_samr_samr_CreateUser2_account_name = -1;
379 static gint hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CREATE_DOMAIN = -1;
380 static gint hf_samr_samr_LookupDomain_sid = -1;
381 static gint hf_samr_samr_AddAliasMember_sid = -1;
382 static gint hf_samr_samr_QueryAliasInfo_info = -1;
383 static gint hf_samr_samr_ValidatePasswordReq2_hash = -1;
384 static gint hf_samr_samr_UserInfo21_fields_present = -1;
385 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_EXPIRED_FLAG = -1;
386 static gint hf_samr_samr_ValidatePasswordReq2_password_matched = -1;
387 static gint hf_samr_samr_QuerySecurity_sec_info = -1;
388 static gint hf_samr_samr_DomainInfo_info12 = -1;
389 static gint hf_samr_samr_QueryDisplayInfo_max_entries = -1;
390 static gint hf_samr_samr_EnumDomains_resume_handle = -1;
391 static gint hf_samr_samr_UserInfo_info7 = -1;
392 static gint hf_samr_samr_GroupInfo_all2 = -1;
393 static gint hf_samr_samr_UserInfo1_full_name = -1;
394 static gint hf_samr_samr_EnumDomainGroups_resume_handle = -1;
395 static gint hf_samr_samr_SetUserInfo2_info = -1;
396 static gint hf_samr_samr_ChangePasswordUser3_nt_password = -1;
397 static gint hf_samr_samr_UserInfo21_buf_count = -1;
398 static gint hf_samr_samr_PwInfo_min_password_length = -1;
399 static gint hf_samr_user_access_mask = -1;
400 static gint hf_samr_samr_DomGeneralInformation_sequence_num = -1;
401 static gint hf_samr_samr_UserInfo26_password_expired = -1;
402 static gint hf_samr_samr_ChangePasswordUser_old_lm_crypted = -1;
403 static gint hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_GET_MEMBERS = -1;
404 static gint hf_samr_samr_AcctFlags_ACB_NORMAL = -1;
405 static gint hf_samr_samr_GroupInfo_all = -1;
406 static gint hf_samr_samr_UserInfo16_acct_flags = -1;
407 static gint hf_samr_samr_UserInfo2_country_code = -1;
408 static gint hf_samr_samr_AddGroupMember_flags = -1;
409 static gint hf_samr_samr_UserInfo10_home_directory = -1;
410 static gint hf_samr_samr_OemChangePasswordUser2_server = -1;
411 static gint hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_PASSWORD = -1;
412 static gint hf_samr_samr_AliasInfo_all = -1;
413 static gint hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME = -1;
414 static gint hf_samr_samr_ChangeReject_reason = -1;
415 static gint hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_NAME_ETC = -1;
416 static gint hf_samr_samr_ChangePasswordUser3_password3 = -1;
417 static gint hf_samr_samr_UserInfo13_description = -1;
418 static gint hf_samr_samr_UserInfo21_lm_password_set = -1;
419 static gint hf_samr_samr_UserInfo_info2 = -1;
420 static gint hf_samr_samr_LogonHours_bits = -1;
421 static gint hf_samr_handle = -1;
422 static gint hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED_BY_DEFAULT = -1;
423 static gint hf_samr_samr_EnumDomainGroups_sam = -1;
424 static gint hf_samr_samr_GroupInfoAll_name = -1;
425 static gint hf_samr_samr_ValidatePasswordRep_ctr2 = -1;
426 static gint hf_samr_samr_UserInfo_info24 = -1;
427 static gint hf_samr_samr_DomainInfo_info3 = -1;
428 static gint hf_samr_samr_EnumDomainGroups_num_entries = -1;
429 static gint hf_samr_samr_AcctFlags_ACB_PWNOTREQ = -1;
430 static gint hf_samr_samr_UserInfo3_bad_password_count = -1;
431 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_CODE_PAGE = -1;
432 static gint hf_samr_samr_ChangePasswordUser_new_lm_crypted = -1;
433 static gint hf_samr_samr_LookupNames_types = -1;
434 static gint hf_samr_samr_SamEntry_idx = -1;
435 static gint hf_samr_samr_UserInfo3_logon_hours = -1;
436 static gint hf_samr_samr_ChangeReject_unknown1 = -1;
437 static gint hf_samr_samr_ChangePasswordUser3_account = -1;
438 static gint hf_samr_samr_DomInfo8_sequence_num = -1;
439 static gint hf_samr_samr_ValidatePasswordInfo_pwd_history = -1;
440 static gint hf_samr_samr_Connect3_unknown = -1;
441 static gint hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_LOOKUP_DOMAIN = -1;
442 static gint hf_samr_samr_GetDisplayEnumerationIndex2_idx = -1;
443 static gint hf_samr_samr_ConnectInfo1_unknown2 = -1;
444 static gint hf_samr_samr_AliasInfoAll_name = -1;
445 static gint hf_samr_samr_GroupInfo_description = -1;
446 static gint hf_samr_samr_GroupAttrs_SE_GROUP_OWNER = -1;
447 static gint hf_samr_samr_EnumDomainAliases_sam = -1;
448 static gint hf_samr_samr_LogonHours_units_per_week = -1;
449 static gint hf_samr_samr_DomGeneralInformation_role = -1;
450 static gint hf_samr_samr_DomainInfo_info13 = -1;
451 static gint hf_samr_samr_SetSecurity_sec_info = -1;
452 static gint hf_samr_samr_QueryDisplayInfo2_buf_size = -1;
453 static gint hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_STORE_CLEARTEXT = -1;
454 static gint hf_samr_samr_DomGeneralInformation2_lockout_threshold = -1;
455 static gint hf_samr_samr_UserInfo21_last_password_change = -1;
456 static gint hf_samr_samr_ChangePasswordUser2_account = -1;
457 static gint hf_samr_samr_ChangePasswordUser3_lm_password = -1;
458 static gint hf_samr_samr_UserInfo3_account_name = -1;
459 static gint hf_samr_samr_Connect3_system_name = -1;
460 static gint hf_samr_samr_UserInfo_info11 = -1;
461 static gint hf_samr_samr_DomainInfo_info9 = -1;
462 static gint hf_samr_samr_SamEntry_name = -1;
463 static gint hf_samr_lsa_Strings_count = -1;
464 static gint hf_samr_samr_UserInfo3_acct_flags = -1;
465 static gint hf_samr_samr_UserInfo3_allow_password_change = -1;
466 static gint hf_samr_samr_QueryDomainInfo2_level = -1;
467 static gint hf_samr_samr_GetDisplayEnumerationIndex_name = -1;
468 static gint hf_samr_samr_ValidatePasswordReq3_info = -1;
469 static gint hf_samr_samr_ValidatePasswordInfo_lockout_time = -1;
470 static gint hf_samr_samr_UserInfo17_acct_expiry = -1;
471 static gint hf_samr_samr_DomInfo1_password_history_length = -1;
472 static gint hf_samr_samr_QueryUserInfo_info = -1;
473 static gint hf_samr_samr_DomGeneralInformation_primary = -1;
474 static gint hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_SHUTDOWN_SERVER = -1;
475 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_LM_PASSWORD_PRESENT = -1;
476 static gint hf_samr_samr_UserInfo5_home_drive = -1;
477 static gint hf_samr_samr_RemoveMemberFromForeignDomain_sid = -1;
478 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_FORCE_PWD_CHANGE = -1;
479 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGOFF = -1;
480 static gint hf_samr_samr_RidWithAttributeArray_rids = -1;
481 static gint hf_samr_samr_Password_hash = -1;
482 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_OWF_PWD = -1;
483 static gint hf_samr_samr_UserInfo_info25 = -1;
484 static gint hf_samr_samr_UserInfo3_home_drive = -1;
485 static gint hf_samr_samr_QueryDisplayInfo_start_idx = -1;
486 static gint hf_samr_samr_UserInfo_info13 = -1;
487 static gint hf_samr_samr_ChangePasswordUser2_nt_password = -1;
488 static gint hf_samr_samr_ValidatePasswordInfo_bad_pwd_count = -1;
489 static gint hf_samr_samr_QueryGroupMember_rids = -1;
490 static gint hf_samr_samr_UserInfo21_password_expired = -1;
491 static gint hf_samr_samr_EnumDomains_buf_size = -1;
492 static gint hf_samr_samr_DomInfo1_max_password_age = -1;
493 static gint hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_ADD_MEMBER = -1;
494 static gint hf_samr_samr_GroupInfoAll_description = -1;
495 static gint hf_samr_samr_UserInfo3_logon_count = -1;
496 static gint hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY = -1;
497 static gint hf_samr_samr_GroupInfo_name = -1;
498 static gint hf_samr_samr_UserInfo3_force_password_change = -1;
499 static gint hf_samr_samr_ChangePasswordUser_nt_present = -1;
500 static gint hf_samr_samr_UserInfo21_home_directory = -1;
501 static gint hf_samr_samr_UserInfo_info12 = -1;
502 static gint hf_samr_samr_OemChangePasswordUser2_password = -1;
503 static gint hf_samr_samr_RidTypeArray_types = -1;
504 static gint hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_ALIAS = -1;
505 static gint hf_samr_opnum = -1;
506 static gint hf_samr_samr_ChangePasswordUser3_server = -1;
507 static gint hf_samr_samr_GetDisplayEnumerationIndex2_name = -1;
508 static gint hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_LOOKUP_INFO = -1;
509 static gint hf_samr_samr_UserInfo14_workstations = -1;
510 static gint hf_samr_samr_DispInfo_info3 = -1;
511 static gint hf_samr_samr_DomainInfo_info8 = -1;
512 static gint hf_samr_samr_DispInfoGeneral_entries = -1;
513 static gint hf_samr_samr_UserInfo8_full_name = -1;
514 static gint hf_samr_samr_UserInfo21_logon_count = -1;
515 static gint hf_samr_samr_UserInfo21_code_page = -1;
516 static gint hf_samr_samr_DispEntryFullGroup_acct_flags = -1;
517 static gint hf_samr_samr_SetUserInfo_info = -1;
518 static gint hf_samr_samr_OpenDomain_sid = -1;
519 static gint hf_samr_samr_DispEntryFull_account_name = -1;
520 static gint hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH = -1;
521 static gint hf_samr_samr_CreateUser2_acct_flags = -1;
522 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DRIVE = -1;
523 static gint hf_samr_samr_DomainInfo_info1 = -1;
524 static gint hf_samr_samr_ValidatePasswordRep_ctr1 = -1;
525 static gint hf_samr_samr_UserInfo18_nt_pwd_active = -1;
526 static gint hf_samr_samr_AcctFlags_ACB_DOMTRUST = -1;
527 static gint hf_samr_samr_ChangePasswordUser_lm_cross = -1;
528 static gint hf_samr_samr_UserInfo3_profile_path = -1;
529 static gint hf_samr_samr_UserInfo21_unknown4 = -1;
530 static gint hf_samr_samr_DomInfo13_domain_create_time = -1;
531 static gint hf_samr_samr_AcctFlags_ACB_WSTRUST = -1;
532 static gint hf_samr_samr_DispEntryAscii_idx = -1;
533 static gint hf_samr_samr_DomInfo5_domain_name = -1;
534 static gint hf_samr_samr_UserInfo5_logon_count = -1;
535 static gint hf_samr_samr_UserInfo5_last_logoff = -1;
536 static gint hf_samr_samr_ValidatePassword_level = -1;
537 static gint hf_samr_samr_UserInfo6_full_name = -1;
538 static gint hf_samr_samr_LookupRids_names = -1;
539 static gint hf_samr_samr_UserInfo10_home_drive = -1;
540 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_FLAGS = -1;
541 static gint hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUPS = -1;
542 static gint hf_samr_samr_RemoveMultipleMembersFromAlias_sids = -1;
543 static gint hf_samr_samr_OemChangePasswordUser2_account = -1;
544 static gint hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_ENUM_DOMAINS = -1;
545 static gint hf_samr_samr_UserInfo_info4 = -1;
546 static gint hf_samr_samr_QueryDisplayInfo2_info = -1;
547 static gint hf_samr_samr_DomInfo1_password_properties = -1;
548 static gint hf_samr_samr_UserInfo21_logon_script = -1;
549 static gint hf_samr_samr_AcctFlags_ACB_AUTOLOCK = -1;
550 static gint hf_samr_samr_GetBootKeyInformation_unknown = -1;
551 static gint hf_samr_samr_RidWithAttribute_attributes = -1;
552 static gint hf_samr_samr_CryptPassword_data = -1;
553 static gint hf_samr_samr_AliasInfo_name = -1;
554 static gint hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_USER = -1;
555 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_COMMENT = -1;
556 static gint hf_samr_samr_UserInfo3_last_password_change = -1;
557 static gint hf_samr_samr_Shutdown_connect_handle = -1;
558 static gint hf_samr_sec_desc_buf_len = -1;
559 static gint hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED = -1;
560 static gint hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2 = -1;
561 static gint hf_samr_samr_ValidationBlob_length = -1;
562 static gint hf_samr_samr_DispEntryGeneral_idx = -1;
563 static gint hf_samr_samr_QueryDisplayInfo2_start_idx = -1;
564 static gint hf_samr_samr_UserInfo21_logon_hours = -1;
565 static gint hf_samr_samr_UserInfo21_country_code = -1;
566 static gint hf_samr_samr_SetDsrmPassword_hash = -1;
567 static gint hf_samr_samr_DomainInfo_general = -1;
568 static gint hf_samr_samr_GroupAttrs_SE_GROUP_MANDATORY = -1;
569 static gint hf_samr_samr_UserInfo5_description = -1;
570 static gint hf_samr_samr_DomInfo7_role = -1;
571 static gint hf_samr_samr_UserInfo21_workstations = -1;
572 static gint hf_samr_samr_DispEntryGeneral_description = -1;
573 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIVATE_DATA = -1;
574 static gint hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS = -1;
575 static gint hf_samr_samr_ValidatePasswordReq_req3 = -1;
576 static gint hf_samr_alias_access_mask = -1;
577 static gint hf_samr_samr_ChangePasswordUser2_nt_verifier = -1;
578 static gint hf_samr_samr_AcctFlags_ACB_TRUSTED_FOR_DELEGATION = -1;
579 static gint hf_samr_samr_EnumDomains_connect_handle = -1;
580 static gint hf_samr_samr_UserInfo_info18 = -1;
581 static gint hf_samr_samr_UserInfo21_force_password_change = -1;
582 static gint hf_samr_samr_UserInfo21_nt_password = -1;
583 static gint hf_samr_samr_DomGeneralInformation_domain_server_state = -1;
584 static gint hf_samr_samr_SetBootKeyInformation_unknown3 = -1;
585 static gint hf_samr_samr_EnumDomainUsers_num_entries = -1;
586 static gint hf_samr_samr_ValidatePasswordReq2_info = -1;
587 static gint hf_samr_samr_LookupNames_num_names = -1;
588 static gint hf_samr_samr_QueryDisplayInfo3_level = -1;
589 static gint hf_samr_samr_RidTypeArray_count = -1;
590 static gint hf_samr_samr_QueryDisplayInfo2_max_entries = -1;
591 static gint hf_samr_samr_ValidatePasswordInfo_last_password_change = -1;
592 static gint hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOCALE = -1;
593 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_HOURS = -1;
594 static gint hf_samr_samr_ChangePasswordUser3_dominfo = -1;
595 static gint hf_samr_samr_ValidationBlob_data = -1;
596 static gint hf_samr_samr_UserInfo18_lm_pwd_active = -1;
597 static gint hf_samr_samr_UserInfo_info26 = -1;
598 static gint hf_samr_samr_GroupInfoAll_attributes = -1;
599 static gint hf_samr_samr_DomainInfo_info7 = -1;
600 static gint hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CONNECT_TO_SERVER = -1;
601 static gint hf_samr_samr_EnumDomains_num_entries = -1;
602 static gint hf_samr_samr_UserInfo21_parameters = -1;
603 static gint hf_samr_samr_DispEntryGeneral_acct_flags = -1;
604 static gint hf_samr_connect_handle = -1;
605 static gint hf_samr_samr_AcctFlags_ACB_TEMPDUP = -1;
606 static gint hf_samr_samr_DispInfoFullGroups_count = -1;
607 static gint hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1 = -1;
608 static gint hf_samr_samr_GetAliasMembership_rids = -1;
609 static gint hf_samr_samr_UserInfo6_account_name = -1;
610 static gint hf_samr_connect_access_mask = -1;
611 static gint hf_samr_samr_UserInfo_info3 = -1;
612 static gint hf_samr_samr_Connect5_level_in = -1;
613 static gint hf_samr_samr_DomInfo12_lockout_window = -1;
614 static gint hf_samr_samr_RidToSid_sid = -1;
615 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_SEC_DESC = -1;
616 static gint hf_samr_samr_GetUserPwInfo_info = -1;
617 static gint hf_samr_samr_EnumDomainUsers_acct_flags = -1;
618 static gint hf_samr_samr_DomainInfo_info6 = -1;
619 static gint hf_samr_samr_CreateDomAlias_alias_name = -1;
620 static gint hf_samr_samr_EnumDomainUsers_sam = -1;
621 static gint hf_samr_samr_DispInfo_info5 = -1;
622 static gint hf_samr_samr_GetGroupsForUser_rids = -1;
623 static gint hf_samr_samr_UserInfo3_last_logoff = -1;
624 static gint hf_samr_samr_ValidatePasswordRepCtr_info = -1;
625 static gint hf_samr_samr_SetGroupInfo_level = -1;
626 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_NT_PASSWORD_PRESENT = -1;
627 static gint hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_PASSWORD = -1;
628 static gint hf_samr_samr_SetUserInfo2_level = -1;
629 static gint hf_samr_samr_UserInfo5_acct_expiry = -1;
630 static gint hf_samr_samr_Connect5_info_in = -1;
631 static gint hf_samr_samr_UserInfo21_nt_password_set = -1;
632 static gint hf_samr_samr_UserInfo_info20 = -1;
633 static gint hf_samr_alias_handle = -1;
634 static gint hf_samr_samr_UserInfo5_account_name = -1;
635 static gint hf_samr_samr_DispInfoFull_entries = -1;
636 static gint hf_samr_samr_UserInfo5_full_name = -1;
637 static gint hf_samr_samr_ChangePasswordUser3_lm_verifier = -1;
638 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIMARY_GID = -1;
639 static gint hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_3 = -1;
640 static gint hf_samr_samr_GroupAttrs_SE_GROUP_USE_FOR_DENY_ONLY = -1;
641 static gint hf_samr_samr_DispInfoAscii_count = -1;
642 static gint hf_samr_samr_GetMembersInAlias_sids = -1;
643 static gint hf_samr_samr_QueryDisplayInfo3_info = -1;
644 static gint hf_samr_samr_OemChangePasswordUser2_hash = -1;
645 static gint hf_samr_samr_QueryUserInfo2_level = -1;
646 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_BAD_PWD_COUNT = -1;
647 static gint hf_samr_samr_ValidatePasswordReq3_clear_lockout = -1;
648 static gint hf_samr_samr_Connect4_client_version = -1;
649 static gint hf_samr_samr_GetDisplayEnumerationIndex_level = -1;
650 static gint hf_samr_samr_UserInfo5_workstations = -1;
651 static gint hf_samr_samr_DispEntryFullGroup_account_name = -1;
652 static gint hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_LOCKOUT_TIME = -1;
653 static gint hf_samr_samr_UserInfo1_comment = -1;
654 static gint hf_samr_samr_QueryDisplayInfo_total_size = -1;
655 static gint hf_samr_samr_EnumDomains_sam = -1;
656 static gint hf_samr_samr_UserInfo2_code_page = -1;
657 static gint hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_LOCKOUT_ADMINS = -1;
658 static gint hf_samr_samr_DomGeneralInformation_unknown3 = -1;
659 static gint hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_ATTRIBUTES = -1;
660 static gint hf_samr_samr_QueryDisplayInfo_buf_size = -1;
661 static gint hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_REMOVE_MEMBER = -1;
662 static gint hf_samr_samr_QueryGroupInfo_level = -1;
663 static gint hf_samr_samr_SetAliasInfo_level = -1;
664 static gint hf_samr_samr_UserInfo21_buffer = -1;
665 static gint hf_samr_samr_QueryDisplayInfo_level = -1;
666 static gint hf_samr_samr_SetDsrmPassword_unknown = -1;
667 static gint hf_samr_samr_UserInfo5_last_password_change = -1;
668 static gint hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_GROUP = -1;
669 static gint hf_samr_samr_QueryDisplayInfo_returned_size = -1;
670 static gint hf_samr_samr_UserInfo21_allow_password_change = -1;
671 static gint hf_samr_samr_ConnectInfo_info1 = -1;
672 static gint hf_samr_samr_FieldsPresent_SAMR_FIELD_FULL_NAME = -1;
673 static gint hf_samr_samr_AliasInfoAll_description = -1;
675 static gint proto_dcerpc_samr = -1;
676 /* Version information */
679 static e_uuid_t uuid_dcerpc_samr = {
680 0x12345778, 0x1234, 0xabcd,
681 { 0xef, 0x00, 0x01, 0x23, 0x45, 0x67, 0x89, 0xac }
683 static guint16 ver_dcerpc_samr = 1;
685 static int samr_dissect_element_lsa_Strings_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
686 static int samr_dissect_element_lsa_Strings_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
687 static int samr_dissect_element_lsa_Strings_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
688 static int samr_dissect_element_lsa_Strings_names__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
689 const value_string samr_lsa_SidType_vals[] = {
690 { SID_NAME_USE_NONE, "SID_NAME_USE_NONE" },
691 { SID_NAME_USER, "SID_NAME_USER" },
692 { SID_NAME_DOM_GRP, "SID_NAME_DOM_GRP" },
693 { SID_NAME_DOMAIN, "SID_NAME_DOMAIN" },
694 { SID_NAME_ALIAS, "SID_NAME_ALIAS" },
695 { SID_NAME_WKN_GRP, "SID_NAME_WKN_GRP" },
696 { SID_NAME_DELETED, "SID_NAME_DELETED" },
697 { SID_NAME_INVALID, "SID_NAME_INVALID" },
698 { SID_NAME_UNKNOWN, "SID_NAME_UNKNOWN" },
699 { SID_NAME_COMPUTER, "SID_NAME_COMPUTER" },
700 { 0, NULL }
702 const value_string samr_samr_RejectReason_vals[] = {
703 { SAMR_REJECT_OTHER, "SAMR_REJECT_OTHER" },
704 { SAMR_REJECT_TOO_SHORT, "SAMR_REJECT_TOO_SHORT" },
705 { SAMR_REJECT_IN_HISTORY, "SAMR_REJECT_IN_HISTORY" },
706 { SAMR_REJECT_COMPLEXITY, "SAMR_REJECT_COMPLEXITY" },
707 { 0, NULL }
709 static const true_false_string samr_AcctFlags_ACB_DISABLED_tfs = {
710 "ACB_DISABLED is SET",
711 "ACB_DISABLED is NOT SET",
713 static const true_false_string samr_AcctFlags_ACB_HOMDIRREQ_tfs = {
714 "ACB_HOMDIRREQ is SET",
715 "ACB_HOMDIRREQ is NOT SET",
717 static const true_false_string samr_AcctFlags_ACB_PWNOTREQ_tfs = {
718 "ACB_PWNOTREQ is SET",
719 "ACB_PWNOTREQ is NOT SET",
721 static const true_false_string samr_AcctFlags_ACB_TEMPDUP_tfs = {
722 "ACB_TEMPDUP is SET",
723 "ACB_TEMPDUP is NOT SET",
725 static const true_false_string samr_AcctFlags_ACB_NORMAL_tfs = {
726 "ACB_NORMAL is SET",
727 "ACB_NORMAL is NOT SET",
729 static const true_false_string samr_AcctFlags_ACB_MNS_tfs = {
730 "ACB_MNS is SET",
731 "ACB_MNS is NOT SET",
733 static const true_false_string samr_AcctFlags_ACB_DOMTRUST_tfs = {
734 "ACB_DOMTRUST is SET",
735 "ACB_DOMTRUST is NOT SET",
737 static const true_false_string samr_AcctFlags_ACB_WSTRUST_tfs = {
738 "ACB_WSTRUST is SET",
739 "ACB_WSTRUST is NOT SET",
741 static const true_false_string samr_AcctFlags_ACB_SVRTRUST_tfs = {
742 "ACB_SVRTRUST is SET",
743 "ACB_SVRTRUST is NOT SET",
745 static const true_false_string samr_AcctFlags_ACB_PWNOEXP_tfs = {
746 "ACB_PWNOEXP is SET",
747 "ACB_PWNOEXP is NOT SET",
749 static const true_false_string samr_AcctFlags_ACB_AUTOLOCK_tfs = {
750 "ACB_AUTOLOCK is SET",
751 "ACB_AUTOLOCK is NOT SET",
753 static const true_false_string samr_AcctFlags_ACB_ENC_TXT_PWD_ALLOWED_tfs = {
754 "ACB_ENC_TXT_PWD_ALLOWED is SET",
755 "ACB_ENC_TXT_PWD_ALLOWED is NOT SET",
757 static const true_false_string samr_AcctFlags_ACB_SMARTCARD_REQUIRED_tfs = {
758 "ACB_SMARTCARD_REQUIRED is SET",
759 "ACB_SMARTCARD_REQUIRED is NOT SET",
761 static const true_false_string samr_AcctFlags_ACB_TRUSTED_FOR_DELEGATION_tfs = {
762 "ACB_TRUSTED_FOR_DELEGATION is SET",
763 "ACB_TRUSTED_FOR_DELEGATION is NOT SET",
765 static const true_false_string samr_AcctFlags_ACB_NOT_DELEGATED_tfs = {
766 "ACB_NOT_DELEGATED is SET",
767 "ACB_NOT_DELEGATED is NOT SET",
769 static const true_false_string samr_AcctFlags_ACB_USE_DES_KEY_ONLY_tfs = {
770 "ACB_USE_DES_KEY_ONLY is SET",
771 "ACB_USE_DES_KEY_ONLY is NOT SET",
773 static const true_false_string samr_AcctFlags_ACB_DONT_REQUIRE_PREAUTH_tfs = {
774 "ACB_DONT_REQUIRE_PREAUTH is SET",
775 "ACB_DONT_REQUIRE_PREAUTH is NOT SET",
777 static const true_false_string samr_AcctFlags_ACB_PW_EXPIRED_tfs = {
778 "ACB_PW_EXPIRED is SET",
779 "ACB_PW_EXPIRED is NOT SET",
781 static const true_false_string samr_AcctFlags_ACB_TRUST_AUTH_DELEGAT_tfs = {
782 "ACB_TRUST_AUTH_DELEGAT is SET",
783 "ACB_TRUST_AUTH_DELEGAT is NOT SET",
785 static const true_false_string samr_AcctFlags_ACB_NO_AUTH_DATA_REQD_tfs = {
786 "ACB_NO_AUTH_DATA_REQD is SET",
787 "ACB_NO_AUTH_DATA_REQD is NOT SET",
789 static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_CONNECT_TO_SERVER_tfs = {
790 "SAMR_ACCESS_CONNECT_TO_SERVER is SET",
791 "SAMR_ACCESS_CONNECT_TO_SERVER is NOT SET",
793 static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_SHUTDOWN_SERVER_tfs = {
794 "SAMR_ACCESS_SHUTDOWN_SERVER is SET",
795 "SAMR_ACCESS_SHUTDOWN_SERVER is NOT SET",
797 static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_INITIALIZE_SERVER_tfs = {
798 "SAMR_ACCESS_INITIALIZE_SERVER is SET",
799 "SAMR_ACCESS_INITIALIZE_SERVER is NOT SET",
801 static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_CREATE_DOMAIN_tfs = {
802 "SAMR_ACCESS_CREATE_DOMAIN is SET",
803 "SAMR_ACCESS_CREATE_DOMAIN is NOT SET",
805 static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_ENUM_DOMAINS_tfs = {
806 "SAMR_ACCESS_ENUM_DOMAINS is SET",
807 "SAMR_ACCESS_ENUM_DOMAINS is NOT SET",
809 static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_LOOKUP_DOMAIN_tfs = {
810 "SAMR_ACCESS_LOOKUP_DOMAIN is SET",
811 "SAMR_ACCESS_LOOKUP_DOMAIN is NOT SET",
813 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_NAME_ETC_tfs = {
814 "SAMR_USER_ACCESS_GET_NAME_ETC is SET",
815 "SAMR_USER_ACCESS_GET_NAME_ETC is NOT SET",
817 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOCALE_tfs = {
818 "SAMR_USER_ACCESS_GET_LOCALE is SET",
819 "SAMR_USER_ACCESS_GET_LOCALE is NOT SET",
821 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_SET_LOC_COM_tfs = {
822 "SAMR_USER_ACCESS_SET_LOC_COM is SET",
823 "SAMR_USER_ACCESS_SET_LOC_COM is NOT SET",
825 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOGONINFO_tfs = {
826 "SAMR_USER_ACCESS_GET_LOGONINFO is SET",
827 "SAMR_USER_ACCESS_GET_LOGONINFO is NOT SET",
829 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_ATTRIBUTES_tfs = {
830 "SAMR_USER_ACCESS_GET_ATTRIBUTES is SET",
831 "SAMR_USER_ACCESS_GET_ATTRIBUTES is NOT SET",
833 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_SET_ATTRIBUTES_tfs = {
834 "SAMR_USER_ACCESS_SET_ATTRIBUTES is SET",
835 "SAMR_USER_ACCESS_SET_ATTRIBUTES is NOT SET",
837 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_PASSWORD_tfs = {
838 "SAMR_USER_ACCESS_CHANGE_PASSWORD is SET",
839 "SAMR_USER_ACCESS_CHANGE_PASSWORD is NOT SET",
841 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_SET_PASSWORD_tfs = {
842 "SAMR_USER_ACCESS_SET_PASSWORD is SET",
843 "SAMR_USER_ACCESS_SET_PASSWORD is NOT SET",
845 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUPS_tfs = {
846 "SAMR_USER_ACCESS_GET_GROUPS is SET",
847 "SAMR_USER_ACCESS_GET_GROUPS is NOT SET",
849 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP_tfs = {
850 "SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP is SET",
851 "SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP is NOT SET",
853 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP_tfs = {
854 "SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP is SET",
855 "SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP is NOT SET",
857 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1_tfs = {
858 "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1 is SET",
859 "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1 is NOT SET",
861 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_1_tfs = {
862 "SAMR_DOMAIN_ACCESS_SET_INFO_1 is SET",
863 "SAMR_DOMAIN_ACCESS_SET_INFO_1 is NOT SET",
865 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2_tfs = {
866 "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2 is SET",
867 "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2 is NOT SET",
869 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_2_tfs = {
870 "SAMR_DOMAIN_ACCESS_SET_INFO_2 is SET",
871 "SAMR_DOMAIN_ACCESS_SET_INFO_2 is NOT SET",
873 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_USER_tfs = {
874 "SAMR_DOMAIN_ACCESS_CREATE_USER is SET",
875 "SAMR_DOMAIN_ACCESS_CREATE_USER is NOT SET",
877 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_GROUP_tfs = {
878 "SAMR_DOMAIN_ACCESS_CREATE_GROUP is SET",
879 "SAMR_DOMAIN_ACCESS_CREATE_GROUP is NOT SET",
881 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_ALIAS_tfs = {
882 "SAMR_DOMAIN_ACCESS_CREATE_ALIAS is SET",
883 "SAMR_DOMAIN_ACCESS_CREATE_ALIAS is NOT SET",
885 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS_tfs = {
886 "SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS is SET",
887 "SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS is NOT SET",
889 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS_tfs = {
890 "SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS is SET",
891 "SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS is NOT SET",
893 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT_tfs = {
894 "SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT is SET",
895 "SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT is NOT SET",
897 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_3_tfs = {
898 "SAMR_DOMAIN_ACCESS_SET_INFO_3 is SET",
899 "SAMR_DOMAIN_ACCESS_SET_INFO_3 is NOT SET",
901 static const true_false_string samr_GroupAccessMask_SAMR_GROUP_ACCESS_LOOKUP_INFO_tfs = {
902 "SAMR_GROUP_ACCESS_LOOKUP_INFO is SET",
903 "SAMR_GROUP_ACCESS_LOOKUP_INFO is NOT SET",
905 static const true_false_string samr_GroupAccessMask_SAMR_GROUP_ACCESS_SET_INFO_tfs = {
906 "SAMR_GROUP_ACCESS_SET_INFO is SET",
907 "SAMR_GROUP_ACCESS_SET_INFO is NOT SET",
909 static const true_false_string samr_GroupAccessMask_SAMR_GROUP_ACCESS_ADD_MEMBER_tfs = {
910 "SAMR_GROUP_ACCESS_ADD_MEMBER is SET",
911 "SAMR_GROUP_ACCESS_ADD_MEMBER is NOT SET",
913 static const true_false_string samr_GroupAccessMask_SAMR_GROUP_ACCESS_REMOVE_MEMBER_tfs = {
914 "SAMR_GROUP_ACCESS_REMOVE_MEMBER is SET",
915 "SAMR_GROUP_ACCESS_REMOVE_MEMBER is NOT SET",
917 static const true_false_string samr_GroupAccessMask_SAMR_GROUP_ACCESS_GET_MEMBERS_tfs = {
918 "SAMR_GROUP_ACCESS_GET_MEMBERS is SET",
919 "SAMR_GROUP_ACCESS_GET_MEMBERS is NOT SET",
921 static const true_false_string samr_AliasAccessMask_SAMR_ALIAS_ACCESS_ADD_MEMBER_tfs = {
922 "SAMR_ALIAS_ACCESS_ADD_MEMBER is SET",
923 "SAMR_ALIAS_ACCESS_ADD_MEMBER is NOT SET",
925 static const true_false_string samr_AliasAccessMask_SAMR_ALIAS_ACCESS_REMOVE_MEMBER_tfs = {
926 "SAMR_ALIAS_ACCESS_REMOVE_MEMBER is SET",
927 "SAMR_ALIAS_ACCESS_REMOVE_MEMBER is NOT SET",
929 static const true_false_string samr_AliasAccessMask_SAMR_ALIAS_ACCESS_GET_MEMBERS_tfs = {
930 "SAMR_ALIAS_ACCESS_GET_MEMBERS is SET",
931 "SAMR_ALIAS_ACCESS_GET_MEMBERS is NOT SET",
933 static const true_false_string samr_AliasAccessMask_SAMR_ALIAS_ACCESS_LOOKUP_INFO_tfs = {
934 "SAMR_ALIAS_ACCESS_LOOKUP_INFO is SET",
935 "SAMR_ALIAS_ACCESS_LOOKUP_INFO is NOT SET",
937 static const true_false_string samr_AliasAccessMask_SAMR_ALIAS_ACCESS_SET_INFO_tfs = {
938 "SAMR_ALIAS_ACCESS_SET_INFO is SET",
939 "SAMR_ALIAS_ACCESS_SET_INFO is NOT SET",
941 static int samr_dissect_element_SamEntry_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
942 static int samr_dissect_element_SamEntry_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
943 static int samr_dissect_element_SamArray_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
944 static int samr_dissect_element_SamArray_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
945 static int samr_dissect_element_SamArray_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
946 static int samr_dissect_element_SamArray_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
947 const value_string samr_samr_DomainInfoClass_vals[] = {
948 { DomainPasswordInformation, "DomainPasswordInformation" },
949 { DomainGeneralInformation, "DomainGeneralInformation" },
950 { DomainLogoffInformation, "DomainLogoffInformation" },
951 { DomainOemInformation, "DomainOemInformation" },
952 { DomainNameInformation, "DomainNameInformation" },
953 { DomainReplicationInformation, "DomainReplicationInformation" },
954 { DomainServerRoleInformation, "DomainServerRoleInformation" },
955 { DomainModifiedInformation, "DomainModifiedInformation" },
956 { DomainStateInformation, "DomainStateInformation" },
957 { DomainUasInformation, "DomainUasInformation" },
958 { DomainGeneralInformation2, "DomainGeneralInformation2" },
959 { DomainLockoutInformation, "DomainLockoutInformation" },
960 { DomainModifiedInformation2, "DomainModifiedInformation2" },
961 { 0, NULL }
963 const value_string samr_samr_Role_vals[] = {
964 { SAMR_ROLE_STANDALONE, "SAMR_ROLE_STANDALONE" },
965 { SAMR_ROLE_DOMAIN_MEMBER, "SAMR_ROLE_DOMAIN_MEMBER" },
966 { SAMR_ROLE_DOMAIN_BDC, "SAMR_ROLE_DOMAIN_BDC" },
967 { SAMR_ROLE_DOMAIN_PDC, "SAMR_ROLE_DOMAIN_PDC" },
968 { 0, NULL }
970 static const true_false_string samr_PasswordProperties_DOMAIN_PASSWORD_COMPLEX_tfs = {
971 "DOMAIN_PASSWORD_COMPLEX is SET",
972 "DOMAIN_PASSWORD_COMPLEX is NOT SET",
974 static const true_false_string samr_PasswordProperties_DOMAIN_PASSWORD_NO_ANON_CHANGE_tfs = {
975 "DOMAIN_PASSWORD_NO_ANON_CHANGE is SET",
976 "DOMAIN_PASSWORD_NO_ANON_CHANGE is NOT SET",
978 static const true_false_string samr_PasswordProperties_DOMAIN_PASSWORD_NO_CLEAR_CHANGE_tfs = {
979 "DOMAIN_PASSWORD_NO_CLEAR_CHANGE is SET",
980 "DOMAIN_PASSWORD_NO_CLEAR_CHANGE is NOT SET",
982 static const true_false_string samr_PasswordProperties_DOMAIN_PASSWORD_LOCKOUT_ADMINS_tfs = {
983 "DOMAIN_PASSWORD_LOCKOUT_ADMINS is SET",
984 "DOMAIN_PASSWORD_LOCKOUT_ADMINS is NOT SET",
986 static const true_false_string samr_PasswordProperties_DOMAIN_PASSWORD_STORE_CLEARTEXT_tfs = {
987 "DOMAIN_PASSWORD_STORE_CLEARTEXT is SET",
988 "DOMAIN_PASSWORD_STORE_CLEARTEXT is NOT SET",
990 static const true_false_string samr_PasswordProperties_DOMAIN_REFUSE_PASSWORD_CHANGE_tfs = {
991 "DOMAIN_REFUSE_PASSWORD_CHANGE is SET",
992 "DOMAIN_REFUSE_PASSWORD_CHANGE is NOT SET",
994 const value_string samr_samr_DomainServerState_vals[] = {
995 { DOMAIN_SERVER_ENABLED, "DOMAIN_SERVER_ENABLED" },
996 { DOMAIN_SERVER_DISABLED, "DOMAIN_SERVER_DISABLED" },
997 { 0, NULL }
999 static int samr_dissect_element_DomInfo1_min_password_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1000 static int samr_dissect_element_DomInfo1_password_history_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1001 static int samr_dissect_element_DomInfo1_password_properties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1002 static int samr_dissect_element_DomInfo1_max_password_age(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1003 static int samr_dissect_element_DomInfo1_min_password_age(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1004 static int samr_dissect_element_DomGeneralInformation_force_logoff_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1005 static int samr_dissect_element_DomGeneralInformation_oem_information(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1006 static int samr_dissect_element_DomGeneralInformation_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1007 static int samr_dissect_element_DomGeneralInformation_primary(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1008 static int samr_dissect_element_DomGeneralInformation_sequence_num(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1009 static int samr_dissect_element_DomGeneralInformation_domain_server_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1010 static int samr_dissect_element_DomGeneralInformation_role(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1011 static int samr_dissect_element_DomGeneralInformation_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1012 static int samr_dissect_element_DomGeneralInformation_num_users(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1013 static int samr_dissect_element_DomGeneralInformation_num_groups(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1014 static int samr_dissect_element_DomGeneralInformation_num_aliases(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1015 static int samr_dissect_element_DomInfo3_force_logoff_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1016 static int samr_dissect_element_DomOEMInformation_oem_information(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1017 static int samr_dissect_element_DomInfo5_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1018 static int samr_dissect_element_DomInfo6_primary(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1019 static int samr_dissect_element_DomInfo7_role(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1020 static int samr_dissect_element_DomInfo8_sequence_num(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1021 static int samr_dissect_element_DomInfo8_domain_create_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1022 static int samr_dissect_element_DomInfo9_domain_server_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1023 static int samr_dissect_element_DomGeneralInformation2_general(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1024 static int samr_dissect_element_DomGeneralInformation2_lockout_duration(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1025 static int samr_dissect_element_DomGeneralInformation2_lockout_window(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1026 static int samr_dissect_element_DomGeneralInformation2_lockout_threshold(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1027 static int samr_dissect_element_DomInfo12_lockout_duration(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1028 static int samr_dissect_element_DomInfo12_lockout_window(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1029 static int samr_dissect_element_DomInfo12_lockout_threshold(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1030 static int samr_dissect_element_DomInfo13_sequence_num(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1031 static int samr_dissect_element_DomInfo13_domain_create_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1032 static int samr_dissect_element_DomInfo13_modified_count_at_last_promotion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1033 static int samr_dissect_element_DomainInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1034 static int samr_dissect_element_DomainInfo_general(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1035 static int samr_dissect_element_DomainInfo_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1036 static int samr_dissect_element_DomainInfo_oem(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1037 static int samr_dissect_element_DomainInfo_info5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1038 static int samr_dissect_element_DomainInfo_info6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1039 static int samr_dissect_element_DomainInfo_info7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1040 static int samr_dissect_element_DomainInfo_info8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1041 static int samr_dissect_element_DomainInfo_info9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1042 static int samr_dissect_element_DomainInfo_general2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1043 static int samr_dissect_element_DomainInfo_info12(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1044 static int samr_dissect_element_DomainInfo_info13(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1045 static int samr_dissect_element_Ids_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1046 static int samr_dissect_element_Ids_ids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1047 static int samr_dissect_element_Ids_ids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1048 static int samr_dissect_element_Ids_ids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1049 static const true_false_string samr_GroupAttrs_SE_GROUP_MANDATORY_tfs = {
1050 "SE_GROUP_MANDATORY is SET",
1051 "SE_GROUP_MANDATORY is NOT SET",
1053 static const true_false_string samr_GroupAttrs_SE_GROUP_ENABLED_BY_DEFAULT_tfs = {
1054 "SE_GROUP_ENABLED_BY_DEFAULT is SET",
1055 "SE_GROUP_ENABLED_BY_DEFAULT is NOT SET",
1057 static const true_false_string samr_GroupAttrs_SE_GROUP_ENABLED_tfs = {
1058 "SE_GROUP_ENABLED is SET",
1059 "SE_GROUP_ENABLED is NOT SET",
1061 static const true_false_string samr_GroupAttrs_SE_GROUP_OWNER_tfs = {
1062 "SE_GROUP_OWNER is SET",
1063 "SE_GROUP_OWNER is NOT SET",
1065 static const true_false_string samr_GroupAttrs_SE_GROUP_USE_FOR_DENY_ONLY_tfs = {
1066 "SE_GROUP_USE_FOR_DENY_ONLY is SET",
1067 "SE_GROUP_USE_FOR_DENY_ONLY is NOT SET",
1069 static const true_false_string samr_GroupAttrs_SE_GROUP_RESOURCE_tfs = {
1070 "SE_GROUP_RESOURCE is SET",
1071 "SE_GROUP_RESOURCE is NOT SET",
1073 static const true_false_string samr_GroupAttrs_SE_GROUP_LOGON_ID_tfs = {
1074 "SE_GROUP_LOGON_ID is SET",
1075 "SE_GROUP_LOGON_ID is NOT SET",
1077 static int samr_dissect_element_GroupInfoAll_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1078 static int samr_dissect_element_GroupInfoAll_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1079 static int samr_dissect_element_GroupInfoAll_num_members(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1080 static int samr_dissect_element_GroupInfoAll_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1081 static int samr_dissect_element_GroupInfoAttributes_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1082 static int samr_dissect_element_GroupInfoDescription_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1083 const value_string samr_samr_GroupInfoEnum_vals[] = {
1084 { GROUPINFOALL, "GROUPINFOALL" },
1085 { GROUPINFONAME, "GROUPINFONAME" },
1086 { GROUPINFOATTRIBUTES, "GROUPINFOATTRIBUTES" },
1087 { GROUPINFODESCRIPTION, "GROUPINFODESCRIPTION" },
1088 { GROUPINFOALL2, "GROUPINFOALL2" },
1089 { 0, NULL }
1091 static int samr_dissect_element_GroupInfo_all(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1092 static int samr_dissect_element_GroupInfo_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1093 static int samr_dissect_element_GroupInfo_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1094 static int samr_dissect_element_GroupInfo_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1095 static int samr_dissect_element_GroupInfo_all2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1096 static int samr_dissect_element_RidTypeArray_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1097 static int samr_dissect_element_RidTypeArray_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1098 static int samr_dissect_element_RidTypeArray_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1099 static int samr_dissect_element_RidTypeArray_rids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1100 static int samr_dissect_element_RidTypeArray_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1101 static int samr_dissect_element_RidTypeArray_types_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1102 static int samr_dissect_element_RidTypeArray_types__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1103 static int samr_dissect_element_AliasInfoAll_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1104 static int samr_dissect_element_AliasInfoAll_num_members(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1105 static int samr_dissect_element_AliasInfoAll_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1106 const value_string samr_samr_AliasInfoEnum_vals[] = {
1107 { ALIASINFOALL, "ALIASINFOALL" },
1108 { ALIASINFONAME, "ALIASINFONAME" },
1109 { ALIASINFODESCRIPTION, "ALIASINFODESCRIPTION" },
1110 { 0, NULL }
1112 static int samr_dissect_element_AliasInfo_all(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1113 static int samr_dissect_element_AliasInfo_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1114 static int samr_dissect_element_AliasInfo_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1115 const value_string samr_samr_UserInfoLevel_vals[] = {
1116 { UserGeneralInformation, "UserGeneralInformation" },
1117 { UserPreferencesInformation, "UserPreferencesInformation" },
1118 { UserLogonInformation, "UserLogonInformation" },
1119 { UserLogonHoursInformation, "UserLogonHoursInformation" },
1120 { UserAccountInformation, "UserAccountInformation" },
1121 { UserNameInformation, "UserNameInformation" },
1122 { UserAccountNameInformation, "UserAccountNameInformation" },
1123 { UserFullNameInformation, "UserFullNameInformation" },
1124 { UserPrimaryGroupInformation, "UserPrimaryGroupInformation" },
1125 { UserHomeInformation, "UserHomeInformation" },
1126 { UserScriptInformation, "UserScriptInformation" },
1127 { UserProfileInformation, "UserProfileInformation" },
1128 { UserAdminCommentInformation, "UserAdminCommentInformation" },
1129 { UserWorkStationsInformation, "UserWorkStationsInformation" },
1130 { UserControlInformation, "UserControlInformation" },
1131 { UserExpiresInformation, "UserExpiresInformation" },
1132 { UserInternal1Information, "UserInternal1Information" },
1133 { UserParametersInformation, "UserParametersInformation" },
1134 { UserAllInformation, "UserAllInformation" },
1135 { UserInternal4Information, "UserInternal4Information" },
1136 { UserInternal5Information, "UserInternal5Information" },
1137 { UserInternal4InformationNew, "UserInternal4InformationNew" },
1138 { UserInternal5InformationNew, "UserInternal5InformationNew" },
1139 { 0, NULL }
1141 static int samr_dissect_element_UserInfo1_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1142 static int samr_dissect_element_UserInfo1_full_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1143 static int samr_dissect_element_UserInfo1_primary_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1144 static int samr_dissect_element_UserInfo1_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1145 static int samr_dissect_element_UserInfo1_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1146 static int samr_dissect_element_UserInfo2_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1147 static int samr_dissect_element_UserInfo2_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1148 static int samr_dissect_element_UserInfo2_country_code(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1149 static int samr_dissect_element_UserInfo2_code_page(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1150 static int samr_dissect_element_LogonHours_units_per_week(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1151 static int samr_dissect_element_LogonHours_bits(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1152 static int samr_dissect_element_LogonHours_bits_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1153 static int samr_dissect_element_LogonHours_bits__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1154 static int samr_dissect_element_UserInfo3_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1155 static int samr_dissect_element_UserInfo3_full_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1156 static int samr_dissect_element_UserInfo3_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1157 static int samr_dissect_element_UserInfo3_primary_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1158 static int samr_dissect_element_UserInfo3_home_directory(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1159 static int samr_dissect_element_UserInfo3_home_drive(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1160 static int samr_dissect_element_UserInfo3_logon_script(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1161 static int samr_dissect_element_UserInfo3_profile_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1162 static int samr_dissect_element_UserInfo3_workstations(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1163 static int samr_dissect_element_UserInfo3_last_logon(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1164 static int samr_dissect_element_UserInfo3_last_logoff(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1165 static int samr_dissect_element_UserInfo3_last_password_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1166 static int samr_dissect_element_UserInfo3_allow_password_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1167 static int samr_dissect_element_UserInfo3_force_password_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1168 static int samr_dissect_element_UserInfo3_logon_hours(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1169 static int samr_dissect_element_UserInfo3_bad_password_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1170 static int samr_dissect_element_UserInfo3_logon_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1171 static int samr_dissect_element_UserInfo3_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1172 static int samr_dissect_element_UserInfo4_logon_hours(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1173 static int samr_dissect_element_UserInfo5_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1174 static int samr_dissect_element_UserInfo5_full_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1175 static int samr_dissect_element_UserInfo5_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1176 static int samr_dissect_element_UserInfo5_primary_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1177 static int samr_dissect_element_UserInfo5_home_directory(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1178 static int samr_dissect_element_UserInfo5_home_drive(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1179 static int samr_dissect_element_UserInfo5_logon_script(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1180 static int samr_dissect_element_UserInfo5_profile_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1181 static int samr_dissect_element_UserInfo5_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1182 static int samr_dissect_element_UserInfo5_workstations(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1183 static int samr_dissect_element_UserInfo5_last_logon(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1184 static int samr_dissect_element_UserInfo5_last_logoff(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1185 static int samr_dissect_element_UserInfo5_logon_hours(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1186 static int samr_dissect_element_UserInfo5_bad_password_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1187 static int samr_dissect_element_UserInfo5_logon_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1188 static int samr_dissect_element_UserInfo5_last_password_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1189 static int samr_dissect_element_UserInfo5_acct_expiry(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1190 static int samr_dissect_element_UserInfo5_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1191 static int samr_dissect_element_UserInfo6_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1192 static int samr_dissect_element_UserInfo6_full_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1193 static int samr_dissect_element_UserInfo7_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1194 static int samr_dissect_element_UserInfo8_full_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1195 static int samr_dissect_element_UserInfo9_primary_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1196 static int samr_dissect_element_UserInfo10_home_directory(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1197 static int samr_dissect_element_UserInfo10_home_drive(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1198 static int samr_dissect_element_UserInfo11_logon_script(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1199 static int samr_dissect_element_UserInfo12_profile_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1200 static int samr_dissect_element_UserInfo13_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1201 static int samr_dissect_element_UserInfo14_workstations(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1202 static int samr_dissect_element_UserInfo16_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1203 static int samr_dissect_element_UserInfo17_acct_expiry(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1204 static int samr_dissect_element_Password_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1205 static int samr_dissect_element_Password_hash_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1206 static int samr_dissect_element_UserInfo18_nt_pwd(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1207 static int samr_dissect_element_UserInfo18_lm_pwd(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1208 static int samr_dissect_element_UserInfo18_nt_pwd_active(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1209 static int samr_dissect_element_UserInfo18_lm_pwd_active(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1210 static int samr_dissect_element_UserInfo18_password_expired(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1211 static int samr_dissect_element_UserInfo20_parameters(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1212 static const true_false_string samr_FieldsPresent_SAMR_FIELD_ACCOUNT_NAME_tfs = {
1213 "SAMR_FIELD_ACCOUNT_NAME is SET",
1214 "SAMR_FIELD_ACCOUNT_NAME is NOT SET",
1216 static const true_false_string samr_FieldsPresent_SAMR_FIELD_FULL_NAME_tfs = {
1217 "SAMR_FIELD_FULL_NAME is SET",
1218 "SAMR_FIELD_FULL_NAME is NOT SET",
1220 static const true_false_string samr_FieldsPresent_SAMR_FIELD_RID_tfs = {
1221 "SAMR_FIELD_RID is SET",
1222 "SAMR_FIELD_RID is NOT SET",
1224 static const true_false_string samr_FieldsPresent_SAMR_FIELD_PRIMARY_GID_tfs = {
1225 "SAMR_FIELD_PRIMARY_GID is SET",
1226 "SAMR_FIELD_PRIMARY_GID is NOT SET",
1228 static const true_false_string samr_FieldsPresent_SAMR_FIELD_DESCRIPTION_tfs = {
1229 "SAMR_FIELD_DESCRIPTION is SET",
1230 "SAMR_FIELD_DESCRIPTION is NOT SET",
1232 static const true_false_string samr_FieldsPresent_SAMR_FIELD_COMMENT_tfs = {
1233 "SAMR_FIELD_COMMENT is SET",
1234 "SAMR_FIELD_COMMENT is NOT SET",
1236 static const true_false_string samr_FieldsPresent_SAMR_FIELD_HOME_DIRECTORY_tfs = {
1237 "SAMR_FIELD_HOME_DIRECTORY is SET",
1238 "SAMR_FIELD_HOME_DIRECTORY is NOT SET",
1240 static const true_false_string samr_FieldsPresent_SAMR_FIELD_HOME_DRIVE_tfs = {
1241 "SAMR_FIELD_HOME_DRIVE is SET",
1242 "SAMR_FIELD_HOME_DRIVE is NOT SET",
1244 static const true_false_string samr_FieldsPresent_SAMR_FIELD_LOGON_SCRIPT_tfs = {
1245 "SAMR_FIELD_LOGON_SCRIPT is SET",
1246 "SAMR_FIELD_LOGON_SCRIPT is NOT SET",
1248 static const true_false_string samr_FieldsPresent_SAMR_FIELD_PROFILE_PATH_tfs = {
1249 "SAMR_FIELD_PROFILE_PATH is SET",
1250 "SAMR_FIELD_PROFILE_PATH is NOT SET",
1252 static const true_false_string samr_FieldsPresent_SAMR_FIELD_WORKSTATIONS_tfs = {
1253 "SAMR_FIELD_WORKSTATIONS is SET",
1254 "SAMR_FIELD_WORKSTATIONS is NOT SET",
1256 static const true_false_string samr_FieldsPresent_SAMR_FIELD_LAST_LOGON_tfs = {
1257 "SAMR_FIELD_LAST_LOGON is SET",
1258 "SAMR_FIELD_LAST_LOGON is NOT SET",
1260 static const true_false_string samr_FieldsPresent_SAMR_FIELD_LAST_LOGOFF_tfs = {
1261 "SAMR_FIELD_LAST_LOGOFF is SET",
1262 "SAMR_FIELD_LAST_LOGOFF is NOT SET",
1264 static const true_false_string samr_FieldsPresent_SAMR_FIELD_LOGON_HOURS_tfs = {
1265 "SAMR_FIELD_LOGON_HOURS is SET",
1266 "SAMR_FIELD_LOGON_HOURS is NOT SET",
1268 static const true_false_string samr_FieldsPresent_SAMR_FIELD_BAD_PWD_COUNT_tfs = {
1269 "SAMR_FIELD_BAD_PWD_COUNT is SET",
1270 "SAMR_FIELD_BAD_PWD_COUNT is NOT SET",
1272 static const true_false_string samr_FieldsPresent_SAMR_FIELD_NUM_LOGONS_tfs = {
1273 "SAMR_FIELD_NUM_LOGONS is SET",
1274 "SAMR_FIELD_NUM_LOGONS is NOT SET",
1276 static const true_false_string samr_FieldsPresent_SAMR_FIELD_ALLOW_PWD_CHANGE_tfs = {
1277 "SAMR_FIELD_ALLOW_PWD_CHANGE is SET",
1278 "SAMR_FIELD_ALLOW_PWD_CHANGE is NOT SET",
1280 static const true_false_string samr_FieldsPresent_SAMR_FIELD_FORCE_PWD_CHANGE_tfs = {
1281 "SAMR_FIELD_FORCE_PWD_CHANGE is SET",
1282 "SAMR_FIELD_FORCE_PWD_CHANGE is NOT SET",
1284 static const true_false_string samr_FieldsPresent_SAMR_FIELD_LAST_PWD_CHANGE_tfs = {
1285 "SAMR_FIELD_LAST_PWD_CHANGE is SET",
1286 "SAMR_FIELD_LAST_PWD_CHANGE is NOT SET",
1288 static const true_false_string samr_FieldsPresent_SAMR_FIELD_ACCT_EXPIRY_tfs = {
1289 "SAMR_FIELD_ACCT_EXPIRY is SET",
1290 "SAMR_FIELD_ACCT_EXPIRY is NOT SET",
1292 static const true_false_string samr_FieldsPresent_SAMR_FIELD_ACCT_FLAGS_tfs = {
1293 "SAMR_FIELD_ACCT_FLAGS is SET",
1294 "SAMR_FIELD_ACCT_FLAGS is NOT SET",
1296 static const true_false_string samr_FieldsPresent_SAMR_FIELD_PARAMETERS_tfs = {
1297 "SAMR_FIELD_PARAMETERS is SET",
1298 "SAMR_FIELD_PARAMETERS is NOT SET",
1300 static const true_false_string samr_FieldsPresent_SAMR_FIELD_COUNTRY_CODE_tfs = {
1301 "SAMR_FIELD_COUNTRY_CODE is SET",
1302 "SAMR_FIELD_COUNTRY_CODE is NOT SET",
1304 static const true_false_string samr_FieldsPresent_SAMR_FIELD_CODE_PAGE_tfs = {
1305 "SAMR_FIELD_CODE_PAGE is SET",
1306 "SAMR_FIELD_CODE_PAGE is NOT SET",
1308 static const true_false_string samr_FieldsPresent_SAMR_FIELD_NT_PASSWORD_PRESENT_tfs = {
1309 "SAMR_FIELD_NT_PASSWORD_PRESENT is SET",
1310 "SAMR_FIELD_NT_PASSWORD_PRESENT is NOT SET",
1312 static const true_false_string samr_FieldsPresent_SAMR_FIELD_LM_PASSWORD_PRESENT_tfs = {
1313 "SAMR_FIELD_LM_PASSWORD_PRESENT is SET",
1314 "SAMR_FIELD_LM_PASSWORD_PRESENT is NOT SET",
1316 static const true_false_string samr_FieldsPresent_SAMR_FIELD_PRIVATE_DATA_tfs = {
1317 "SAMR_FIELD_PRIVATE_DATA is SET",
1318 "SAMR_FIELD_PRIVATE_DATA is NOT SET",
1320 static const true_false_string samr_FieldsPresent_SAMR_FIELD_EXPIRED_FLAG_tfs = {
1321 "SAMR_FIELD_EXPIRED_FLAG is SET",
1322 "SAMR_FIELD_EXPIRED_FLAG is NOT SET",
1324 static const true_false_string samr_FieldsPresent_SAMR_FIELD_SEC_DESC_tfs = {
1325 "SAMR_FIELD_SEC_DESC is SET",
1326 "SAMR_FIELD_SEC_DESC is NOT SET",
1328 static const true_false_string samr_FieldsPresent_SAMR_FIELD_OWF_PWD_tfs = {
1329 "SAMR_FIELD_OWF_PWD is SET",
1330 "SAMR_FIELD_OWF_PWD is NOT SET",
1332 static int samr_dissect_element_UserInfo21_last_logon(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1333 static int samr_dissect_element_UserInfo21_last_logoff(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1334 static int samr_dissect_element_UserInfo21_last_password_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1335 static int samr_dissect_element_UserInfo21_acct_expiry(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1336 static int samr_dissect_element_UserInfo21_allow_password_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1337 static int samr_dissect_element_UserInfo21_force_password_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1338 static int samr_dissect_element_UserInfo21_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1339 static int samr_dissect_element_UserInfo21_full_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1340 static int samr_dissect_element_UserInfo21_home_directory(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1341 static int samr_dissect_element_UserInfo21_home_drive(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1342 static int samr_dissect_element_UserInfo21_logon_script(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1343 static int samr_dissect_element_UserInfo21_profile_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1344 static int samr_dissect_element_UserInfo21_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1345 static int samr_dissect_element_UserInfo21_workstations(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1346 static int samr_dissect_element_UserInfo21_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1347 static int samr_dissect_element_UserInfo21_parameters(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1348 static int samr_dissect_element_UserInfo21_lm_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1349 static int samr_dissect_element_UserInfo21_nt_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1350 static int samr_dissect_element_UserInfo21_private(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1351 static int samr_dissect_element_UserInfo21_buf_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1352 static int samr_dissect_element_UserInfo21_buffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1353 static int samr_dissect_element_UserInfo21_buffer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1354 static int samr_dissect_element_UserInfo21_buffer__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1355 static int samr_dissect_element_UserInfo21_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1356 static int samr_dissect_element_UserInfo21_primary_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1357 static int samr_dissect_element_UserInfo21_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1358 static int samr_dissect_element_UserInfo21_fields_present(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1359 static int samr_dissect_element_UserInfo21_logon_hours(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1360 static int samr_dissect_element_UserInfo21_bad_password_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1361 static int samr_dissect_element_UserInfo21_logon_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1362 static int samr_dissect_element_UserInfo21_country_code(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1363 static int samr_dissect_element_UserInfo21_code_page(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1364 static int samr_dissect_element_UserInfo21_lm_password_set(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1365 static int samr_dissect_element_UserInfo21_nt_password_set(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1366 static int samr_dissect_element_UserInfo21_password_expired(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1367 static int samr_dissect_element_UserInfo21_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1368 static int samr_dissect_element_CryptPassword_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1369 static int samr_dissect_element_CryptPassword_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1370 static int samr_dissect_element_UserInfo23_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1371 static int samr_dissect_element_UserInfo23_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1372 static int samr_dissect_element_UserInfo24_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1373 static int samr_dissect_element_UserInfo24_password_expired(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1374 static int samr_dissect_element_CryptPasswordEx_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1375 static int samr_dissect_element_CryptPasswordEx_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1376 static int samr_dissect_element_UserInfo25_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1377 static int samr_dissect_element_UserInfo25_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1378 static int samr_dissect_element_UserInfo26_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1379 static int samr_dissect_element_UserInfo26_password_expired(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1380 static int samr_dissect_element_UserInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1381 static int samr_dissect_element_UserInfo_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1382 static int samr_dissect_element_UserInfo_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1383 static int samr_dissect_element_UserInfo_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1384 static int samr_dissect_element_UserInfo_info5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1385 static int samr_dissect_element_UserInfo_info6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1386 static int samr_dissect_element_UserInfo_info7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1387 static int samr_dissect_element_UserInfo_info8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1388 static int samr_dissect_element_UserInfo_info9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1389 static int samr_dissect_element_UserInfo_info10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1390 static int samr_dissect_element_UserInfo_info11(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1391 static int samr_dissect_element_UserInfo_info12(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1392 static int samr_dissect_element_UserInfo_info13(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1393 static int samr_dissect_element_UserInfo_info14(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1394 static int samr_dissect_element_UserInfo_info16(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1395 static int samr_dissect_element_UserInfo_info17(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1396 static int samr_dissect_element_UserInfo_info18(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1397 static int samr_dissect_element_UserInfo_info20(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1398 static int samr_dissect_element_UserInfo_info21(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1399 static int samr_dissect_element_UserInfo_info23(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1400 static int samr_dissect_element_UserInfo_info24(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1401 static int samr_dissect_element_UserInfo_info25(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1402 static int samr_dissect_element_UserInfo_info26(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1403 static int samr_dissect_element_RidWithAttribute_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1404 static int samr_dissect_element_RidWithAttribute_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1405 static int samr_dissect_element_RidWithAttributeArray_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1406 static int samr_dissect_element_RidWithAttributeArray_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1407 static int samr_dissect_element_RidWithAttributeArray_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1408 static int samr_dissect_element_RidWithAttributeArray_rids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1409 static int samr_dissect_element_DispEntryGeneral_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1410 static int samr_dissect_element_DispEntryGeneral_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1411 static int samr_dissect_element_DispEntryGeneral_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1412 static int samr_dissect_element_DispEntryGeneral_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1413 static int samr_dissect_element_DispEntryGeneral_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1414 static int samr_dissect_element_DispEntryGeneral_full_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1415 static int samr_dissect_element_DispInfoGeneral_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1416 static int samr_dissect_element_DispInfoGeneral_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1417 static int samr_dissect_element_DispInfoGeneral_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1418 static int samr_dissect_element_DispInfoGeneral_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1419 static int samr_dissect_element_DispEntryFull_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1420 static int samr_dissect_element_DispEntryFull_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1421 static int samr_dissect_element_DispEntryFull_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1422 static int samr_dissect_element_DispEntryFull_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1423 static int samr_dissect_element_DispEntryFull_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1424 static int samr_dissect_element_DispInfoFull_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1425 static int samr_dissect_element_DispInfoFull_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1426 static int samr_dissect_element_DispInfoFull_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1427 static int samr_dissect_element_DispInfoFull_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1428 static int samr_dissect_element_DispEntryFullGroup_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1429 static int samr_dissect_element_DispEntryFullGroup_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1430 static int samr_dissect_element_DispEntryFullGroup_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1431 static int samr_dissect_element_DispEntryFullGroup_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1432 static int samr_dissect_element_DispEntryFullGroup_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1433 static int samr_dissect_element_DispInfoFullGroups_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1434 static int samr_dissect_element_DispInfoFullGroups_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1435 static int samr_dissect_element_DispInfoFullGroups_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1436 static int samr_dissect_element_DispInfoFullGroups_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1437 static int samr_dissect_element_DispEntryAscii_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1438 static int samr_dissect_element_DispEntryAscii_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1439 static int samr_dissect_element_DispInfoAscii_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1440 static int samr_dissect_element_DispInfoAscii_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1441 static int samr_dissect_element_DispInfoAscii_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1442 static int samr_dissect_element_DispInfoAscii_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1443 const value_string samr_samr_DomainDisplayInformation_vals[] = {
1444 { SAMR_DOMAIN_DISPLAY_USER, "SAMR_DOMAIN_DISPLAY_USER" },
1445 { SAMR_DOMAIN_DISPLAY_MACHINE, "SAMR_DOMAIN_DISPLAY_MACHINE" },
1446 { SAMR_DOMAIN_DISPLAY_GROUP, "SAMR_DOMAIN_DISPLAY_GROUP" },
1447 { SAMR_DOMAIN_DISPLAY_OEM_USER, "SAMR_DOMAIN_DISPLAY_OEM_USER" },
1448 { SAMR_DOMAIN_DISPLAY_OEM_GROUP, "SAMR_DOMAIN_DISPLAY_OEM_GROUP" },
1449 { 0, NULL }
1451 static int samr_dissect_element_DispInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1452 static int samr_dissect_element_DispInfo_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1453 static int samr_dissect_element_DispInfo_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1454 static int samr_dissect_element_DispInfo_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1455 static int samr_dissect_element_DispInfo_info5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1456 static int samr_dissect_element_PwInfo_min_password_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1457 static int samr_dissect_element_PwInfo_password_properties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1458 const value_string samr_samr_ConnectVersion_vals[] = {
1459 { SAMR_CONNECT_PRE_W2K, "SAMR_CONNECT_PRE_W2K" },
1460 { SAMR_CONNECT_W2K, "SAMR_CONNECT_W2K" },
1461 { SAMR_CONNECT_AFTER_W2K, "SAMR_CONNECT_AFTER_W2K" },
1462 { 0, NULL }
1464 static int samr_dissect_element_ChangeReject_reason(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1465 static int samr_dissect_element_ChangeReject_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1466 static int samr_dissect_element_ChangeReject_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1467 static int samr_dissect_element_ConnectInfo1_client_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1468 static int samr_dissect_element_ConnectInfo1_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1469 static int samr_dissect_element_ConnectInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1470 static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET_tfs = {
1471 "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET is SET",
1472 "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET is NOT SET",
1474 static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME_tfs = {
1475 "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME is SET",
1476 "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME is NOT SET",
1478 static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_LOCKOUT_TIME_tfs = {
1479 "SAMR_VALIDATE_FIELD_LOCKOUT_TIME is SET",
1480 "SAMR_VALIDATE_FIELD_LOCKOUT_TIME is NOT SET",
1482 static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT_tfs = {
1483 "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT is SET",
1484 "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT is NOT SET",
1486 static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH_tfs = {
1487 "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH is SET",
1488 "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH is NOT SET",
1490 static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_tfs = {
1491 "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY is SET",
1492 "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY is NOT SET",
1494 const value_string samr_samr_ValidatePasswordLevel_vals[] = {
1495 { NetValidateAuthentication, "NetValidateAuthentication" },
1496 { NetValidatePasswordChange, "NetValidatePasswordChange" },
1497 { NetValidatePasswordReset, "NetValidatePasswordReset" },
1498 { 0, NULL }
1500 const value_string samr_samr_ValidationStatus_vals[] = {
1501 { SAMR_VALIDATION_STATUS_SUCCESS, "SAMR_VALIDATION_STATUS_SUCCESS" },
1502 { SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE, "SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE" },
1503 { SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT, "SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT" },
1504 { SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED, "SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED" },
1505 { SAMR_VALIDATION_STATUS_BAD_PASSWORD, "SAMR_VALIDATION_STATUS_BAD_PASSWORD" },
1506 { SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT, "SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT" },
1507 { SAMR_VALIDATION_STATUS_PWD_TOO_SHORT, "SAMR_VALIDATION_STATUS_PWD_TOO_SHORT" },
1508 { SAMR_VALIDATION_STATUS_PWD_TOO_LONG, "SAMR_VALIDATION_STATUS_PWD_TOO_LONG" },
1509 { SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH, "SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH" },
1510 { SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT, "SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT" },
1511 { SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR, "SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR" },
1512 { 0, NULL }
1514 static int samr_dissect_element_ValidationBlob_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1515 static int samr_dissect_element_ValidationBlob_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1516 static int samr_dissect_element_ValidationBlob_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1517 static int samr_dissect_element_ValidationBlob_data__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1518 static int samr_dissect_element_ValidatePasswordInfo_fields_present(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1519 static int samr_dissect_element_ValidatePasswordInfo_last_password_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1520 static int samr_dissect_element_ValidatePasswordInfo_bad_password_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1521 static int samr_dissect_element_ValidatePasswordInfo_lockout_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1522 static int samr_dissect_element_ValidatePasswordInfo_bad_pwd_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1523 static int samr_dissect_element_ValidatePasswordInfo_pwd_history_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1524 static int samr_dissect_element_ValidatePasswordInfo_pwd_history(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1525 static int samr_dissect_element_ValidatePasswordInfo_pwd_history_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1526 static int samr_dissect_element_ValidatePasswordInfo_pwd_history__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1527 static int samr_dissect_element_ValidatePasswordRepCtr_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1528 static int samr_dissect_element_ValidatePasswordRepCtr_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1529 static int samr_dissect_element_ValidatePasswordRep_ctr1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1530 static int samr_dissect_element_ValidatePasswordRep_ctr2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1531 static int samr_dissect_element_ValidatePasswordRep_ctr3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1532 static int samr_dissect_element_ValidatePasswordReq3_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1533 static int samr_dissect_element_ValidatePasswordReq3_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1534 static int samr_dissect_element_ValidatePasswordReq3_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1535 static int samr_dissect_element_ValidatePasswordReq3_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1536 static int samr_dissect_element_ValidatePasswordReq3_pwd_must_change_at_next_logon(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1537 static int samr_dissect_element_ValidatePasswordReq3_clear_lockout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1538 static int samr_dissect_element_ValidatePasswordReq2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1539 static int samr_dissect_element_ValidatePasswordReq2_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1540 static int samr_dissect_element_ValidatePasswordReq2_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1541 static int samr_dissect_element_ValidatePasswordReq2_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1542 static int samr_dissect_element_ValidatePasswordReq2_password_matched(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1543 static int samr_dissect_element_ValidatePasswordReq1_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1544 static int samr_dissect_element_ValidatePasswordReq1_password_matched(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1545 static int samr_dissect_element_ValidatePasswordReq_req1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1546 static int samr_dissect_element_ValidatePasswordReq_req2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1547 static int samr_dissect_element_ValidatePasswordReq_req3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1548 static int samr_dissect_element_Connect_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1549 static int samr_dissect_element_Connect_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1550 static int samr_dissect_element_Connect_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1551 static int samr_dissect_element_Connect_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1552 static int samr_dissect_element_Connect_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1553 static int samr_dissect_element_Close_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1554 static int samr_dissect_element_Close_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1555 static int samr_dissect_element_SetSecurity_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1556 static int samr_dissect_element_SetSecurity_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1557 static int samr_dissect_element_SetSecurity_sec_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1558 static int samr_dissect_element_SetSecurity_sdbuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1559 static int samr_dissect_element_SetSecurity_sdbuf_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1560 static int samr_dissect_element_QuerySecurity_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1561 static int samr_dissect_element_QuerySecurity_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1562 static int samr_dissect_element_QuerySecurity_sec_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1563 static int samr_dissect_element_QuerySecurity_sdbuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1564 static int samr_dissect_element_QuerySecurity_sdbuf_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1565 static int samr_dissect_element_QuerySecurity_sdbuf__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1566 static int samr_dissect_element_Shutdown_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1567 static int samr_dissect_element_Shutdown_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1568 static int samr_dissect_element_LookupDomain_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1569 static int samr_dissect_element_LookupDomain_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1570 static int samr_dissect_element_LookupDomain_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1571 static int samr_dissect_element_LookupDomain_domain_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1572 static int samr_dissect_element_LookupDomain_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1573 static int samr_dissect_element_LookupDomain_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1574 static int samr_dissect_element_LookupDomain_sid__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1575 static int samr_dissect_element_EnumDomains_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1576 static int samr_dissect_element_EnumDomains_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1577 static int samr_dissect_element_EnumDomains_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1578 static int samr_dissect_element_EnumDomains_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1579 static int samr_dissect_element_EnumDomains_sam(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1580 static int samr_dissect_element_EnumDomains_sam_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1581 static int samr_dissect_element_EnumDomains_sam__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1582 static int samr_dissect_element_EnumDomains_buf_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1583 static int samr_dissect_element_EnumDomains_num_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1584 static int samr_dissect_element_EnumDomains_num_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1585 static int samr_dissect_element_OpenDomain_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1586 static int samr_dissect_element_OpenDomain_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1587 static int samr_dissect_element_OpenDomain_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1588 static int samr_dissect_element_OpenDomain_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1589 static int samr_dissect_element_OpenDomain_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1590 static int samr_dissect_element_OpenDomain_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1591 static int samr_dissect_element_OpenDomain_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1592 static int samr_dissect_element_QueryDomainInfo_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1593 static int samr_dissect_element_QueryDomainInfo_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1594 static int samr_dissect_element_QueryDomainInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1595 static int samr_dissect_element_QueryDomainInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1596 static int samr_dissect_element_QueryDomainInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1597 static int samr_dissect_element_QueryDomainInfo_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1598 static int samr_dissect_element_SetDomainInfo_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1599 static int samr_dissect_element_SetDomainInfo_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1600 static int samr_dissect_element_SetDomainInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1601 static int samr_dissect_element_SetDomainInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1602 static int samr_dissect_element_SetDomainInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1603 static int samr_dissect_element_CreateDomainGroup_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1604 static int samr_dissect_element_CreateDomainGroup_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1605 static int samr_dissect_element_CreateDomainGroup_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1606 static int samr_dissect_element_CreateDomainGroup_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1607 static int samr_dissect_element_CreateDomainGroup_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1608 static int samr_dissect_element_CreateDomainGroup_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1609 static int samr_dissect_element_CreateDomainGroup_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1610 static int samr_dissect_element_CreateDomainGroup_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1611 static int samr_dissect_element_CreateDomainGroup_rid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1612 static int samr_dissect_element_EnumDomainGroups_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1613 static int samr_dissect_element_EnumDomainGroups_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1614 static int samr_dissect_element_EnumDomainGroups_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1615 static int samr_dissect_element_EnumDomainGroups_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1616 static int samr_dissect_element_EnumDomainGroups_sam(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1617 static int samr_dissect_element_EnumDomainGroups_sam_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1618 static int samr_dissect_element_EnumDomainGroups_sam__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1619 static int samr_dissect_element_EnumDomainGroups_max_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1620 static int samr_dissect_element_EnumDomainGroups_num_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1621 static int samr_dissect_element_EnumDomainGroups_num_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1622 static int samr_dissect_element_CreateUser_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1623 static int samr_dissect_element_CreateUser_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1624 static int samr_dissect_element_CreateUser_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1625 static int samr_dissect_element_CreateUser_account_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1626 static int samr_dissect_element_CreateUser_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1627 static int samr_dissect_element_CreateUser_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1628 static int samr_dissect_element_CreateUser_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1629 static int samr_dissect_element_CreateUser_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1630 static int samr_dissect_element_CreateUser_rid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1631 static int samr_dissect_element_EnumDomainUsers_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1632 static int samr_dissect_element_EnumDomainUsers_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1633 static int samr_dissect_element_EnumDomainUsers_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1634 static int samr_dissect_element_EnumDomainUsers_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1635 static int samr_dissect_element_EnumDomainUsers_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1636 static int samr_dissect_element_EnumDomainUsers_sam(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1637 static int samr_dissect_element_EnumDomainUsers_sam_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1638 static int samr_dissect_element_EnumDomainUsers_sam__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1639 static int samr_dissect_element_EnumDomainUsers_max_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1640 static int samr_dissect_element_EnumDomainUsers_num_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1641 static int samr_dissect_element_EnumDomainUsers_num_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1642 static int samr_dissect_element_CreateDomAlias_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1643 static int samr_dissect_element_CreateDomAlias_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1644 static int samr_dissect_element_CreateDomAlias_alias_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1645 static int samr_dissect_element_CreateDomAlias_alias_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1646 static int samr_dissect_element_CreateDomAlias_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1647 static int samr_dissect_element_CreateDomAlias_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1648 static int samr_dissect_element_CreateDomAlias_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1649 static int samr_dissect_element_CreateDomAlias_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1650 static int samr_dissect_element_CreateDomAlias_rid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1651 static int samr_dissect_element_EnumDomainAliases_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1652 static int samr_dissect_element_EnumDomainAliases_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1653 static int samr_dissect_element_EnumDomainAliases_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1654 static int samr_dissect_element_EnumDomainAliases_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1655 static int samr_dissect_element_EnumDomainAliases_sam(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1656 static int samr_dissect_element_EnumDomainAliases_sam_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1657 static int samr_dissect_element_EnumDomainAliases_sam__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1658 static int samr_dissect_element_EnumDomainAliases_max_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1659 static int samr_dissect_element_EnumDomainAliases_num_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1660 static int samr_dissect_element_EnumDomainAliases_num_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1661 static int samr_dissect_element_GetAliasMembership_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1662 static int samr_dissect_element_GetAliasMembership_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1663 static int samr_dissect_element_GetAliasMembership_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1664 static int samr_dissect_element_GetAliasMembership_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1665 static int samr_dissect_element_GetAliasMembership_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1666 static int samr_dissect_element_GetAliasMembership_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1667 static int samr_dissect_element_LookupNames_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1668 static int samr_dissect_element_LookupNames_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1669 static int samr_dissect_element_LookupNames_num_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1670 static int samr_dissect_element_LookupNames_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1671 static int samr_dissect_element_LookupNames_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1672 static int samr_dissect_element_LookupNames_names__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1673 static int samr_dissect_element_LookupNames_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1674 static int samr_dissect_element_LookupNames_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1675 static int samr_dissect_element_LookupNames_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1676 static int samr_dissect_element_LookupNames_types_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1677 static int samr_dissect_element_LookupRids_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1678 static int samr_dissect_element_LookupRids_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1679 static int samr_dissect_element_LookupRids_num_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1680 static int samr_dissect_element_LookupRids_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1681 static int samr_dissect_element_LookupRids_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1682 static int samr_dissect_element_LookupRids_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1683 static int samr_dissect_element_LookupRids_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1684 static int samr_dissect_element_LookupRids_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1685 static int samr_dissect_element_LookupRids_types_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1686 static int samr_dissect_element_OpenGroup_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1687 static int samr_dissect_element_OpenGroup_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1688 static int samr_dissect_element_OpenGroup_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1689 static int samr_dissect_element_OpenGroup_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1690 static int samr_dissect_element_OpenGroup_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1691 static int samr_dissect_element_OpenGroup_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1692 static int samr_dissect_element_QueryGroupInfo_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1693 static int samr_dissect_element_QueryGroupInfo_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1694 static int samr_dissect_element_QueryGroupInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1695 static int samr_dissect_element_QueryGroupInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1696 static int samr_dissect_element_QueryGroupInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1697 static int samr_dissect_element_QueryGroupInfo_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1698 static int samr_dissect_element_SetGroupInfo_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1699 static int samr_dissect_element_SetGroupInfo_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1700 static int samr_dissect_element_SetGroupInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1701 static int samr_dissect_element_SetGroupInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1702 static int samr_dissect_element_SetGroupInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1703 static int samr_dissect_element_AddGroupMember_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1704 static int samr_dissect_element_AddGroupMember_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1705 static int samr_dissect_element_AddGroupMember_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1706 static int samr_dissect_element_AddGroupMember_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1707 static int samr_dissect_element_DeleteDomainGroup_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1708 static int samr_dissect_element_DeleteDomainGroup_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1709 static int samr_dissect_element_DeleteGroupMember_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1710 static int samr_dissect_element_DeleteGroupMember_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1711 static int samr_dissect_element_DeleteGroupMember_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1712 static int samr_dissect_element_QueryGroupMember_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1713 static int samr_dissect_element_QueryGroupMember_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1714 static int samr_dissect_element_QueryGroupMember_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1715 static int samr_dissect_element_QueryGroupMember_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1716 static int samr_dissect_element_QueryGroupMember_rids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1717 static int samr_dissect_element_SetMemberAttributesOfGroup_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1718 static int samr_dissect_element_SetMemberAttributesOfGroup_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1719 static int samr_dissect_element_SetMemberAttributesOfGroup_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1720 static int samr_dissect_element_SetMemberAttributesOfGroup_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1721 static int samr_dissect_element_OpenAlias_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1722 static int samr_dissect_element_OpenAlias_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1723 static int samr_dissect_element_OpenAlias_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1724 static int samr_dissect_element_OpenAlias_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1725 static int samr_dissect_element_OpenAlias_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1726 static int samr_dissect_element_OpenAlias_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1727 static int samr_dissect_element_QueryAliasInfo_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1728 static int samr_dissect_element_QueryAliasInfo_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1729 static int samr_dissect_element_QueryAliasInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1730 static int samr_dissect_element_QueryAliasInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1731 static int samr_dissect_element_QueryAliasInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1732 static int samr_dissect_element_QueryAliasInfo_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1733 static int samr_dissect_element_SetAliasInfo_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1734 static int samr_dissect_element_SetAliasInfo_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1735 static int samr_dissect_element_SetAliasInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1736 static int samr_dissect_element_SetAliasInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1737 static int samr_dissect_element_SetAliasInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1738 static int samr_dissect_element_DeleteDomAlias_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1739 static int samr_dissect_element_DeleteDomAlias_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1740 static int samr_dissect_element_AddAliasMember_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1741 static int samr_dissect_element_AddAliasMember_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1742 static int samr_dissect_element_AddAliasMember_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1743 static int samr_dissect_element_AddAliasMember_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1744 static int samr_dissect_element_DeleteAliasMember_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1745 static int samr_dissect_element_DeleteAliasMember_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1746 static int samr_dissect_element_DeleteAliasMember_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1747 static int samr_dissect_element_DeleteAliasMember_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1748 static int samr_dissect_element_GetMembersInAlias_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1749 static int samr_dissect_element_GetMembersInAlias_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1750 static int samr_dissect_element_GetMembersInAlias_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1751 static int samr_dissect_element_GetMembersInAlias_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1752 static int samr_dissect_element_OpenUser_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1753 static int samr_dissect_element_OpenUser_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1754 static int samr_dissect_element_OpenUser_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1755 static int samr_dissect_element_OpenUser_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1756 static int samr_dissect_element_OpenUser_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1757 static int samr_dissect_element_OpenUser_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1758 static int samr_dissect_element_DeleteUser_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1759 static int samr_dissect_element_DeleteUser_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1760 static int samr_dissect_element_QueryUserInfo_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1761 static int samr_dissect_element_QueryUserInfo_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1762 static int samr_dissect_element_QueryUserInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1763 static int samr_dissect_element_QueryUserInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1764 static int samr_dissect_element_QueryUserInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1765 static int samr_dissect_element_QueryUserInfo_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1766 static int samr_dissect_element_SetUserInfo_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1767 static int samr_dissect_element_SetUserInfo_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1768 static int samr_dissect_element_SetUserInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1769 static int samr_dissect_element_SetUserInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1770 static int samr_dissect_element_SetUserInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1771 static int samr_dissect_element_ChangePasswordUser_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1772 static int samr_dissect_element_ChangePasswordUser_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1773 static int samr_dissect_element_ChangePasswordUser_lm_present(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1774 static int samr_dissect_element_ChangePasswordUser_old_lm_crypted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1775 static int samr_dissect_element_ChangePasswordUser_old_lm_crypted_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1776 static int samr_dissect_element_ChangePasswordUser_new_lm_crypted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1777 static int samr_dissect_element_ChangePasswordUser_new_lm_crypted_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1778 static int samr_dissect_element_ChangePasswordUser_nt_present(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1779 static int samr_dissect_element_ChangePasswordUser_old_nt_crypted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1780 static int samr_dissect_element_ChangePasswordUser_old_nt_crypted_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1781 static int samr_dissect_element_ChangePasswordUser_new_nt_crypted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1782 static int samr_dissect_element_ChangePasswordUser_new_nt_crypted_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1783 static int samr_dissect_element_ChangePasswordUser_cross1_present(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1784 static int samr_dissect_element_ChangePasswordUser_nt_cross(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1785 static int samr_dissect_element_ChangePasswordUser_nt_cross_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1786 static int samr_dissect_element_ChangePasswordUser_cross2_present(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1787 static int samr_dissect_element_ChangePasswordUser_lm_cross(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1788 static int samr_dissect_element_ChangePasswordUser_lm_cross_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1789 static int samr_dissect_element_GetGroupsForUser_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1790 static int samr_dissect_element_GetGroupsForUser_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1791 static int samr_dissect_element_GetGroupsForUser_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1792 static int samr_dissect_element_GetGroupsForUser_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1793 static int samr_dissect_element_GetGroupsForUser_rids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1794 static int samr_dissect_element_QueryDisplayInfo_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1795 static int samr_dissect_element_QueryDisplayInfo_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1796 static int samr_dissect_element_QueryDisplayInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1797 static int samr_dissect_element_QueryDisplayInfo_start_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1798 static int samr_dissect_element_QueryDisplayInfo_max_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1799 static int samr_dissect_element_QueryDisplayInfo_buf_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1800 static int samr_dissect_element_QueryDisplayInfo_total_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1801 static int samr_dissect_element_QueryDisplayInfo_total_size_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1802 static int samr_dissect_element_QueryDisplayInfo_returned_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1803 static int samr_dissect_element_QueryDisplayInfo_returned_size_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1804 static int samr_dissect_element_QueryDisplayInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1805 static int samr_dissect_element_QueryDisplayInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1806 static int samr_dissect_element_GetDisplayEnumerationIndex_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1807 static int samr_dissect_element_GetDisplayEnumerationIndex_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1808 static int samr_dissect_element_GetDisplayEnumerationIndex_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1809 static int samr_dissect_element_GetDisplayEnumerationIndex_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1810 static int samr_dissect_element_GetDisplayEnumerationIndex_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1811 static int samr_dissect_element_GetDisplayEnumerationIndex_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1812 static int samr_dissect_element_GetDisplayEnumerationIndex_idx_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1813 static int samr_dissect_element_TestPrivateFunctionsDomain_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1814 static int samr_dissect_element_TestPrivateFunctionsDomain_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1815 static int samr_dissect_element_TestPrivateFunctionsUser_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1816 static int samr_dissect_element_TestPrivateFunctionsUser_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1817 static int samr_dissect_element_GetUserPwInfo_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1818 static int samr_dissect_element_GetUserPwInfo_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1819 static int samr_dissect_element_GetUserPwInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1820 static int samr_dissect_element_GetUserPwInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1821 static int samr_dissect_element_RemoveMemberFromForeignDomain_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1822 static int samr_dissect_element_RemoveMemberFromForeignDomain_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1823 static int samr_dissect_element_RemoveMemberFromForeignDomain_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1824 static int samr_dissect_element_RemoveMemberFromForeignDomain_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1825 static int samr_dissect_element_QueryDomainInfo2_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1826 static int samr_dissect_element_QueryDomainInfo2_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1827 static int samr_dissect_element_QueryDomainInfo2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1828 static int samr_dissect_element_QueryDomainInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1829 static int samr_dissect_element_QueryDomainInfo2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1830 static int samr_dissect_element_QueryDomainInfo2_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1831 static int samr_dissect_element_QueryUserInfo2_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1832 static int samr_dissect_element_QueryUserInfo2_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1833 static int samr_dissect_element_QueryUserInfo2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1834 static int samr_dissect_element_QueryUserInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1835 static int samr_dissect_element_QueryUserInfo2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1836 static int samr_dissect_element_QueryUserInfo2_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1837 static int samr_dissect_element_QueryDisplayInfo2_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1838 static int samr_dissect_element_QueryDisplayInfo2_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1839 static int samr_dissect_element_QueryDisplayInfo2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1840 static int samr_dissect_element_QueryDisplayInfo2_start_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1841 static int samr_dissect_element_QueryDisplayInfo2_max_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1842 static int samr_dissect_element_QueryDisplayInfo2_buf_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1843 static int samr_dissect_element_QueryDisplayInfo2_total_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1844 static int samr_dissect_element_QueryDisplayInfo2_total_size_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1845 static int samr_dissect_element_QueryDisplayInfo2_returned_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1846 static int samr_dissect_element_QueryDisplayInfo2_returned_size_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1847 static int samr_dissect_element_QueryDisplayInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1848 static int samr_dissect_element_QueryDisplayInfo2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1849 static int samr_dissect_element_GetDisplayEnumerationIndex2_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1850 static int samr_dissect_element_GetDisplayEnumerationIndex2_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1851 static int samr_dissect_element_GetDisplayEnumerationIndex2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1852 static int samr_dissect_element_GetDisplayEnumerationIndex2_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1853 static int samr_dissect_element_GetDisplayEnumerationIndex2_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1854 static int samr_dissect_element_GetDisplayEnumerationIndex2_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1855 static int samr_dissect_element_GetDisplayEnumerationIndex2_idx_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1856 static int samr_dissect_element_CreateUser2_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1857 static int samr_dissect_element_CreateUser2_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1858 static int samr_dissect_element_CreateUser2_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1859 static int samr_dissect_element_CreateUser2_account_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1860 static int samr_dissect_element_CreateUser2_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1861 static int samr_dissect_element_CreateUser2_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1862 static int samr_dissect_element_CreateUser2_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1863 static int samr_dissect_element_CreateUser2_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1864 static int samr_dissect_element_CreateUser2_access_granted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1865 static int samr_dissect_element_CreateUser2_access_granted_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1866 static int samr_dissect_element_CreateUser2_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1867 static int samr_dissect_element_CreateUser2_rid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1868 static int samr_dissect_element_QueryDisplayInfo3_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1869 static int samr_dissect_element_QueryDisplayInfo3_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1870 static int samr_dissect_element_QueryDisplayInfo3_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1871 static int samr_dissect_element_QueryDisplayInfo3_start_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1872 static int samr_dissect_element_QueryDisplayInfo3_max_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1873 static int samr_dissect_element_QueryDisplayInfo3_buf_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1874 static int samr_dissect_element_QueryDisplayInfo3_total_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1875 static int samr_dissect_element_QueryDisplayInfo3_total_size_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1876 static int samr_dissect_element_QueryDisplayInfo3_returned_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1877 static int samr_dissect_element_QueryDisplayInfo3_returned_size_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1878 static int samr_dissect_element_QueryDisplayInfo3_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1879 static int samr_dissect_element_QueryDisplayInfo3_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1880 static int samr_dissect_element_AddMultipleMembersToAlias_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1881 static int samr_dissect_element_AddMultipleMembersToAlias_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1882 static int samr_dissect_element_AddMultipleMembersToAlias_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1883 static int samr_dissect_element_AddMultipleMembersToAlias_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1884 static int samr_dissect_element_RemoveMultipleMembersFromAlias_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1885 static int samr_dissect_element_RemoveMultipleMembersFromAlias_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1886 static int samr_dissect_element_RemoveMultipleMembersFromAlias_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1887 static int samr_dissect_element_RemoveMultipleMembersFromAlias_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1888 static int samr_dissect_element_OemChangePasswordUser2_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1889 static int samr_dissect_element_OemChangePasswordUser2_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1890 static int samr_dissect_element_OemChangePasswordUser2_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1891 static int samr_dissect_element_OemChangePasswordUser2_account_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1892 static int samr_dissect_element_OemChangePasswordUser2_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1893 static int samr_dissect_element_OemChangePasswordUser2_password_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1894 static int samr_dissect_element_OemChangePasswordUser2_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1895 static int samr_dissect_element_OemChangePasswordUser2_hash_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1896 static int samr_dissect_element_ChangePasswordUser2_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1897 static int samr_dissect_element_ChangePasswordUser2_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1898 static int samr_dissect_element_ChangePasswordUser2_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1899 static int samr_dissect_element_ChangePasswordUser2_account_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1900 static int samr_dissect_element_ChangePasswordUser2_nt_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1901 static int samr_dissect_element_ChangePasswordUser2_nt_password_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1902 static int samr_dissect_element_ChangePasswordUser2_nt_verifier(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1903 static int samr_dissect_element_ChangePasswordUser2_nt_verifier_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1904 static int samr_dissect_element_ChangePasswordUser2_lm_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1905 static int samr_dissect_element_ChangePasswordUser2_lm_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1906 static int samr_dissect_element_ChangePasswordUser2_lm_password_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1907 static int samr_dissect_element_ChangePasswordUser2_lm_verifier(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1908 static int samr_dissect_element_ChangePasswordUser2_lm_verifier_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1909 static int samr_dissect_element_GetDomPwInfo_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1910 static int samr_dissect_element_GetDomPwInfo_domain_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1911 static int samr_dissect_element_GetDomPwInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1912 static int samr_dissect_element_GetDomPwInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1913 static int samr_dissect_element_Connect2_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1914 static int samr_dissect_element_Connect2_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1915 static int samr_dissect_element_Connect2_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1916 static int samr_dissect_element_Connect2_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1917 static int samr_dissect_element_Connect2_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1918 static int samr_dissect_element_SetUserInfo2_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1919 static int samr_dissect_element_SetUserInfo2_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1920 static int samr_dissect_element_SetUserInfo2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1921 static int samr_dissect_element_SetUserInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1922 static int samr_dissect_element_SetUserInfo2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1923 static int samr_dissect_element_SetBootKeyInformation_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1924 static int samr_dissect_element_SetBootKeyInformation_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1925 static int samr_dissect_element_SetBootKeyInformation_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1926 static int samr_dissect_element_SetBootKeyInformation_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1927 static int samr_dissect_element_SetBootKeyInformation_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1928 static int samr_dissect_element_GetBootKeyInformation_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1929 static int samr_dissect_element_GetBootKeyInformation_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1930 static int samr_dissect_element_GetBootKeyInformation_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1931 static int samr_dissect_element_GetBootKeyInformation_unknown_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1932 static int samr_dissect_element_Connect3_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1933 static int samr_dissect_element_Connect3_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1934 static int samr_dissect_element_Connect3_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1935 static int samr_dissect_element_Connect3_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1936 static int samr_dissect_element_Connect3_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1937 static int samr_dissect_element_Connect3_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1938 static int samr_dissect_element_Connect4_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1939 static int samr_dissect_element_Connect4_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1940 static int samr_dissect_element_Connect4_client_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1941 static int samr_dissect_element_Connect4_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1942 static int samr_dissect_element_Connect4_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1943 static int samr_dissect_element_Connect4_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1944 static int samr_dissect_element_ChangePasswordUser3_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1945 static int samr_dissect_element_ChangePasswordUser3_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1946 static int samr_dissect_element_ChangePasswordUser3_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1947 static int samr_dissect_element_ChangePasswordUser3_account_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1948 static int samr_dissect_element_ChangePasswordUser3_nt_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1949 static int samr_dissect_element_ChangePasswordUser3_nt_password_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1950 static int samr_dissect_element_ChangePasswordUser3_nt_verifier(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1951 static int samr_dissect_element_ChangePasswordUser3_nt_verifier_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1952 static int samr_dissect_element_ChangePasswordUser3_lm_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1953 static int samr_dissect_element_ChangePasswordUser3_lm_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1954 static int samr_dissect_element_ChangePasswordUser3_lm_password_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1955 static int samr_dissect_element_ChangePasswordUser3_lm_verifier(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1956 static int samr_dissect_element_ChangePasswordUser3_lm_verifier_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1957 static int samr_dissect_element_ChangePasswordUser3_password3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1958 static int samr_dissect_element_ChangePasswordUser3_password3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1959 static int samr_dissect_element_ChangePasswordUser3_dominfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1960 static int samr_dissect_element_ChangePasswordUser3_dominfo_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1961 static int samr_dissect_element_ChangePasswordUser3_dominfo__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1962 static int samr_dissect_element_ChangePasswordUser3_reject(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1963 static int samr_dissect_element_ChangePasswordUser3_reject_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1964 static int samr_dissect_element_ChangePasswordUser3_reject__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1965 static int samr_dissect_element_Connect5_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1966 static int samr_dissect_element_Connect5_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1967 static int samr_dissect_element_Connect5_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1968 static int samr_dissect_element_Connect5_level_in(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1969 static int samr_dissect_element_Connect5_info_in(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1970 static int samr_dissect_element_Connect5_info_in_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1971 static int samr_dissect_element_Connect5_level_out(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1972 static int samr_dissect_element_Connect5_level_out_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1973 static int samr_dissect_element_Connect5_info_out(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1974 static int samr_dissect_element_Connect5_info_out_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1975 static int samr_dissect_element_Connect5_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1976 static int samr_dissect_element_Connect5_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1977 static int samr_dissect_element_RidToSid_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1978 static int samr_dissect_element_RidToSid_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1979 static int samr_dissect_element_RidToSid_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1980 static int samr_dissect_element_RidToSid_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1981 static int samr_dissect_element_RidToSid_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1982 static int samr_dissect_element_RidToSid_sid__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1983 static int samr_dissect_element_SetDsrmPassword_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1984 static int samr_dissect_element_SetDsrmPassword_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1985 static int samr_dissect_element_SetDsrmPassword_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1986 static int samr_dissect_element_SetDsrmPassword_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1987 static int samr_dissect_element_SetDsrmPassword_hash_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1988 static int samr_dissect_element_ValidatePassword_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1989 static int samr_dissect_element_ValidatePassword_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1990 static int samr_dissect_element_ValidatePassword_req_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1991 static int samr_dissect_element_ValidatePassword_rep(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1992 static int samr_dissect_element_ValidatePassword_rep_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1993 static int samr_dissect_element_ValidatePassword_rep__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_);
1994 static void
1995 samr_connect_specific_rights(tvbuff_t *tvb, gint offset, proto_tree *tree, guint32 access)
1997 proto_tree_add_boolean(tree, hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_LOOKUP_DOMAIN, tvb, offset, 4, access);
1998 proto_tree_add_boolean(tree, hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_ENUM_DOMAINS, tvb, offset, 4, access);
1999 proto_tree_add_boolean(tree, hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CREATE_DOMAIN, tvb, offset, 4, access);
2000 proto_tree_add_boolean(tree, hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_INITIALIZE_SERVER, tvb, offset, 4, access);
2001 proto_tree_add_boolean(tree, hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_SHUTDOWN_SERVER, tvb, offset, 4, access);
2002 proto_tree_add_boolean(tree, hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CONNECT_TO_SERVER, tvb, offset, 4, access);
2004 struct access_mask_info samr_connect_access_mask_info = {
2005 "SAMR Connect", /* Name of specific rights */
2006 samr_connect_specific_rights, /* Dissection function */
2007 NULL, /* Generic mapping table */
2008 NULL /* Standard mapping table */
2011 samr_dissect_bitmap_ConnectAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep, int hf_index _U_, guint32 param _U_)
2013 offset = dissect_nt_access_mask(
2014 tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask,
2015 &samr_connect_access_mask_info, NULL);
2016 return offset;
2018 static void
2019 samr_alias_specific_rights(tvbuff_t *tvb, gint offset, proto_tree *tree, guint32 access)
2021 proto_tree_add_boolean(tree, hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_ADD_MEMBER, tvb, offset, 4, access);
2022 proto_tree_add_boolean(tree, hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_REMOVE_MEMBER, tvb, offset, 4, access);
2023 proto_tree_add_boolean(tree, hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_GET_MEMBERS, tvb, offset, 4, access);
2024 proto_tree_add_boolean(tree, hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_LOOKUP_INFO, tvb, offset, 4, access);
2025 proto_tree_add_boolean(tree, hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_SET_INFO, tvb, offset, 4, access);
2027 struct access_mask_info samr_alias_access_mask_info = {
2028 "SAMR Alias", /* Name of specific rights */
2029 samr_alias_specific_rights, /* Dissection function */
2030 NULL, /* Generic mapping table */
2031 NULL /* Standard mapping table */
2034 samr_dissect_bitmap_AliasAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep, int hf_index _U_, guint32 param _U_)
2036 offset = dissect_nt_access_mask(
2037 tvb, offset, pinfo, tree, di, drep, hf_samr_alias_access_mask,
2038 &samr_alias_access_mask_info, NULL);
2039 return offset;
2041 static void
2042 samr_group_specific_rights(tvbuff_t *tvb, gint offset, proto_tree *tree, guint32 access)
2044 proto_tree_add_boolean(tree, hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_GET_MEMBERS, tvb, offset, 4, access);
2045 proto_tree_add_boolean(tree, hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_REMOVE_MEMBER, tvb, offset, 4, access);
2046 proto_tree_add_boolean(tree, hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_ADD_MEMBER, tvb, offset, 4, access);
2047 proto_tree_add_boolean(tree, hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_SET_INFO, tvb, offset, 4, access);
2048 proto_tree_add_boolean(tree, hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_LOOKUP_INFO, tvb, offset, 4, access);
2050 struct access_mask_info samr_group_access_mask_info = {
2051 "SAMR Group", /* Name of specific rights */
2052 samr_group_specific_rights, /* Dissection function */
2053 NULL, /* Generic mapping table */
2054 NULL /* Standard mapping table */
2057 samr_dissect_bitmap_GroupAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep, int hf_index _U_, guint32 param _U_)
2059 offset = dissect_nt_access_mask(
2060 tvb, offset, pinfo, tree, di, drep, hf_samr_group_access_mask,
2061 &samr_group_access_mask_info, NULL);
2062 return offset;
2064 static void
2065 samr_domain_specific_rights(tvbuff_t *tvb, gint offset, proto_tree *tree, guint32 access)
2067 proto_tree_add_boolean(tree, hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1, tvb, offset, 4, access);
2068 proto_tree_add_boolean(tree, hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_1, tvb, offset, 4, access);
2069 proto_tree_add_boolean(tree, hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2, tvb, offset, 4, access);
2070 proto_tree_add_boolean(tree, hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_2, tvb, offset, 4, access);
2071 proto_tree_add_boolean(tree, hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_USER, tvb, offset, 4, access);
2072 proto_tree_add_boolean(tree, hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_GROUP, tvb, offset, 4, access);
2073 proto_tree_add_boolean(tree, hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_ALIAS, tvb, offset, 4, access);
2074 proto_tree_add_boolean(tree, hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS, tvb, offset, 4, access);
2075 proto_tree_add_boolean(tree, hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS, tvb, offset, 4, access);
2076 proto_tree_add_boolean(tree, hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT, tvb, offset, 4, access);
2077 proto_tree_add_boolean(tree, hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_3, tvb, offset, 4, access);
2079 struct access_mask_info samr_domain_access_mask_info = {
2080 "SAMR Domain", /* Name of specific rights */
2081 samr_domain_specific_rights, /* Dissection function */
2082 NULL, /* Generic mapping table */
2083 NULL /* Standard mapping table */
2086 samr_dissect_bitmap_DomainAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep, int hf_index _U_, guint32 param _U_)
2088 offset = dissect_nt_access_mask(
2089 tvb, offset, pinfo, tree, di, drep, hf_samr_domain_access_mask,
2090 &samr_domain_access_mask_info, NULL);
2091 return offset;
2093 static void
2094 samr_user_specific_rights(tvbuff_t *tvb, gint offset, proto_tree *tree, guint32 access)
2096 proto_tree_add_boolean(tree, hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP, tvb, offset, 4, access);
2097 proto_tree_add_boolean(tree, hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP, tvb, offset, 4, access);
2098 proto_tree_add_boolean(tree, hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUPS, tvb, offset, 4, access);
2099 proto_tree_add_boolean(tree, hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_PASSWORD, tvb, offset, 4, access);
2100 proto_tree_add_boolean(tree, hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_PASSWORD, tvb, offset, 4, access);
2101 proto_tree_add_boolean(tree, hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_ATTRIBUTES, tvb, offset, 4, access);
2102 proto_tree_add_boolean(tree, hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_ATTRIBUTES, tvb, offset, 4, access);
2103 proto_tree_add_boolean(tree, hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOGONINFO, tvb, offset, 4, access);
2104 proto_tree_add_boolean(tree, hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_LOC_COM, tvb, offset, 4, access);
2105 proto_tree_add_boolean(tree, hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOCALE, tvb, offset, 4, access);
2106 proto_tree_add_boolean(tree, hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_NAME_ETC, tvb, offset, 4, access);
2108 struct access_mask_info samr_user_access_mask_info = {
2109 "SAMR User", /* Name of specific rights */
2110 samr_user_specific_rights, /* Dissection function */
2111 NULL, /* Generic mapping table */
2112 NULL /* Standard mapping table */
2115 samr_dissect_bitmap_UserAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep, int hf_index _U_, guint32 param _U_)
2117 offset = dissect_nt_access_mask(
2118 tvb, offset, pinfo, tree, di, drep, hf_samr_user_access_mask,
2119 &samr_user_access_mask_info, NULL);
2120 return offset;
2122 static int
2123 cnf_dissect_lsa_AsciiString(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep, guint32 param _U_, int hfindex)
2125 offset = dissect_ndr_counted_ascii_string(tvb, offset, pinfo, tree, di, drep,
2126 hfindex, 0);
2127 return offset;
2129 static int
2130 cnf_dissect_hyper(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep, guint32 param _U_, int hfindex)
2132 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hfindex, NULL);
2133 return offset;
2135 static int
2136 cnf_dissect_sec_desc_buf_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
2138 guint64 len;
2139 e_ctx_hnd *polhnd = NULL;
2140 dcerpc_call_value *dcv = NULL;
2141 guint32 type=0;
2142 struct access_mask_info *ami=NULL;
2143 if(di->conformant_run){
2144 /*just a run to handle conformant arrays, nothing to dissect */
2145 return offset;
2147 offset = dissect_ndr_uint3264 (tvb, offset, pinfo, tree, di, drep,
2148 hf_samr_sec_desc_buf_len, &len);
2149 dcv = (dcerpc_call_value *)di->call_data;
2150 if(dcv){
2151 polhnd = dcv->pol;
2153 if(polhnd){
2154 dcerpc_fetch_polhnd_data(polhnd, NULL, &type, NULL, NULL,
2155 pinfo->fd->num);
2157 switch(type){
2158 case PIDL_POLHND_TYPE_SAMR_USER:
2159 ami=&samr_user_access_mask_info;
2160 break;
2161 case PIDL_POLHND_TYPE_SAMR_CONNECT:
2162 ami=&samr_connect_access_mask_info;
2163 break;
2164 case PIDL_POLHND_TYPE_SAMR_DOMAIN:
2165 ami=&samr_domain_access_mask_info;
2166 break;
2167 case PIDL_POLHND_TYPE_SAMR_GROUP:
2168 ami=&samr_group_access_mask_info;
2169 break;
2170 case PIDL_POLHND_TYPE_SAMR_ALIAS:
2171 ami=&samr_alias_access_mask_info;
2172 break;
2174 dissect_nt_sec_desc(tvb, offset, pinfo, tree, drep, TRUE, (int)len, ami);
2175 offset += (int)len;
2176 return offset;
2178 static int
2179 cnf_dissect_sec_desc_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
2181 guint64 len;
2182 if(di->conformant_run){
2183 /*just a run to handle conformant arrays, nothing to dissect */
2184 return offset;
2186 offset = dissect_ndr_uint3264 (tvb, offset, pinfo, tree, di, drep,
2187 hf_samr_sec_desc_buf_len, &len);
2188 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
2189 cnf_dissect_sec_desc_buf_, NDR_POINTER_UNIQUE,
2190 "SAM SECURITY DESCRIPTOR data:", -1);
2191 return offset;
2193 static int
2194 cnf_dissect_dom_sid2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
2196 offset = dissect_ndr_nt_SID(tvb, offset, pinfo, tree, di, drep);
2197 return offset;
2199 static int
2200 cnf_dissect_lsa_SidArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info *di, guint8 *drep)
2202 offset = dissect_ndr_nt_PSID_ARRAY(tvb, offset, pinfo, tree, di, drep);
2203 return offset;
2205 static int
2206 cnf_dissect_samr_security_secinfo(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, guint8 *drep _U_)
2208 offset = dissect_nt_security_information(tvb, offset, tree);
2209 return offset;
2213 /* IDL: struct { */
2214 /* IDL: uint32 count; */
2215 /* IDL: [unique(1)] [size_is(count)] lsa_String *names; */
2216 /* IDL: } */
2218 static int
2219 samr_dissect_element_lsa_Strings_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_)
2221 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_lsa_Strings_count, 0);
2223 return offset;
2226 static int
2227 samr_dissect_element_lsa_Strings_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_)
2229 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_lsa_Strings_names_, NDR_POINTER_UNIQUE, "Pointer to Names (lsa_String)",hf_samr_lsa_Strings_names);
2231 return offset;
2234 static int
2235 samr_dissect_element_lsa_Strings_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_)
2237 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_lsa_Strings_names__);
2239 return offset;
2242 static int
2243 samr_dissect_element_lsa_Strings_names__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_)
2245 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_lsa_Strings_names);
2247 return offset;
2251 samr_dissect_struct_lsa_Strings(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info *di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2253 proto_item *item = NULL;
2254 proto_tree *tree = NULL;
2255 int old_offset;
2257 ALIGN_TO_5_BYTES;
2259 old_offset = offset;
2261 if (parent_tree) {
2262 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2263 tree = proto_item_add_subtree(item, ett_samr_lsa_Strings);
2266 offset = samr_dissect_element_lsa_Strings_count(tvb, offset, pinfo, tree, di, drep);
2268 offset = samr_dissect_element_lsa_Strings_names(tvb, offset, pinfo, tree, di, drep);
2271 proto_item_set_len(item, offset-old_offset);
2274 if (di->call_data->flags & DCERPC_IS_NDR64) {
2275 ALIGN_TO_5_BYTES;
2278 return offset;
2282 /* IDL: enum { */
2283 /* IDL: SID_NAME_USE_NONE=0, */
2284 /* IDL: SID_NAME_USER=1, */
2285 /* IDL: SID_NAME_DOM_GRP=2, */
2286 /* IDL: SID_NAME_DOMAIN=3, */
2287 /* IDL: SID_NAME_ALIAS=4, */
2288 /* IDL: SID_NAME_WKN_GRP=5, */
2289 /* IDL: SID_NAME_DELETED=6, */
2290 /* IDL: SID_NAME_INVALID=7, */
2291 /* IDL: SID_NAME_UNKNOWN=8, */
2292 /* IDL: SID_NAME_COMPUTER=9, */
2293 /* IDL: } */
2296 samr_dissect_enum_lsa_SidType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
2298 guint32 parameter=0;
2299 if(param){
2300 parameter=(guint32)*param;
2302 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2303 if(param){
2304 *param=(guint32)parameter;
2306 return offset;
2310 /* IDL: enum { */
2311 /* IDL: SAMR_REJECT_OTHER=0, */
2312 /* IDL: SAMR_REJECT_TOO_SHORT=1, */
2313 /* IDL: SAMR_REJECT_IN_HISTORY=2, */
2314 /* IDL: SAMR_REJECT_COMPLEXITY=5, */
2315 /* IDL: } */
2318 samr_dissect_enum_RejectReason(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
2320 guint32 parameter=0;
2321 if(param){
2322 parameter=(guint32)*param;
2324 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2325 if(param){
2326 *param=(guint32)parameter;
2328 return offset;
2332 /* IDL: bitmap { */
2333 /* IDL: ACB_DISABLED = 0x00000001 , */
2334 /* IDL: ACB_HOMDIRREQ = 0x00000002 , */
2335 /* IDL: ACB_PWNOTREQ = 0x00000004 , */
2336 /* IDL: ACB_TEMPDUP = 0x00000008 , */
2337 /* IDL: ACB_NORMAL = 0x00000010 , */
2338 /* IDL: ACB_MNS = 0x00000020 , */
2339 /* IDL: ACB_DOMTRUST = 0x00000040 , */
2340 /* IDL: ACB_WSTRUST = 0x00000080 , */
2341 /* IDL: ACB_SVRTRUST = 0x00000100 , */
2342 /* IDL: ACB_PWNOEXP = 0x00000200 , */
2343 /* IDL: ACB_AUTOLOCK = 0x00000400 , */
2344 /* IDL: ACB_ENC_TXT_PWD_ALLOWED = 0x00000800 , */
2345 /* IDL: ACB_SMARTCARD_REQUIRED = 0x00001000 , */
2346 /* IDL: ACB_TRUSTED_FOR_DELEGATION = 0x00002000 , */
2347 /* IDL: ACB_NOT_DELEGATED = 0x00004000 , */
2348 /* IDL: ACB_USE_DES_KEY_ONLY = 0x00008000 , */
2349 /* IDL: ACB_DONT_REQUIRE_PREAUTH = 0x00010000 , */
2350 /* IDL: ACB_PW_EXPIRED = 0x00020000 , */
2351 /* IDL: ACB_TRUST_AUTH_DELEGAT = 0x00040000 , */
2352 /* IDL: ACB_NO_AUTH_DATA_REQD = 0x00080000 , */
2353 /* IDL: } */
2356 samr_dissect_bitmap_AcctFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info *di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2358 proto_item *item = NULL;
2359 proto_tree *tree = NULL;
2361 guint32 flags;
2362 ALIGN_TO_4_BYTES;
2364 if (parent_tree) {
2365 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, DREP_ENC_INTEGER(drep));
2366 tree = proto_item_add_subtree(item,ett_samr_samr_AcctFlags);
2369 offset = dissect_ndr_uint32(tvb, offset, pinfo, NULL, di, drep, -1, &flags);
2370 proto_item_append_text(item, ": ");
2372 if (!flags)
2373 proto_item_append_text(item, "(No values set)");
2375 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_DISABLED, tvb, offset-4, 4, flags);
2376 if (flags&( 0x00000001 )){
2377 proto_item_append_text(item, "ACB_DISABLED");
2378 if (flags & (~( 0x00000001 )))
2379 proto_item_append_text(item, ", ");
2381 flags&=(~( 0x00000001 ));
2383 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_HOMDIRREQ, tvb, offset-4, 4, flags);
2384 if (flags&( 0x00000002 )){
2385 proto_item_append_text(item, "ACB_HOMDIRREQ");
2386 if (flags & (~( 0x00000002 )))
2387 proto_item_append_text(item, ", ");
2389 flags&=(~( 0x00000002 ));
2391 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_PWNOTREQ, tvb, offset-4, 4, flags);
2392 if (flags&( 0x00000004 )){
2393 proto_item_append_text(item, "ACB_PWNOTREQ");
2394 if (flags & (~( 0x00000004 )))
2395 proto_item_append_text(item, ", ");
2397 flags&=(~( 0x00000004 ));
2399 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_TEMPDUP, tvb, offset-4, 4, flags);
2400 if (flags&( 0x00000008 )){
2401 proto_item_append_text(item, "ACB_TEMPDUP");
2402 if (flags & (~( 0x00000008 )))
2403 proto_item_append_text(item, ", ");
2405 flags&=(~( 0x00000008 ));
2407 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_NORMAL, tvb, offset-4, 4, flags);
2408 if (flags&( 0x00000010 )){
2409 proto_item_append_text(item, "ACB_NORMAL");
2410 if (flags & (~( 0x00000010 )))
2411 proto_item_append_text(item, ", ");
2413 flags&=(~( 0x00000010 ));
2415 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_MNS, tvb, offset-4, 4, flags);
2416 if (flags&( 0x00000020 )){
2417 proto_item_append_text(item, "ACB_MNS");
2418 if (flags & (~( 0x00000020 )))
2419 proto_item_append_text(item, ", ");
2421 flags&=(~( 0x00000020 ));
2423 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_DOMTRUST, tvb, offset-4, 4, flags);
2424 if (flags&( 0x00000040 )){
2425 proto_item_append_text(item, "ACB_DOMTRUST");
2426 if (flags & (~( 0x00000040 )))
2427 proto_item_append_text(item, ", ");
2429 flags&=(~( 0x00000040 ));
2431 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_WSTRUST, tvb, offset-4, 4, flags);
2432 if (flags&( 0x00000080 )){
2433 proto_item_append_text(item, "ACB_WSTRUST");
2434 if (flags & (~( 0x00000080 )))
2435 proto_item_append_text(item, ", ");
2437 flags&=(~( 0x00000080 ));
2439 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_SVRTRUST, tvb, offset-4, 4, flags);
2440 if (flags&( 0x00000100 )){
2441 proto_item_append_text(item, "ACB_SVRTRUST");
2442 if (flags & (~( 0x00000100 )))
2443 proto_item_append_text(item, ", ");
2445 flags&=(~( 0x00000100 ));
2447 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_PWNOEXP, tvb, offset-4, 4, flags);
2448 if (flags&( 0x00000200 )){
2449 proto_item_append_text(item, "ACB_PWNOEXP");
2450 if (flags & (~( 0x00000200 )))
2451 proto_item_append_text(item, ", ");
2453 flags&=(~( 0x00000200 ));
2455 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_AUTOLOCK, tvb, offset-4, 4, flags);
2456 if (flags&( 0x00000400 )){
2457 proto_item_append_text(item, "ACB_AUTOLOCK");
2458 if (flags & (~( 0x00000400 )))
2459 proto_item_append_text(item, ", ");
2461 flags&=(~( 0x00000400 ));
2463 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_ENC_TXT_PWD_ALLOWED, tvb, offset-4, 4, flags);
2464 if (flags&( 0x00000800 )){
2465 proto_item_append_text(item, "ACB_ENC_TXT_PWD_ALLOWED");
2466 if (flags & (~( 0x00000800 )))
2467 proto_item_append_text(item, ", ");
2469 flags&=(~( 0x00000800 ));
2471 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_SMARTCARD_REQUIRED, tvb, offset-4, 4, flags);
2472 if (flags&( 0x00001000 )){
2473 proto_item_append_text(item, "ACB_SMARTCARD_REQUIRED");
2474 if (flags & (~( 0x00001000 )))
2475 proto_item_append_text(item, ", ");
2477 flags&=(~( 0x00001000 ));
2479 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_TRUSTED_FOR_DELEGATION, tvb, offset-4, 4, flags);
2480 if (flags&( 0x00002000 )){
2481 proto_item_append_text(item, "ACB_TRUSTED_FOR_DELEGATION");
2482 if (flags & (~( 0x00002000 )))
2483 proto_item_append_text(item, ", ");
2485 flags&=(~( 0x00002000 ));
2487 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_NOT_DELEGATED, tvb, offset-4, 4, flags);
2488 if (flags&( 0x00004000 )){
2489 proto_item_append_text(item, "ACB_NOT_DELEGATED");
2490 if (flags & (~( 0x00004000 )))
2491 proto_item_append_text(item, ", ");
2493 flags&=(~( 0x00004000 ));
2495 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_USE_DES_KEY_ONLY, tvb, offset-4, 4, flags);
2496 if (flags&( 0x00008000 )){
2497 proto_item_append_text(item, "ACB_USE_DES_KEY_ONLY");
2498 if (flags & (~( 0x00008000 )))
2499 proto_item_append_text(item, ", ");
2501 flags&=(~( 0x00008000 ));
2503 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_DONT_REQUIRE_PREAUTH, tvb, offset-4, 4, flags);
2504 if (flags&( 0x00010000 )){
2505 proto_item_append_text(item, "ACB_DONT_REQUIRE_PREAUTH");
2506 if (flags & (~( 0x00010000 )))
2507 proto_item_append_text(item, ", ");
2509 flags&=(~( 0x00010000 ));
2511 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_PW_EXPIRED, tvb, offset-4, 4, flags);
2512 if (flags&( 0x00020000 )){
2513 proto_item_append_text(item, "ACB_PW_EXPIRED");
2514 if (flags & (~( 0x00020000 )))
2515 proto_item_append_text(item, ", ");
2517 flags&=(~( 0x00020000 ));
2519 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_TRUST_AUTH_DELEGAT, tvb, offset-4, 4, flags);
2520 if (flags&( 0x00040000 )){
2521 proto_item_append_text(item, "ACB_TRUST_AUTH_DELEGAT");
2522 if (flags & (~( 0x00040000 )))
2523 proto_item_append_text(item, ", ");
2525 flags&=(~( 0x00040000 ));
2527 proto_tree_add_boolean(tree, hf_samr_samr_AcctFlags_ACB_NO_AUTH_DATA_REQD, tvb, offset-4, 4, flags);
2528 if (flags&( 0x00080000 )){
2529 proto_item_append_text(item, "ACB_NO_AUTH_DATA_REQD");
2530 if (flags & (~( 0x00080000 )))
2531 proto_item_append_text(item, ", ");
2533 flags&=(~( 0x00080000 ));
2535 if (flags) {
2536 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
2539 return offset;
2543 /* IDL: bitmap { */
2544 /* IDL: SAMR_ACCESS_CONNECT_TO_SERVER = 0x00000001 , */
2545 /* IDL: SAMR_ACCESS_SHUTDOWN_SERVER = 0x00000002 , */
2546 /* IDL: SAMR_ACCESS_INITIALIZE_SERVER = 0x00000004 , */
2547 /* IDL: SAMR_ACCESS_CREATE_DOMAIN = 0x00000008 , */
2548 /* IDL: SAMR_ACCESS_ENUM_DOMAINS = 0x00000010 , */
2549 /* IDL: SAMR_ACCESS_LOOKUP_DOMAIN = 0x00000020 , */
2550 /* IDL: } */
2553 /* IDL: bitmap { */
2554 /* IDL: SAMR_USER_ACCESS_GET_NAME_ETC = 0x00000001 , */
2555 /* IDL: SAMR_USER_ACCESS_GET_LOCALE = 0x00000002 , */
2556 /* IDL: SAMR_USER_ACCESS_SET_LOC_COM = 0x00000004 , */
2557 /* IDL: SAMR_USER_ACCESS_GET_LOGONINFO = 0x00000008 , */
2558 /* IDL: SAMR_USER_ACCESS_GET_ATTRIBUTES = 0x00000010 , */
2559 /* IDL: SAMR_USER_ACCESS_SET_ATTRIBUTES = 0x00000020 , */
2560 /* IDL: SAMR_USER_ACCESS_CHANGE_PASSWORD = 0x00000040 , */
2561 /* IDL: SAMR_USER_ACCESS_SET_PASSWORD = 0x00000080 , */
2562 /* IDL: SAMR_USER_ACCESS_GET_GROUPS = 0x00000100 , */
2563 /* IDL: SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP = 0x00000200 , */
2564 /* IDL: SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP = 0x00000400 , */
2565 /* IDL: } */
2568 /* IDL: bitmap { */
2569 /* IDL: SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1 = 0x00000001 , */
2570 /* IDL: SAMR_DOMAIN_ACCESS_SET_INFO_1 = 0x00000002 , */
2571 /* IDL: SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2 = 0x00000004 , */
2572 /* IDL: SAMR_DOMAIN_ACCESS_SET_INFO_2 = 0x00000008 , */
2573 /* IDL: SAMR_DOMAIN_ACCESS_CREATE_USER = 0x00000010 , */
2574 /* IDL: SAMR_DOMAIN_ACCESS_CREATE_GROUP = 0x00000020 , */
2575 /* IDL: SAMR_DOMAIN_ACCESS_CREATE_ALIAS = 0x00000040 , */
2576 /* IDL: SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS = 0x00000080 , */
2577 /* IDL: SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS = 0x00000100 , */
2578 /* IDL: SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT = 0x00000200 , */
2579 /* IDL: SAMR_DOMAIN_ACCESS_SET_INFO_3 = 0x00000400 , */
2580 /* IDL: } */
2583 /* IDL: bitmap { */
2584 /* IDL: SAMR_GROUP_ACCESS_LOOKUP_INFO = 0x00000001 , */
2585 /* IDL: SAMR_GROUP_ACCESS_SET_INFO = 0x00000002 , */
2586 /* IDL: SAMR_GROUP_ACCESS_ADD_MEMBER = 0x00000004 , */
2587 /* IDL: SAMR_GROUP_ACCESS_REMOVE_MEMBER = 0x00000008 , */
2588 /* IDL: SAMR_GROUP_ACCESS_GET_MEMBERS = 0x00000010 , */
2589 /* IDL: } */
2592 /* IDL: bitmap { */
2593 /* IDL: SAMR_ALIAS_ACCESS_ADD_MEMBER = 0x00000001 , */
2594 /* IDL: SAMR_ALIAS_ACCESS_REMOVE_MEMBER = 0x00000002 , */
2595 /* IDL: SAMR_ALIAS_ACCESS_GET_MEMBERS = 0x00000004 , */
2596 /* IDL: SAMR_ALIAS_ACCESS_LOOKUP_INFO = 0x00000008 , */
2597 /* IDL: SAMR_ALIAS_ACCESS_SET_INFO = 0x00000010 , */
2598 /* IDL: } */
2601 /* IDL: struct { */
2602 /* IDL: uint32 idx; */
2603 /* IDL: lsa_String name; */
2604 /* IDL: } */
2606 static int
2607 samr_dissect_element_SamEntry_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_)
2609 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SamEntry_idx, 0);
2611 return offset;
2614 static int
2615 samr_dissect_element_SamEntry_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_)
2617 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_SamEntry_name);
2619 return offset;
2623 samr_dissect_struct_SamEntry(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info *di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2625 proto_item *item = NULL;
2626 proto_tree *tree = NULL;
2627 int old_offset;
2629 ALIGN_TO_5_BYTES;
2631 old_offset = offset;
2633 if (parent_tree) {
2634 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2635 tree = proto_item_add_subtree(item, ett_samr_samr_SamEntry);
2638 offset = samr_dissect_element_SamEntry_idx(tvb, offset, pinfo, tree, di, drep);
2640 offset = samr_dissect_element_SamEntry_name(tvb, offset, pinfo, tree, di, drep);
2643 proto_item_set_len(item, offset-old_offset);
2646 if (di->call_data->flags & DCERPC_IS_NDR64) {
2647 ALIGN_TO_5_BYTES;
2650 return offset;
2654 /* IDL: struct { */
2655 /* IDL: uint32 count; */
2656 /* IDL: [unique(1)] [size_is(count)] samr_SamEntry *entries; */
2657 /* IDL: } */
2659 static int
2660 samr_dissect_element_SamArray_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_)
2662 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SamArray_count, 0);
2664 return offset;
2667 static int
2668 samr_dissect_element_SamArray_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_)
2670 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SamArray_entries_, NDR_POINTER_UNIQUE, "Pointer to Entries (samr_SamEntry)",hf_samr_samr_SamArray_entries);
2672 return offset;
2675 static int
2676 samr_dissect_element_SamArray_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_)
2678 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SamArray_entries__);
2680 return offset;
2683 static int
2684 samr_dissect_element_SamArray_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_)
2686 offset = samr_dissect_struct_SamEntry(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_SamArray_entries,3|PIDL_SET_COL_INFO);
2688 return offset;
2692 samr_dissect_struct_SamArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info *di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2694 proto_item *item = NULL;
2695 proto_tree *tree = NULL;
2696 int old_offset;
2698 ALIGN_TO_5_BYTES;
2700 old_offset = offset;
2702 if (parent_tree) {
2703 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2704 tree = proto_item_add_subtree(item, ett_samr_samr_SamArray);
2707 offset = samr_dissect_element_SamArray_count(tvb, offset, pinfo, tree, di, drep);
2709 offset = samr_dissect_element_SamArray_entries(tvb, offset, pinfo, tree, di, drep);
2712 proto_item_set_len(item, offset-old_offset);
2715 if (di->call_data->flags & DCERPC_IS_NDR64) {
2716 ALIGN_TO_5_BYTES;
2719 return offset;
2723 /* IDL: enum { */
2724 /* IDL: DomainPasswordInformation=1, */
2725 /* IDL: DomainGeneralInformation=2, */
2726 /* IDL: DomainLogoffInformation=3, */
2727 /* IDL: DomainOemInformation=4, */
2728 /* IDL: DomainNameInformation=5, */
2729 /* IDL: DomainReplicationInformation=6, */
2730 /* IDL: DomainServerRoleInformation=7, */
2731 /* IDL: DomainModifiedInformation=8, */
2732 /* IDL: DomainStateInformation=9, */
2733 /* IDL: DomainUasInformation=10, */
2734 /* IDL: DomainGeneralInformation2=11, */
2735 /* IDL: DomainLockoutInformation=12, */
2736 /* IDL: DomainModifiedInformation2=13, */
2737 /* IDL: } */
2740 samr_dissect_enum_DomainInfoClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
2742 guint1632 parameter=0;
2743 if(param){
2744 parameter=(guint1632)*param;
2746 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2747 if(param){
2748 *param=(guint32)parameter;
2750 return offset;
2754 /* IDL: enum { */
2755 /* IDL: SAMR_ROLE_STANDALONE=0, */
2756 /* IDL: SAMR_ROLE_DOMAIN_MEMBER=1, */
2757 /* IDL: SAMR_ROLE_DOMAIN_BDC=2, */
2758 /* IDL: SAMR_ROLE_DOMAIN_PDC=3, */
2759 /* IDL: } */
2762 samr_dissect_enum_Role(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
2764 guint32 parameter=0;
2765 if(param){
2766 parameter=(guint32)*param;
2768 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2769 if(param){
2770 *param=(guint32)parameter;
2772 return offset;
2776 /* IDL: bitmap { */
2777 /* IDL: DOMAIN_PASSWORD_COMPLEX = 0x00000001 , */
2778 /* IDL: DOMAIN_PASSWORD_NO_ANON_CHANGE = 0x00000002 , */
2779 /* IDL: DOMAIN_PASSWORD_NO_CLEAR_CHANGE = 0x00000004 , */
2780 /* IDL: DOMAIN_PASSWORD_LOCKOUT_ADMINS = 0x00000008 , */
2781 /* IDL: DOMAIN_PASSWORD_STORE_CLEARTEXT = 0x00000010 , */
2782 /* IDL: DOMAIN_REFUSE_PASSWORD_CHANGE = 0x00000020 , */
2783 /* IDL: } */
2786 samr_dissect_bitmap_PasswordProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info *di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2788 proto_item *item = NULL;
2789 proto_tree *tree = NULL;
2791 guint32 flags;
2792 ALIGN_TO_4_BYTES;
2794 if (parent_tree) {
2795 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, DREP_ENC_INTEGER(drep));
2796 tree = proto_item_add_subtree(item,ett_samr_samr_PasswordProperties);
2799 offset = dissect_ndr_uint32(tvb, offset, pinfo, NULL, di, drep, -1, &flags);
2800 proto_item_append_text(item, ": ");
2802 if (!flags)
2803 proto_item_append_text(item, "(No values set)");
2805 proto_tree_add_boolean(tree, hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_COMPLEX, tvb, offset-4, 4, flags);
2806 if (flags&( 0x00000001 )){
2807 proto_item_append_text(item, "DOMAIN_PASSWORD_COMPLEX");
2808 if (flags & (~( 0x00000001 )))
2809 proto_item_append_text(item, ", ");
2811 flags&=(~( 0x00000001 ));
2813 proto_tree_add_boolean(tree, hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_ANON_CHANGE, tvb, offset-4, 4, flags);
2814 if (flags&( 0x00000002 )){
2815 proto_item_append_text(item, "DOMAIN_PASSWORD_NO_ANON_CHANGE");
2816 if (flags & (~( 0x00000002 )))
2817 proto_item_append_text(item, ", ");
2819 flags&=(~( 0x00000002 ));
2821 proto_tree_add_boolean(tree, hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_CLEAR_CHANGE, tvb, offset-4, 4, flags);
2822 if (flags&( 0x00000004 )){
2823 proto_item_append_text(item, "DOMAIN_PASSWORD_NO_CLEAR_CHANGE");
2824 if (flags & (~( 0x00000004 )))
2825 proto_item_append_text(item, ", ");
2827 flags&=(~( 0x00000004 ));
2829 proto_tree_add_boolean(tree, hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_LOCKOUT_ADMINS, tvb, offset-4, 4, flags);
2830 if (flags&( 0x00000008 )){
2831 proto_item_append_text(item, "DOMAIN_PASSWORD_LOCKOUT_ADMINS");
2832 if (flags & (~( 0x00000008 )))
2833 proto_item_append_text(item, ", ");
2835 flags&=(~( 0x00000008 ));
2837 proto_tree_add_boolean(tree, hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_STORE_CLEARTEXT, tvb, offset-4, 4, flags);
2838 if (flags&( 0x00000010 )){
2839 proto_item_append_text(item, "DOMAIN_PASSWORD_STORE_CLEARTEXT");
2840 if (flags & (~( 0x00000010 )))
2841 proto_item_append_text(item, ", ");
2843 flags&=(~( 0x00000010 ));
2845 proto_tree_add_boolean(tree, hf_samr_samr_PasswordProperties_DOMAIN_REFUSE_PASSWORD_CHANGE, tvb, offset-4, 4, flags);
2846 if (flags&( 0x00000020 )){
2847 proto_item_append_text(item, "DOMAIN_REFUSE_PASSWORD_CHANGE");
2848 if (flags & (~( 0x00000020 )))
2849 proto_item_append_text(item, ", ");
2851 flags&=(~( 0x00000020 ));
2853 if (flags) {
2854 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
2857 return offset;
2861 /* IDL: enum { */
2862 /* IDL: DOMAIN_SERVER_ENABLED=1, */
2863 /* IDL: DOMAIN_SERVER_DISABLED=2, */
2864 /* IDL: } */
2867 samr_dissect_enum_DomainServerState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
2869 guint32 parameter=0;
2870 if(param){
2871 parameter=(guint32)*param;
2873 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2874 if(param){
2875 *param=(guint32)parameter;
2877 return offset;
2881 /* IDL: struct { */
2882 /* IDL: uint16 min_password_length; */
2883 /* IDL: uint16 password_history_length; */
2884 /* IDL: samr_PasswordProperties password_properties; */
2885 /* IDL: dlong max_password_age; */
2886 /* IDL: dlong min_password_age; */
2887 /* IDL: } */
2889 static int
2890 samr_dissect_element_DomInfo1_min_password_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_)
2892 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo1_min_password_length, 0);
2894 return offset;
2897 static int
2898 samr_dissect_element_DomInfo1_password_history_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_)
2900 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo1_password_history_length, 0);
2902 return offset;
2905 static int
2906 samr_dissect_element_DomInfo1_password_properties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_)
2908 offset = samr_dissect_bitmap_PasswordProperties(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo1_password_properties, 0);
2910 return offset;
2913 static int
2914 samr_dissect_element_DomInfo1_max_password_age(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info *di _U_, guint8 *drep _U_)
2916 offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo1_max_password_age, NULL);
2918 return offset;
2921 static int
2922 samr_dissect_element_DomInfo1_min_password_age(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2924 offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo1_min_password_age, NULL);
2926 return offset;
2930 samr_dissect_struct_DomInfo1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
2932 proto_item *item = NULL;
2933 proto_tree *tree = NULL;
2934 int old_offset;
2936 ALIGN_TO_4_BYTES;
2938 old_offset = offset;
2940 if (parent_tree) {
2941 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2942 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo1);
2945 offset = samr_dissect_element_DomInfo1_min_password_length(tvb, offset, pinfo, tree, di, drep);
2947 offset = samr_dissect_element_DomInfo1_password_history_length(tvb, offset, pinfo, tree, di, drep);
2949 offset = samr_dissect_element_DomInfo1_password_properties(tvb, offset, pinfo, tree, di, drep);
2951 offset = samr_dissect_element_DomInfo1_max_password_age(tvb, offset, pinfo, tree, di, drep);
2953 offset = samr_dissect_element_DomInfo1_min_password_age(tvb, offset, pinfo, tree, di, drep);
2956 proto_item_set_len(item, offset-old_offset);
2959 if (di->call_data->flags & DCERPC_IS_NDR64) {
2960 ALIGN_TO_4_BYTES;
2963 return offset;
2967 /* IDL: struct { */
2968 /* IDL: NTTIME force_logoff_time; */
2969 /* IDL: lsa_String oem_information; */
2970 /* IDL: lsa_String domain_name; */
2971 /* IDL: lsa_String primary; */
2972 /* IDL: udlong sequence_num; */
2973 /* IDL: samr_DomainServerState domain_server_state; */
2974 /* IDL: samr_Role role; */
2975 /* IDL: uint32 unknown3; */
2976 /* IDL: uint32 num_users; */
2977 /* IDL: uint32 num_groups; */
2978 /* IDL: uint32 num_aliases; */
2979 /* IDL: } */
2981 static int
2982 samr_dissect_element_DomGeneralInformation_force_logoff_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2984 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_force_logoff_time);
2986 return offset;
2989 static int
2990 samr_dissect_element_DomGeneralInformation_oem_information(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
2992 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomGeneralInformation_oem_information);
2994 return offset;
2997 static int
2998 samr_dissect_element_DomGeneralInformation_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3000 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomGeneralInformation_domain_name);
3002 return offset;
3005 static int
3006 samr_dissect_element_DomGeneralInformation_primary(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3008 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomGeneralInformation_primary);
3010 return offset;
3013 static int
3014 samr_dissect_element_DomGeneralInformation_sequence_num(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3016 offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_sequence_num, NULL);
3018 return offset;
3021 static int
3022 samr_dissect_element_DomGeneralInformation_domain_server_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3024 offset = samr_dissect_enum_DomainServerState(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_domain_server_state, 0);
3026 return offset;
3029 static int
3030 samr_dissect_element_DomGeneralInformation_role(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3032 offset = samr_dissect_enum_Role(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_role, 0);
3034 return offset;
3037 static int
3038 samr_dissect_element_DomGeneralInformation_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3040 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_unknown3, 0);
3042 return offset;
3045 static int
3046 samr_dissect_element_DomGeneralInformation_num_users(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3048 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_num_users, 0);
3050 return offset;
3053 static int
3054 samr_dissect_element_DomGeneralInformation_num_groups(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3056 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_num_groups, 0);
3058 return offset;
3061 static int
3062 samr_dissect_element_DomGeneralInformation_num_aliases(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3064 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_num_aliases, 0);
3066 return offset;
3070 samr_dissect_struct_DomGeneralInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3072 proto_item *item = NULL;
3073 proto_tree *tree = NULL;
3074 int old_offset;
3076 ALIGN_TO_5_BYTES;
3078 old_offset = offset;
3080 if (parent_tree) {
3081 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3082 tree = proto_item_add_subtree(item, ett_samr_samr_DomGeneralInformation);
3085 offset = samr_dissect_element_DomGeneralInformation_force_logoff_time(tvb, offset, pinfo, tree, di, drep);
3087 offset = samr_dissect_element_DomGeneralInformation_oem_information(tvb, offset, pinfo, tree, di, drep);
3089 offset = samr_dissect_element_DomGeneralInformation_domain_name(tvb, offset, pinfo, tree, di, drep);
3091 offset = samr_dissect_element_DomGeneralInformation_primary(tvb, offset, pinfo, tree, di, drep);
3093 offset = samr_dissect_element_DomGeneralInformation_sequence_num(tvb, offset, pinfo, tree, di, drep);
3095 offset = samr_dissect_element_DomGeneralInformation_domain_server_state(tvb, offset, pinfo, tree, di, drep);
3097 offset = samr_dissect_element_DomGeneralInformation_role(tvb, offset, pinfo, tree, di, drep);
3099 offset = samr_dissect_element_DomGeneralInformation_unknown3(tvb, offset, pinfo, tree, di, drep);
3101 offset = samr_dissect_element_DomGeneralInformation_num_users(tvb, offset, pinfo, tree, di, drep);
3103 offset = samr_dissect_element_DomGeneralInformation_num_groups(tvb, offset, pinfo, tree, di, drep);
3105 offset = samr_dissect_element_DomGeneralInformation_num_aliases(tvb, offset, pinfo, tree, di, drep);
3108 proto_item_set_len(item, offset-old_offset);
3111 if (di->call_data->flags & DCERPC_IS_NDR64) {
3112 ALIGN_TO_5_BYTES;
3115 return offset;
3119 /* IDL: struct { */
3120 /* IDL: NTTIME force_logoff_time; */
3121 /* IDL: } */
3123 static int
3124 samr_dissect_element_DomInfo3_force_logoff_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3126 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo3_force_logoff_time);
3128 return offset;
3132 samr_dissect_struct_DomInfo3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3134 proto_item *item = NULL;
3135 proto_tree *tree = NULL;
3136 int old_offset;
3138 ALIGN_TO_4_BYTES;
3140 old_offset = offset;
3142 if (parent_tree) {
3143 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3144 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo3);
3147 offset = samr_dissect_element_DomInfo3_force_logoff_time(tvb, offset, pinfo, tree, di, drep);
3150 proto_item_set_len(item, offset-old_offset);
3153 if (di->call_data->flags & DCERPC_IS_NDR64) {
3154 ALIGN_TO_4_BYTES;
3157 return offset;
3161 /* IDL: struct { */
3162 /* IDL: lsa_String oem_information; */
3163 /* IDL: } */
3165 static int
3166 samr_dissect_element_DomOEMInformation_oem_information(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3168 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomOEMInformation_oem_information);
3170 return offset;
3174 samr_dissect_struct_DomOEMInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3176 proto_item *item = NULL;
3177 proto_tree *tree = NULL;
3178 int old_offset;
3180 ALIGN_TO_5_BYTES;
3182 old_offset = offset;
3184 if (parent_tree) {
3185 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3186 tree = proto_item_add_subtree(item, ett_samr_samr_DomOEMInformation);
3189 offset = samr_dissect_element_DomOEMInformation_oem_information(tvb, offset, pinfo, tree, di, drep);
3192 proto_item_set_len(item, offset-old_offset);
3195 if (di->call_data->flags & DCERPC_IS_NDR64) {
3196 ALIGN_TO_5_BYTES;
3199 return offset;
3203 /* IDL: struct { */
3204 /* IDL: lsa_String domain_name; */
3205 /* IDL: } */
3207 static int
3208 samr_dissect_element_DomInfo5_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3210 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomInfo5_domain_name);
3212 return offset;
3216 samr_dissect_struct_DomInfo5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3218 proto_item *item = NULL;
3219 proto_tree *tree = NULL;
3220 int old_offset;
3222 ALIGN_TO_5_BYTES;
3224 old_offset = offset;
3226 if (parent_tree) {
3227 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3228 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo5);
3231 offset = samr_dissect_element_DomInfo5_domain_name(tvb, offset, pinfo, tree, di, drep);
3234 proto_item_set_len(item, offset-old_offset);
3237 if (di->call_data->flags & DCERPC_IS_NDR64) {
3238 ALIGN_TO_5_BYTES;
3241 return offset;
3245 /* IDL: struct { */
3246 /* IDL: lsa_String primary; */
3247 /* IDL: } */
3249 static int
3250 samr_dissect_element_DomInfo6_primary(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3252 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomInfo6_primary);
3254 return offset;
3258 samr_dissect_struct_DomInfo6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3260 proto_item *item = NULL;
3261 proto_tree *tree = NULL;
3262 int old_offset;
3264 ALIGN_TO_5_BYTES;
3266 old_offset = offset;
3268 if (parent_tree) {
3269 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3270 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo6);
3273 offset = samr_dissect_element_DomInfo6_primary(tvb, offset, pinfo, tree, di, drep);
3276 proto_item_set_len(item, offset-old_offset);
3279 if (di->call_data->flags & DCERPC_IS_NDR64) {
3280 ALIGN_TO_5_BYTES;
3283 return offset;
3287 /* IDL: struct { */
3288 /* IDL: samr_Role role; */
3289 /* IDL: } */
3291 static int
3292 samr_dissect_element_DomInfo7_role(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3294 offset = samr_dissect_enum_Role(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo7_role, 0);
3296 return offset;
3300 samr_dissect_struct_DomInfo7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3302 proto_item *item = NULL;
3303 proto_tree *tree = NULL;
3304 int old_offset;
3306 ALIGN_TO_4_BYTES;
3308 old_offset = offset;
3310 if (parent_tree) {
3311 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3312 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo7);
3315 offset = samr_dissect_element_DomInfo7_role(tvb, offset, pinfo, tree, di, drep);
3318 proto_item_set_len(item, offset-old_offset);
3321 if (di->call_data->flags & DCERPC_IS_NDR64) {
3322 ALIGN_TO_4_BYTES;
3325 return offset;
3329 /* IDL: struct { */
3330 /* IDL: hyper sequence_num; */
3331 /* IDL: NTTIME domain_create_time; */
3332 /* IDL: } */
3334 static int
3335 samr_dissect_element_DomInfo8_sequence_num(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3337 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomInfo8_sequence_num);
3339 return offset;
3342 static int
3343 samr_dissect_element_DomInfo8_domain_create_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3345 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo8_domain_create_time);
3347 return offset;
3351 samr_dissect_struct_DomInfo8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3353 proto_item *item = NULL;
3354 proto_tree *tree = NULL;
3355 int old_offset;
3357 ALIGN_TO_8_BYTES;
3359 old_offset = offset;
3361 if (parent_tree) {
3362 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3363 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo8);
3366 offset = samr_dissect_element_DomInfo8_sequence_num(tvb, offset, pinfo, tree, di, drep);
3368 offset = samr_dissect_element_DomInfo8_domain_create_time(tvb, offset, pinfo, tree, di, drep);
3371 proto_item_set_len(item, offset-old_offset);
3374 if (di->call_data->flags & DCERPC_IS_NDR64) {
3375 ALIGN_TO_8_BYTES;
3378 return offset;
3382 /* IDL: struct { */
3383 /* IDL: samr_DomainServerState domain_server_state; */
3384 /* IDL: } */
3386 static int
3387 samr_dissect_element_DomInfo9_domain_server_state(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3389 offset = samr_dissect_enum_DomainServerState(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo9_domain_server_state, 0);
3391 return offset;
3395 samr_dissect_struct_DomInfo9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3397 proto_item *item = NULL;
3398 proto_tree *tree = NULL;
3399 int old_offset;
3401 ALIGN_TO_4_BYTES;
3403 old_offset = offset;
3405 if (parent_tree) {
3406 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3407 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo9);
3410 offset = samr_dissect_element_DomInfo9_domain_server_state(tvb, offset, pinfo, tree, di, drep);
3413 proto_item_set_len(item, offset-old_offset);
3416 if (di->call_data->flags & DCERPC_IS_NDR64) {
3417 ALIGN_TO_4_BYTES;
3420 return offset;
3424 /* IDL: struct { */
3425 /* IDL: samr_DomGeneralInformation general; */
3426 /* IDL: hyper lockout_duration; */
3427 /* IDL: hyper lockout_window; */
3428 /* IDL: uint16 lockout_threshold; */
3429 /* IDL: } */
3431 static int
3432 samr_dissect_element_DomGeneralInformation2_general(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3434 offset = samr_dissect_struct_DomGeneralInformation(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomGeneralInformation2_general,0);
3436 return offset;
3439 static int
3440 samr_dissect_element_DomGeneralInformation2_lockout_duration(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3442 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomGeneralInformation2_lockout_duration);
3444 return offset;
3447 static int
3448 samr_dissect_element_DomGeneralInformation2_lockout_window(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3450 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomGeneralInformation2_lockout_window);
3452 return offset;
3455 static int
3456 samr_dissect_element_DomGeneralInformation2_lockout_threshold(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3458 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation2_lockout_threshold, 0);
3460 return offset;
3464 samr_dissect_struct_DomGeneralInformation2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3466 proto_item *item = NULL;
3467 proto_tree *tree = NULL;
3468 int old_offset;
3470 ALIGN_TO_8_BYTES;
3472 old_offset = offset;
3474 if (parent_tree) {
3475 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3476 tree = proto_item_add_subtree(item, ett_samr_samr_DomGeneralInformation2);
3479 offset = samr_dissect_element_DomGeneralInformation2_general(tvb, offset, pinfo, tree, di, drep);
3481 offset = samr_dissect_element_DomGeneralInformation2_lockout_duration(tvb, offset, pinfo, tree, di, drep);
3483 offset = samr_dissect_element_DomGeneralInformation2_lockout_window(tvb, offset, pinfo, tree, di, drep);
3485 offset = samr_dissect_element_DomGeneralInformation2_lockout_threshold(tvb, offset, pinfo, tree, di, drep);
3488 proto_item_set_len(item, offset-old_offset);
3491 if (di->call_data->flags & DCERPC_IS_NDR64) {
3492 ALIGN_TO_8_BYTES;
3495 return offset;
3499 /* IDL: struct { */
3500 /* IDL: hyper lockout_duration; */
3501 /* IDL: hyper lockout_window; */
3502 /* IDL: uint16 lockout_threshold; */
3503 /* IDL: } */
3505 static int
3506 samr_dissect_element_DomInfo12_lockout_duration(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3508 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomInfo12_lockout_duration);
3510 return offset;
3513 static int
3514 samr_dissect_element_DomInfo12_lockout_window(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3516 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomInfo12_lockout_window);
3518 return offset;
3521 static int
3522 samr_dissect_element_DomInfo12_lockout_threshold(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3524 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo12_lockout_threshold, 0);
3526 return offset;
3530 samr_dissect_struct_DomInfo12(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3532 proto_item *item = NULL;
3533 proto_tree *tree = NULL;
3534 int old_offset;
3536 ALIGN_TO_8_BYTES;
3538 old_offset = offset;
3540 if (parent_tree) {
3541 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3542 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo12);
3545 offset = samr_dissect_element_DomInfo12_lockout_duration(tvb, offset, pinfo, tree, di, drep);
3547 offset = samr_dissect_element_DomInfo12_lockout_window(tvb, offset, pinfo, tree, di, drep);
3549 offset = samr_dissect_element_DomInfo12_lockout_threshold(tvb, offset, pinfo, tree, di, drep);
3552 proto_item_set_len(item, offset-old_offset);
3555 if (di->call_data->flags & DCERPC_IS_NDR64) {
3556 ALIGN_TO_8_BYTES;
3559 return offset;
3563 /* IDL: struct { */
3564 /* IDL: hyper sequence_num; */
3565 /* IDL: NTTIME domain_create_time; */
3566 /* IDL: hyper modified_count_at_last_promotion; */
3567 /* IDL: } */
3569 static int
3570 samr_dissect_element_DomInfo13_sequence_num(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3572 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomInfo13_sequence_num);
3574 return offset;
3577 static int
3578 samr_dissect_element_DomInfo13_domain_create_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3580 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo13_domain_create_time);
3582 return offset;
3585 static int
3586 samr_dissect_element_DomInfo13_modified_count_at_last_promotion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3588 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomInfo13_modified_count_at_last_promotion);
3590 return offset;
3594 samr_dissect_struct_DomInfo13(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3596 proto_item *item = NULL;
3597 proto_tree *tree = NULL;
3599 int old_offset;
3601 ALIGN_TO_8_BYTES;
3603 old_offset = offset;
3605 if (parent_tree) {
3606 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3607 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo13);
3610 offset = samr_dissect_element_DomInfo13_sequence_num(tvb, offset, pinfo, tree, di, drep);
3612 offset = samr_dissect_element_DomInfo13_domain_create_time(tvb, offset, pinfo, tree, di, drep);
3614 offset = samr_dissect_element_DomInfo13_modified_count_at_last_promotion(tvb, offset, pinfo, tree, di, drep);
3617 proto_item_set_len(item, offset-old_offset);
3620 if (di->call_data->flags & DCERPC_IS_NDR64) {
3621 ALIGN_TO_8_BYTES;
3624 return offset;
3628 /* IDL: [switch_type(uint16)] union { */
3629 /* IDL: [case(1)] [case(1)] samr_DomInfo1 info1; */
3630 /* IDL: [case(2)] [case(2)] samr_DomGeneralInformation general; */
3631 /* IDL: [case(3)] [case(3)] samr_DomInfo3 info3; */
3632 /* IDL: [case(4)] [case(4)] samr_DomOEMInformation oem; */
3633 /* IDL: [case(5)] [case(5)] samr_DomInfo5 info5; */
3634 /* IDL: [case(6)] [case(6)] samr_DomInfo6 info6; */
3635 /* IDL: [case(7)] [case(7)] samr_DomInfo7 info7; */
3636 /* IDL: [case(8)] [case(8)] samr_DomInfo8 info8; */
3637 /* IDL: [case(9)] [case(9)] samr_DomInfo9 info9; */
3638 /* IDL: [case(11)] [case(11)] samr_DomGeneralInformation2 general2; */
3639 /* IDL: [case(12)] [case(12)] samr_DomInfo12 info12; */
3640 /* IDL: [case(13)] [case(13)] samr_DomInfo13 info13; */
3641 /* IDL: } */
3643 static int
3644 samr_dissect_element_DomainInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3646 offset = samr_dissect_struct_DomInfo1(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info1,0);
3648 return offset;
3651 static int
3652 samr_dissect_element_DomainInfo_general(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3654 offset = samr_dissect_struct_DomGeneralInformation(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_general,0);
3656 return offset;
3659 static int
3660 samr_dissect_element_DomainInfo_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3662 offset = samr_dissect_struct_DomInfo3(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info3,0);
3664 return offset;
3667 static int
3668 samr_dissect_element_DomainInfo_oem(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3670 offset = samr_dissect_struct_DomOEMInformation(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_oem,0);
3672 return offset;
3675 static int
3676 samr_dissect_element_DomainInfo_info5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3678 offset = samr_dissect_struct_DomInfo5(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info5,0);
3680 return offset;
3683 static int
3684 samr_dissect_element_DomainInfo_info6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3686 offset = samr_dissect_struct_DomInfo6(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info6,0);
3688 return offset;
3691 static int
3692 samr_dissect_element_DomainInfo_info7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3694 offset = samr_dissect_struct_DomInfo7(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info7,0);
3696 return offset;
3699 static int
3700 samr_dissect_element_DomainInfo_info8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3702 offset = samr_dissect_struct_DomInfo8(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info8,0);
3704 return offset;
3707 static int
3708 samr_dissect_element_DomainInfo_info9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3710 offset = samr_dissect_struct_DomInfo9(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info9,0);
3712 return offset;
3715 static int
3716 samr_dissect_element_DomainInfo_general2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3718 offset = samr_dissect_struct_DomGeneralInformation2(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_general2,0);
3720 return offset;
3723 static int
3724 samr_dissect_element_DomainInfo_info12(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3726 offset = samr_dissect_struct_DomInfo12(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info12,0);
3728 return offset;
3731 static int
3732 samr_dissect_element_DomainInfo_info13(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3734 offset = samr_dissect_struct_DomInfo13(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info13,0);
3736 return offset;
3739 static int
3740 samr_dissect_DomainInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3742 proto_item *item = NULL;
3743 proto_tree *tree = NULL;
3744 int old_offset;
3745 guint16 level;
3747 old_offset = offset;
3748 if (parent_tree) {
3749 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "samr_DomainInfo");
3750 tree = proto_item_add_subtree(item, ett_samr_samr_DomainInfo);
3753 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
3754 ALIGN_TO_8_BYTES;
3756 switch(level) {
3757 case 1:
3758 offset = samr_dissect_element_DomainInfo_info1(tvb, offset, pinfo, tree, di, drep);
3759 break;
3761 case 2:
3762 offset = samr_dissect_element_DomainInfo_general(tvb, offset, pinfo, tree, di, drep);
3763 break;
3765 case 3:
3766 offset = samr_dissect_element_DomainInfo_info3(tvb, offset, pinfo, tree, di, drep);
3767 break;
3769 case 4:
3770 offset = samr_dissect_element_DomainInfo_oem(tvb, offset, pinfo, tree, di, drep);
3771 break;
3773 case 5:
3774 offset = samr_dissect_element_DomainInfo_info5(tvb, offset, pinfo, tree, di, drep);
3775 break;
3777 case 6:
3778 offset = samr_dissect_element_DomainInfo_info6(tvb, offset, pinfo, tree, di, drep);
3779 break;
3781 case 7:
3782 offset = samr_dissect_element_DomainInfo_info7(tvb, offset, pinfo, tree, di, drep);
3783 break;
3785 case 8:
3786 offset = samr_dissect_element_DomainInfo_info8(tvb, offset, pinfo, tree, di, drep);
3787 break;
3789 case 9:
3790 offset = samr_dissect_element_DomainInfo_info9(tvb, offset, pinfo, tree, di, drep);
3791 break;
3793 case 11:
3794 offset = samr_dissect_element_DomainInfo_general2(tvb, offset, pinfo, tree, di, drep);
3795 break;
3797 case 12:
3798 offset = samr_dissect_element_DomainInfo_info12(tvb, offset, pinfo, tree, di, drep);
3799 break;
3801 case 13:
3802 offset = samr_dissect_element_DomainInfo_info13(tvb, offset, pinfo, tree, di, drep);
3803 break;
3805 proto_item_set_len(item, offset-old_offset);
3808 return offset;
3811 /* IDL: struct { */
3812 /* IDL: [range(0,1024)] uint32 count; */
3813 /* IDL: [unique(1)] [size_is(count)] uint32 *ids; */
3814 /* IDL: } */
3816 static int
3817 samr_dissect_element_Ids_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3819 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Ids_count, 0);
3821 return offset;
3824 static int
3825 samr_dissect_element_Ids_ids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3827 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Ids_ids_, NDR_POINTER_UNIQUE, "Pointer to Ids (uint32)",hf_samr_rid);
3829 return offset;
3832 static int
3833 samr_dissect_element_Ids_ids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3835 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Ids_ids__);
3837 return offset;
3840 static int
3841 samr_dissect_element_Ids_ids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3843 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
3845 return offset;
3849 samr_dissect_struct_Ids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3851 proto_item *item = NULL;
3852 proto_tree *tree = NULL;
3854 int old_offset;
3856 ALIGN_TO_5_BYTES;
3858 old_offset = offset;
3860 if (parent_tree) {
3861 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3862 tree = proto_item_add_subtree(item, ett_samr_samr_Ids);
3865 offset = samr_dissect_element_Ids_count(tvb, offset, pinfo, tree, di, drep);
3867 offset = samr_dissect_element_Ids_ids(tvb, offset, pinfo, tree, di, drep);
3870 proto_item_set_len(item, offset-old_offset);
3873 if (di->call_data->flags & DCERPC_IS_NDR64) {
3874 ALIGN_TO_5_BYTES;
3877 return offset;
3881 /* IDL: bitmap { */
3882 /* IDL: SE_GROUP_MANDATORY = 0x00000001 , */
3883 /* IDL: SE_GROUP_ENABLED_BY_DEFAULT = 0x00000002 , */
3884 /* IDL: SE_GROUP_ENABLED = 0x00000004 , */
3885 /* IDL: SE_GROUP_OWNER = 0x00000008 , */
3886 /* IDL: SE_GROUP_USE_FOR_DENY_ONLY = 0x00000010 , */
3887 /* IDL: SE_GROUP_RESOURCE = 0x20000000 , */
3888 /* IDL: SE_GROUP_LOGON_ID = 0xC0000000 , */
3889 /* IDL: } */
3892 samr_dissect_bitmap_GroupAttrs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
3894 proto_item *item = NULL;
3895 proto_tree *tree = NULL;
3897 guint32 flags;
3898 ALIGN_TO_4_BYTES;
3900 if (parent_tree) {
3901 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, DREP_ENC_INTEGER(drep));
3902 tree = proto_item_add_subtree(item,ett_samr_samr_GroupAttrs);
3905 offset = dissect_ndr_uint32(tvb, offset, pinfo, NULL, di, drep, -1, &flags);
3906 proto_item_append_text(item, ": ");
3908 if (!flags)
3909 proto_item_append_text(item, "(No values set)");
3911 proto_tree_add_boolean(tree, hf_samr_samr_GroupAttrs_SE_GROUP_MANDATORY, tvb, offset-4, 4, flags);
3912 if (flags&( 0x00000001 )){
3913 proto_item_append_text(item, "SE_GROUP_MANDATORY");
3914 if (flags & (~( 0x00000001 )))
3915 proto_item_append_text(item, ", ");
3917 flags&=(~( 0x00000001 ));
3919 proto_tree_add_boolean(tree, hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED_BY_DEFAULT, tvb, offset-4, 4, flags);
3920 if (flags&( 0x00000002 )){
3921 proto_item_append_text(item, "SE_GROUP_ENABLED_BY_DEFAULT");
3922 if (flags & (~( 0x00000002 )))
3923 proto_item_append_text(item, ", ");
3925 flags&=(~( 0x00000002 ));
3927 proto_tree_add_boolean(tree, hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED, tvb, offset-4, 4, flags);
3928 if (flags&( 0x00000004 )){
3929 proto_item_append_text(item, "SE_GROUP_ENABLED");
3930 if (flags & (~( 0x00000004 )))
3931 proto_item_append_text(item, ", ");
3933 flags&=(~( 0x00000004 ));
3935 proto_tree_add_boolean(tree, hf_samr_samr_GroupAttrs_SE_GROUP_OWNER, tvb, offset-4, 4, flags);
3936 if (flags&( 0x00000008 )){
3937 proto_item_append_text(item, "SE_GROUP_OWNER");
3938 if (flags & (~( 0x00000008 )))
3939 proto_item_append_text(item, ", ");
3941 flags&=(~( 0x00000008 ));
3943 proto_tree_add_boolean(tree, hf_samr_samr_GroupAttrs_SE_GROUP_USE_FOR_DENY_ONLY, tvb, offset-4, 4, flags);
3944 if (flags&( 0x00000010 )){
3945 proto_item_append_text(item, "SE_GROUP_USE_FOR_DENY_ONLY");
3946 if (flags & (~( 0x00000010 )))
3947 proto_item_append_text(item, ", ");
3949 flags&=(~( 0x00000010 ));
3951 proto_tree_add_boolean(tree, hf_samr_samr_GroupAttrs_SE_GROUP_RESOURCE, tvb, offset-4, 4, flags);
3952 if (flags&( 0x20000000 )){
3953 proto_item_append_text(item, "SE_GROUP_RESOURCE");
3954 if (flags & (~( 0x20000000 )))
3955 proto_item_append_text(item, ", ");
3957 flags&=(~( 0x20000000 ));
3959 proto_tree_add_boolean(tree, hf_samr_samr_GroupAttrs_SE_GROUP_LOGON_ID, tvb, offset-4, 4, flags);
3960 if (flags&( 0xC0000000 )){
3961 proto_item_append_text(item, "SE_GROUP_LOGON_ID");
3962 if (flags & (~( 0xC0000000 )))
3963 proto_item_append_text(item, ", ");
3965 flags&=(~( 0xC0000000 ));
3967 if (flags) {
3968 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
3971 return offset;
3975 /* IDL: struct { */
3976 /* IDL: lsa_String name; */
3977 /* IDL: samr_GroupAttrs attributes; */
3978 /* IDL: uint32 num_members; */
3979 /* IDL: lsa_String description; */
3980 /* IDL: } */
3982 static int
3983 samr_dissect_element_GroupInfoAll_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3985 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GroupInfoAll_name);
3987 return offset;
3990 static int
3991 samr_dissect_element_GroupInfoAll_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
3993 offset = samr_dissect_bitmap_GroupAttrs(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GroupInfoAll_attributes, 0);
3995 return offset;
3998 static int
3999 samr_dissect_element_GroupInfoAll_num_members(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4001 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GroupInfoAll_num_members, 0);
4003 return offset;
4006 static int
4007 samr_dissect_element_GroupInfoAll_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4009 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GroupInfoAll_description);
4011 return offset;
4015 samr_dissect_struct_GroupInfoAll(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4017 proto_item *item = NULL;
4018 proto_tree *tree = NULL;
4020 int old_offset;
4022 ALIGN_TO_5_BYTES;
4024 old_offset = offset;
4026 if (parent_tree) {
4027 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4028 tree = proto_item_add_subtree(item, ett_samr_samr_GroupInfoAll);
4031 offset = samr_dissect_element_GroupInfoAll_name(tvb, offset, pinfo, tree, di, drep);
4033 offset = samr_dissect_element_GroupInfoAll_attributes(tvb, offset, pinfo, tree, di, drep);
4035 offset = samr_dissect_element_GroupInfoAll_num_members(tvb, offset, pinfo, tree, di, drep);
4037 offset = samr_dissect_element_GroupInfoAll_description(tvb, offset, pinfo, tree, di, drep);
4040 proto_item_set_len(item, offset-old_offset);
4043 if (di->call_data->flags & DCERPC_IS_NDR64) {
4044 ALIGN_TO_5_BYTES;
4047 return offset;
4051 /* IDL: struct { */
4052 /* IDL: samr_GroupAttrs attributes; */
4053 /* IDL: } */
4055 static int
4056 samr_dissect_element_GroupInfoAttributes_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4058 offset = samr_dissect_bitmap_GroupAttrs(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GroupInfoAttributes_attributes, 0);
4060 return offset;
4064 samr_dissect_struct_GroupInfoAttributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4066 proto_item *item = NULL;
4067 proto_tree *tree = NULL;
4069 int old_offset;
4071 ALIGN_TO_4_BYTES;
4073 old_offset = offset;
4075 if (parent_tree) {
4076 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4077 tree = proto_item_add_subtree(item, ett_samr_samr_GroupInfoAttributes);
4080 offset = samr_dissect_element_GroupInfoAttributes_attributes(tvb, offset, pinfo, tree, di, drep);
4083 proto_item_set_len(item, offset-old_offset);
4086 if (di->call_data->flags & DCERPC_IS_NDR64) {
4087 ALIGN_TO_4_BYTES;
4090 return offset;
4094 /* IDL: struct { */
4095 /* IDL: lsa_String description; */
4096 /* IDL: } */
4098 static int
4099 samr_dissect_element_GroupInfoDescription_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4101 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GroupInfoDescription_description);
4103 return offset;
4107 samr_dissect_struct_GroupInfoDescription(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4109 proto_item *item = NULL;
4110 proto_tree *tree = NULL;
4112 int old_offset;
4114 ALIGN_TO_5_BYTES;
4116 old_offset = offset;
4118 if (parent_tree) {
4119 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4120 tree = proto_item_add_subtree(item, ett_samr_samr_GroupInfoDescription);
4123 offset = samr_dissect_element_GroupInfoDescription_description(tvb, offset, pinfo, tree, di, drep);
4126 proto_item_set_len(item, offset-old_offset);
4129 if (di->call_data->flags & DCERPC_IS_NDR64) {
4130 ALIGN_TO_5_BYTES;
4133 return offset;
4137 /* IDL: enum { */
4138 /* IDL: GROUPINFOALL=1, */
4139 /* IDL: GROUPINFONAME=2, */
4140 /* IDL: GROUPINFOATTRIBUTES=3, */
4141 /* IDL: GROUPINFODESCRIPTION=4, */
4142 /* IDL: GROUPINFOALL2=5, */
4143 /* IDL: } */
4146 samr_dissect_enum_GroupInfoEnum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
4148 guint1632 parameter=0;
4149 if(param){
4150 parameter=(guint1632)*param;
4152 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
4153 if(param){
4154 *param=(guint32)parameter;
4156 return offset;
4160 /* IDL: [switch_type(samr_GroupInfoEnum)] union { */
4161 /* IDL: [case(GROUPINFOALL)] [case(GROUPINFOALL)] samr_GroupInfoAll all; */
4162 /* IDL: [case(GROUPINFONAME)] [case(GROUPINFONAME)] lsa_String name; */
4163 /* IDL: [case(GROUPINFOATTRIBUTES)] [case(GROUPINFOATTRIBUTES)] samr_GroupInfoAttributes attributes; */
4164 /* IDL: [case(GROUPINFODESCRIPTION)] [case(GROUPINFODESCRIPTION)] lsa_String description; */
4165 /* IDL: [case(GROUPINFOALL2)] [case(GROUPINFOALL2)] samr_GroupInfoAll all2; */
4166 /* IDL: } */
4168 static int
4169 samr_dissect_element_GroupInfo_all(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4171 offset = samr_dissect_struct_GroupInfoAll(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GroupInfo_all,0);
4173 return offset;
4176 static int
4177 samr_dissect_element_GroupInfo_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4179 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GroupInfo_name);
4181 return offset;
4184 static int
4185 samr_dissect_element_GroupInfo_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4187 offset = samr_dissect_struct_GroupInfoAttributes(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GroupInfo_attributes,0);
4189 return offset;
4192 static int
4193 samr_dissect_element_GroupInfo_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4195 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GroupInfo_description);
4197 return offset;
4200 static int
4201 samr_dissect_element_GroupInfo_all2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4203 offset = samr_dissect_struct_GroupInfoAll(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GroupInfo_all2,0);
4205 return offset;
4208 static int
4209 samr_dissect_GroupInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4211 proto_item *item = NULL;
4212 proto_tree *tree = NULL;
4213 int old_offset;
4214 guint1632 level;
4216 old_offset = offset;
4217 if (parent_tree) {
4218 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "samr_GroupInfo");
4219 tree = proto_item_add_subtree(item, ett_samr_samr_GroupInfo);
4222 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
4223 ALIGN_TO_5_BYTES;
4225 switch(level) {
4226 case GROUPINFOALL:
4227 offset = samr_dissect_element_GroupInfo_all(tvb, offset, pinfo, tree, di, drep);
4228 break;
4230 case GROUPINFONAME:
4231 offset = samr_dissect_element_GroupInfo_name(tvb, offset, pinfo, tree, di, drep);
4232 break;
4234 case GROUPINFOATTRIBUTES:
4235 offset = samr_dissect_element_GroupInfo_attributes(tvb, offset, pinfo, tree, di, drep);
4236 break;
4238 case GROUPINFODESCRIPTION:
4239 offset = samr_dissect_element_GroupInfo_description(tvb, offset, pinfo, tree, di, drep);
4240 break;
4242 case GROUPINFOALL2:
4243 offset = samr_dissect_element_GroupInfo_all2(tvb, offset, pinfo, tree, di, drep);
4244 break;
4246 proto_item_set_len(item, offset-old_offset);
4249 return offset;
4252 /* IDL: struct { */
4253 /* IDL: uint32 count; */
4254 /* IDL: [unique(1)] [size_is(count)] uint32 *rids; */
4255 /* IDL: [unique(1)] [size_is(count)] uint32 *types; */
4256 /* IDL: } */
4258 static int
4259 samr_dissect_element_RidTypeArray_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4261 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_RidTypeArray_count, 0);
4263 return offset;
4266 static int
4267 samr_dissect_element_RidTypeArray_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4269 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidTypeArray_rids_, NDR_POINTER_UNIQUE, "Pointer to Rids (uint32)",hf_samr_rid);
4271 return offset;
4274 static int
4275 samr_dissect_element_RidTypeArray_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4277 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidTypeArray_rids__);
4279 return offset;
4282 static int
4283 samr_dissect_element_RidTypeArray_rids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4285 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
4287 return offset;
4290 static int
4291 samr_dissect_element_RidTypeArray_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4293 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidTypeArray_types_, NDR_POINTER_UNIQUE, "Pointer to Types (uint32)",hf_samr_samr_RidTypeArray_types);
4295 return offset;
4298 static int
4299 samr_dissect_element_RidTypeArray_types_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4301 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidTypeArray_types__);
4303 return offset;
4306 static int
4307 samr_dissect_element_RidTypeArray_types__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4309 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_RidTypeArray_types, 0);
4311 return offset;
4315 samr_dissect_struct_RidTypeArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4317 proto_item *item = NULL;
4318 proto_tree *tree = NULL;
4320 int old_offset;
4322 ALIGN_TO_5_BYTES;
4324 old_offset = offset;
4326 if (parent_tree) {
4327 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4328 tree = proto_item_add_subtree(item, ett_samr_samr_RidTypeArray);
4331 offset = samr_dissect_element_RidTypeArray_count(tvb, offset, pinfo, tree, di, drep);
4333 offset = samr_dissect_element_RidTypeArray_rids(tvb, offset, pinfo, tree, di, drep);
4335 offset = samr_dissect_element_RidTypeArray_types(tvb, offset, pinfo, tree, di, drep);
4338 proto_item_set_len(item, offset-old_offset);
4341 if (di->call_data->flags & DCERPC_IS_NDR64) {
4342 ALIGN_TO_5_BYTES;
4345 return offset;
4349 /* IDL: struct { */
4350 /* IDL: lsa_String name; */
4351 /* IDL: uint32 num_members; */
4352 /* IDL: lsa_String description; */
4353 /* IDL: } */
4355 static int
4356 samr_dissect_element_AliasInfoAll_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4358 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_AliasInfoAll_name);
4360 return offset;
4363 static int
4364 samr_dissect_element_AliasInfoAll_num_members(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4366 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_AliasInfoAll_num_members, 0);
4368 return offset;
4371 static int
4372 samr_dissect_element_AliasInfoAll_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4374 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_AliasInfoAll_description);
4376 return offset;
4380 samr_dissect_struct_AliasInfoAll(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4382 proto_item *item = NULL;
4383 proto_tree *tree = NULL;
4385 int old_offset;
4387 ALIGN_TO_5_BYTES;
4389 old_offset = offset;
4391 if (parent_tree) {
4392 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4393 tree = proto_item_add_subtree(item, ett_samr_samr_AliasInfoAll);
4396 offset = samr_dissect_element_AliasInfoAll_name(tvb, offset, pinfo, tree, di, drep);
4398 offset = samr_dissect_element_AliasInfoAll_num_members(tvb, offset, pinfo, tree, di, drep);
4400 offset = samr_dissect_element_AliasInfoAll_description(tvb, offset, pinfo, tree, di, drep);
4403 proto_item_set_len(item, offset-old_offset);
4406 if (di->call_data->flags & DCERPC_IS_NDR64) {
4407 ALIGN_TO_5_BYTES;
4410 return offset;
4414 /* IDL: enum { */
4415 /* IDL: ALIASINFOALL=1, */
4416 /* IDL: ALIASINFONAME=2, */
4417 /* IDL: ALIASINFODESCRIPTION=3, */
4418 /* IDL: } */
4421 samr_dissect_enum_AliasInfoEnum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
4423 guint1632 parameter=0;
4424 if(param){
4425 parameter=(guint1632)*param;
4427 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
4428 if(param){
4429 *param=(guint32)parameter;
4431 return offset;
4435 /* IDL: [switch_type(samr_AliasInfoEnum)] union { */
4436 /* IDL: [case(ALIASINFOALL)] [case(ALIASINFOALL)] samr_AliasInfoAll all; */
4437 /* IDL: [case(ALIASINFONAME)] [case(ALIASINFONAME)] lsa_String name; */
4438 /* IDL: [case(ALIASINFODESCRIPTION)] [case(ALIASINFODESCRIPTION)] lsa_String description; */
4439 /* IDL: } */
4441 static int
4442 samr_dissect_element_AliasInfo_all(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4444 offset = samr_dissect_struct_AliasInfoAll(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_AliasInfo_all,0);
4446 return offset;
4449 static int
4450 samr_dissect_element_AliasInfo_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4452 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_AliasInfo_name);
4454 return offset;
4457 static int
4458 samr_dissect_element_AliasInfo_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4460 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_AliasInfo_description);
4462 return offset;
4465 static int
4466 samr_dissect_AliasInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4468 proto_item *item = NULL;
4469 proto_tree *tree = NULL;
4470 int old_offset;
4471 guint1632 level;
4473 old_offset = offset;
4474 if (parent_tree) {
4475 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "samr_AliasInfo");
4476 tree = proto_item_add_subtree(item, ett_samr_samr_AliasInfo);
4479 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
4480 ALIGN_TO_5_BYTES;
4482 switch(level) {
4483 case ALIASINFOALL:
4484 offset = samr_dissect_element_AliasInfo_all(tvb, offset, pinfo, tree, di, drep);
4485 break;
4487 case ALIASINFONAME:
4488 offset = samr_dissect_element_AliasInfo_name(tvb, offset, pinfo, tree, di, drep);
4489 break;
4491 case ALIASINFODESCRIPTION:
4492 offset = samr_dissect_element_AliasInfo_description(tvb, offset, pinfo, tree, di, drep);
4493 break;
4495 proto_item_set_len(item, offset-old_offset);
4498 return offset;
4501 /* IDL: enum { */
4502 /* IDL: UserGeneralInformation=1, */
4503 /* IDL: UserPreferencesInformation=2, */
4504 /* IDL: UserLogonInformation=3, */
4505 /* IDL: UserLogonHoursInformation=4, */
4506 /* IDL: UserAccountInformation=5, */
4507 /* IDL: UserNameInformation=6, */
4508 /* IDL: UserAccountNameInformation=7, */
4509 /* IDL: UserFullNameInformation=8, */
4510 /* IDL: UserPrimaryGroupInformation=9, */
4511 /* IDL: UserHomeInformation=10, */
4512 /* IDL: UserScriptInformation=11, */
4513 /* IDL: UserProfileInformation=12, */
4514 /* IDL: UserAdminCommentInformation=13, */
4515 /* IDL: UserWorkStationsInformation=14, */
4516 /* IDL: UserControlInformation=16, */
4517 /* IDL: UserExpiresInformation=17, */
4518 /* IDL: UserInternal1Information=18, */
4519 /* IDL: UserParametersInformation=20, */
4520 /* IDL: UserAllInformation=21, */
4521 /* IDL: UserInternal4Information=23, */
4522 /* IDL: UserInternal5Information=24, */
4523 /* IDL: UserInternal4InformationNew=25, */
4524 /* IDL: UserInternal5InformationNew=26, */
4525 /* IDL: } */
4528 samr_dissect_enum_UserInfoLevel(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
4530 guint1632 parameter=0;
4531 if(param){
4532 parameter=(guint1632)*param;
4534 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
4535 if(param){
4536 *param=(guint32)parameter;
4538 return offset;
4542 /* IDL: struct { */
4543 /* IDL: lsa_String account_name; */
4544 /* IDL: lsa_String full_name; */
4545 /* IDL: uint32 primary_gid; */
4546 /* IDL: lsa_String description; */
4547 /* IDL: lsa_String comment; */
4548 /* IDL: } */
4550 static int
4551 samr_dissect_element_UserInfo1_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4553 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo1_account_name);
4555 return offset;
4558 static int
4559 samr_dissect_element_UserInfo1_full_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4561 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo1_full_name);
4563 return offset;
4566 static int
4567 samr_dissect_element_UserInfo1_primary_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4569 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo1_primary_gid, 0);
4571 return offset;
4574 static int
4575 samr_dissect_element_UserInfo1_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4577 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo1_description);
4579 return offset;
4582 static int
4583 samr_dissect_element_UserInfo1_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4585 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo1_comment);
4587 return offset;
4591 samr_dissect_struct_UserInfo1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4593 proto_item *item = NULL;
4594 proto_tree *tree = NULL;
4596 int old_offset;
4598 ALIGN_TO_5_BYTES;
4600 old_offset = offset;
4602 if (parent_tree) {
4603 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4604 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo1);
4607 offset = samr_dissect_element_UserInfo1_account_name(tvb, offset, pinfo, tree, di, drep);
4609 offset = samr_dissect_element_UserInfo1_full_name(tvb, offset, pinfo, tree, di, drep);
4611 offset = samr_dissect_element_UserInfo1_primary_gid(tvb, offset, pinfo, tree, di, drep);
4613 offset = samr_dissect_element_UserInfo1_description(tvb, offset, pinfo, tree, di, drep);
4615 offset = samr_dissect_element_UserInfo1_comment(tvb, offset, pinfo, tree, di, drep);
4618 proto_item_set_len(item, offset-old_offset);
4621 if (di->call_data->flags & DCERPC_IS_NDR64) {
4622 ALIGN_TO_5_BYTES;
4625 return offset;
4629 /* IDL: struct { */
4630 /* IDL: lsa_String comment; */
4631 /* IDL: lsa_String unknown; */
4632 /* IDL: uint16 country_code; */
4633 /* IDL: uint16 code_page; */
4634 /* IDL: } */
4636 static int
4637 samr_dissect_element_UserInfo2_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4639 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo2_comment);
4641 return offset;
4644 static int
4645 samr_dissect_element_UserInfo2_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4647 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo2_unknown);
4649 return offset;
4652 static int
4653 samr_dissect_element_UserInfo2_country_code(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4655 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo2_country_code, 0);
4657 return offset;
4660 static int
4661 samr_dissect_element_UserInfo2_code_page(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4663 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo2_code_page, 0);
4665 return offset;
4669 samr_dissect_struct_UserInfo2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4671 proto_item *item = NULL;
4672 proto_tree *tree = NULL;
4674 int old_offset;
4676 ALIGN_TO_5_BYTES;
4678 old_offset = offset;
4680 if (parent_tree) {
4681 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4682 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo2);
4685 offset = samr_dissect_element_UserInfo2_comment(tvb, offset, pinfo, tree, di, drep);
4687 offset = samr_dissect_element_UserInfo2_unknown(tvb, offset, pinfo, tree, di, drep);
4689 offset = samr_dissect_element_UserInfo2_country_code(tvb, offset, pinfo, tree, di, drep);
4691 offset = samr_dissect_element_UserInfo2_code_page(tvb, offset, pinfo, tree, di, drep);
4694 proto_item_set_len(item, offset-old_offset);
4697 if (di->call_data->flags & DCERPC_IS_NDR64) {
4698 ALIGN_TO_5_BYTES;
4701 return offset;
4705 /* IDL: struct { */
4706 /* IDL: uint16 units_per_week; */
4707 /* IDL: [unique(1)] [length_is(units_per_week/8)] [size_is(1260)] uint8 *bits; */
4708 /* IDL: } */
4710 static int
4711 samr_dissect_element_LogonHours_units_per_week(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4713 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_LogonHours_units_per_week, 0);
4715 return offset;
4718 static int
4719 samr_dissect_element_LogonHours_bits(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4721 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LogonHours_bits_, NDR_POINTER_UNIQUE, "Pointer to Bits (uint8)",hf_samr_samr_LogonHours_bits);
4723 return offset;
4726 static int
4727 samr_dissect_element_LogonHours_bits_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4729 offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LogonHours_bits__);
4731 return offset;
4734 static int
4735 samr_dissect_element_LogonHours_bits__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4737 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_LogonHours_bits, 0);
4739 return offset;
4743 samr_dissect_struct_LogonHours(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4745 proto_item *item = NULL;
4746 proto_tree *tree = NULL;
4748 int old_offset;
4750 ALIGN_TO_5_BYTES;
4752 old_offset = offset;
4754 if (parent_tree) {
4755 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4756 tree = proto_item_add_subtree(item, ett_samr_samr_LogonHours);
4759 offset = samr_dissect_element_LogonHours_units_per_week(tvb, offset, pinfo, tree, di, drep);
4761 offset = samr_dissect_element_LogonHours_bits(tvb, offset, pinfo, tree, di, drep);
4764 proto_item_set_len(item, offset-old_offset);
4767 if (di->call_data->flags & DCERPC_IS_NDR64) {
4768 ALIGN_TO_5_BYTES;
4771 return offset;
4775 /* IDL: struct { */
4776 /* IDL: lsa_String account_name; */
4777 /* IDL: lsa_String full_name; */
4778 /* IDL: uint32 rid; */
4779 /* IDL: uint32 primary_gid; */
4780 /* IDL: lsa_String home_directory; */
4781 /* IDL: lsa_String home_drive; */
4782 /* IDL: lsa_String logon_script; */
4783 /* IDL: lsa_String profile_path; */
4784 /* IDL: lsa_String workstations; */
4785 /* IDL: NTTIME last_logon; */
4786 /* IDL: NTTIME last_logoff; */
4787 /* IDL: NTTIME last_password_change; */
4788 /* IDL: NTTIME allow_password_change; */
4789 /* IDL: NTTIME force_password_change; */
4790 /* IDL: samr_LogonHours logon_hours; */
4791 /* IDL: uint16 bad_password_count; */
4792 /* IDL: uint16 logon_count; */
4793 /* IDL: samr_AcctFlags acct_flags; */
4794 /* IDL: } */
4796 static int
4797 samr_dissect_element_UserInfo3_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4799 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_account_name);
4801 return offset;
4804 static int
4805 samr_dissect_element_UserInfo3_full_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4807 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_full_name);
4809 return offset;
4812 static int
4813 samr_dissect_element_UserInfo3_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4815 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
4817 return offset;
4820 static int
4821 samr_dissect_element_UserInfo3_primary_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4823 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_primary_gid, 0);
4825 return offset;
4828 static int
4829 samr_dissect_element_UserInfo3_home_directory(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4831 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_home_directory);
4833 return offset;
4836 static int
4837 samr_dissect_element_UserInfo3_home_drive(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4839 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_home_drive);
4841 return offset;
4844 static int
4845 samr_dissect_element_UserInfo3_logon_script(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4847 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_logon_script);
4849 return offset;
4852 static int
4853 samr_dissect_element_UserInfo3_profile_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4855 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_profile_path);
4857 return offset;
4860 static int
4861 samr_dissect_element_UserInfo3_workstations(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4863 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_workstations);
4865 return offset;
4868 static int
4869 samr_dissect_element_UserInfo3_last_logon(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4871 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_last_logon);
4873 return offset;
4876 static int
4877 samr_dissect_element_UserInfo3_last_logoff(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4879 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_last_logoff);
4881 return offset;
4884 static int
4885 samr_dissect_element_UserInfo3_last_password_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4887 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_last_password_change);
4889 return offset;
4892 static int
4893 samr_dissect_element_UserInfo3_allow_password_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4895 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_allow_password_change);
4897 return offset;
4900 static int
4901 samr_dissect_element_UserInfo3_force_password_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4903 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_force_password_change);
4905 return offset;
4908 static int
4909 samr_dissect_element_UserInfo3_logon_hours(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4911 offset = samr_dissect_struct_LogonHours(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo3_logon_hours,0);
4913 return offset;
4916 static int
4917 samr_dissect_element_UserInfo3_bad_password_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4919 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_bad_password_count, 0);
4921 return offset;
4924 static int
4925 samr_dissect_element_UserInfo3_logon_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4927 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_logon_count, 0);
4929 return offset;
4932 static int
4933 samr_dissect_element_UserInfo3_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
4935 offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_acct_flags, 0);
4937 return offset;
4941 samr_dissect_struct_UserInfo3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
4943 proto_item *item = NULL;
4944 proto_tree *tree = NULL;
4946 int old_offset;
4948 ALIGN_TO_5_BYTES;
4950 old_offset = offset;
4952 if (parent_tree) {
4953 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4954 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo3);
4957 offset = samr_dissect_element_UserInfo3_account_name(tvb, offset, pinfo, tree, di, drep);
4959 offset = samr_dissect_element_UserInfo3_full_name(tvb, offset, pinfo, tree, di, drep);
4961 offset = samr_dissect_element_UserInfo3_rid(tvb, offset, pinfo, tree, di, drep);
4963 offset = samr_dissect_element_UserInfo3_primary_gid(tvb, offset, pinfo, tree, di, drep);
4965 offset = samr_dissect_element_UserInfo3_home_directory(tvb, offset, pinfo, tree, di, drep);
4967 offset = samr_dissect_element_UserInfo3_home_drive(tvb, offset, pinfo, tree, di, drep);
4969 offset = samr_dissect_element_UserInfo3_logon_script(tvb, offset, pinfo, tree, di, drep);
4971 offset = samr_dissect_element_UserInfo3_profile_path(tvb, offset, pinfo, tree, di, drep);
4973 offset = samr_dissect_element_UserInfo3_workstations(tvb, offset, pinfo, tree, di, drep);
4975 offset = samr_dissect_element_UserInfo3_last_logon(tvb, offset, pinfo, tree, di, drep);
4977 offset = samr_dissect_element_UserInfo3_last_logoff(tvb, offset, pinfo, tree, di, drep);
4979 offset = samr_dissect_element_UserInfo3_last_password_change(tvb, offset, pinfo, tree, di, drep);
4981 offset = samr_dissect_element_UserInfo3_allow_password_change(tvb, offset, pinfo, tree, di, drep);
4983 offset = samr_dissect_element_UserInfo3_force_password_change(tvb, offset, pinfo, tree, di, drep);
4985 offset = samr_dissect_element_UserInfo3_logon_hours(tvb, offset, pinfo, tree, di, drep);
4987 offset = samr_dissect_element_UserInfo3_bad_password_count(tvb, offset, pinfo, tree, di, drep);
4989 offset = samr_dissect_element_UserInfo3_logon_count(tvb, offset, pinfo, tree, di, drep);
4991 offset = samr_dissect_element_UserInfo3_acct_flags(tvb, offset, pinfo, tree, di, drep);
4994 proto_item_set_len(item, offset-old_offset);
4997 if (di->call_data->flags & DCERPC_IS_NDR64) {
4998 ALIGN_TO_5_BYTES;
5001 return offset;
5005 /* IDL: struct { */
5006 /* IDL: samr_LogonHours logon_hours; */
5007 /* IDL: } */
5009 static int
5010 samr_dissect_element_UserInfo4_logon_hours(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5012 offset = samr_dissect_struct_LogonHours(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo4_logon_hours,0);
5014 return offset;
5018 samr_dissect_struct_UserInfo4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5020 proto_item *item = NULL;
5021 proto_tree *tree = NULL;
5023 int old_offset;
5025 ALIGN_TO_5_BYTES;
5027 old_offset = offset;
5029 if (parent_tree) {
5030 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5031 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo4);
5034 offset = samr_dissect_element_UserInfo4_logon_hours(tvb, offset, pinfo, tree, di, drep);
5037 proto_item_set_len(item, offset-old_offset);
5040 if (di->call_data->flags & DCERPC_IS_NDR64) {
5041 ALIGN_TO_5_BYTES;
5044 return offset;
5048 /* IDL: struct { */
5049 /* IDL: lsa_String account_name; */
5050 /* IDL: lsa_String full_name; */
5051 /* IDL: uint32 rid; */
5052 /* IDL: uint32 primary_gid; */
5053 /* IDL: lsa_String home_directory; */
5054 /* IDL: lsa_String home_drive; */
5055 /* IDL: lsa_String logon_script; */
5056 /* IDL: lsa_String profile_path; */
5057 /* IDL: lsa_String description; */
5058 /* IDL: lsa_String workstations; */
5059 /* IDL: NTTIME last_logon; */
5060 /* IDL: NTTIME last_logoff; */
5061 /* IDL: samr_LogonHours logon_hours; */
5062 /* IDL: uint16 bad_password_count; */
5063 /* IDL: uint16 logon_count; */
5064 /* IDL: NTTIME last_password_change; */
5065 /* IDL: NTTIME acct_expiry; */
5066 /* IDL: samr_AcctFlags acct_flags; */
5067 /* IDL: } */
5069 static int
5070 samr_dissect_element_UserInfo5_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5072 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_account_name);
5074 return offset;
5077 static int
5078 samr_dissect_element_UserInfo5_full_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5080 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_full_name);
5082 return offset;
5085 static int
5086 samr_dissect_element_UserInfo5_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5088 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
5090 return offset;
5093 static int
5094 samr_dissect_element_UserInfo5_primary_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5096 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_primary_gid, 0);
5098 return offset;
5101 static int
5102 samr_dissect_element_UserInfo5_home_directory(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5104 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_home_directory);
5106 return offset;
5109 static int
5110 samr_dissect_element_UserInfo5_home_drive(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5112 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_home_drive);
5114 return offset;
5117 static int
5118 samr_dissect_element_UserInfo5_logon_script(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5120 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_logon_script);
5122 return offset;
5125 static int
5126 samr_dissect_element_UserInfo5_profile_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5128 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_profile_path);
5130 return offset;
5133 static int
5134 samr_dissect_element_UserInfo5_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5136 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_description);
5138 return offset;
5141 static int
5142 samr_dissect_element_UserInfo5_workstations(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5144 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_workstations);
5146 return offset;
5149 static int
5150 samr_dissect_element_UserInfo5_last_logon(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5152 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_last_logon);
5154 return offset;
5157 static int
5158 samr_dissect_element_UserInfo5_last_logoff(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5160 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_last_logoff);
5162 return offset;
5165 static int
5166 samr_dissect_element_UserInfo5_logon_hours(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5168 offset = samr_dissect_struct_LogonHours(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo5_logon_hours,0);
5170 return offset;
5173 static int
5174 samr_dissect_element_UserInfo5_bad_password_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5176 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_bad_password_count, 0);
5178 return offset;
5181 static int
5182 samr_dissect_element_UserInfo5_logon_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5184 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_logon_count, 0);
5186 return offset;
5189 static int
5190 samr_dissect_element_UserInfo5_last_password_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5192 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_last_password_change);
5194 return offset;
5197 static int
5198 samr_dissect_element_UserInfo5_acct_expiry(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5200 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_acct_expiry);
5202 return offset;
5205 static int
5206 samr_dissect_element_UserInfo5_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5208 offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_acct_flags, 0);
5210 return offset;
5214 samr_dissect_struct_UserInfo5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5216 proto_item *item = NULL;
5217 proto_tree *tree = NULL;
5219 int old_offset;
5221 ALIGN_TO_5_BYTES;
5223 old_offset = offset;
5225 if (parent_tree) {
5226 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5227 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo5);
5230 offset = samr_dissect_element_UserInfo5_account_name(tvb, offset, pinfo, tree, di, drep);
5232 offset = samr_dissect_element_UserInfo5_full_name(tvb, offset, pinfo, tree, di, drep);
5234 offset = samr_dissect_element_UserInfo5_rid(tvb, offset, pinfo, tree, di, drep);
5236 offset = samr_dissect_element_UserInfo5_primary_gid(tvb, offset, pinfo, tree, di, drep);
5238 offset = samr_dissect_element_UserInfo5_home_directory(tvb, offset, pinfo, tree, di, drep);
5240 offset = samr_dissect_element_UserInfo5_home_drive(tvb, offset, pinfo, tree, di, drep);
5242 offset = samr_dissect_element_UserInfo5_logon_script(tvb, offset, pinfo, tree, di, drep);
5244 offset = samr_dissect_element_UserInfo5_profile_path(tvb, offset, pinfo, tree, di, drep);
5246 offset = samr_dissect_element_UserInfo5_description(tvb, offset, pinfo, tree, di, drep);
5248 offset = samr_dissect_element_UserInfo5_workstations(tvb, offset, pinfo, tree, di, drep);
5250 offset = samr_dissect_element_UserInfo5_last_logon(tvb, offset, pinfo, tree, di, drep);
5252 offset = samr_dissect_element_UserInfo5_last_logoff(tvb, offset, pinfo, tree, di, drep);
5254 offset = samr_dissect_element_UserInfo5_logon_hours(tvb, offset, pinfo, tree, di, drep);
5256 offset = samr_dissect_element_UserInfo5_bad_password_count(tvb, offset, pinfo, tree, di, drep);
5258 offset = samr_dissect_element_UserInfo5_logon_count(tvb, offset, pinfo, tree, di, drep);
5260 offset = samr_dissect_element_UserInfo5_last_password_change(tvb, offset, pinfo, tree, di, drep);
5262 offset = samr_dissect_element_UserInfo5_acct_expiry(tvb, offset, pinfo, tree, di, drep);
5264 offset = samr_dissect_element_UserInfo5_acct_flags(tvb, offset, pinfo, tree, di, drep);
5267 proto_item_set_len(item, offset-old_offset);
5270 if (di->call_data->flags & DCERPC_IS_NDR64) {
5271 ALIGN_TO_5_BYTES;
5274 return offset;
5278 /* IDL: struct { */
5279 /* IDL: lsa_String account_name; */
5280 /* IDL: lsa_String full_name; */
5281 /* IDL: } */
5283 static int
5284 samr_dissect_element_UserInfo6_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5286 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo6_account_name);
5288 return offset;
5291 static int
5292 samr_dissect_element_UserInfo6_full_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5294 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo6_full_name);
5296 return offset;
5300 samr_dissect_struct_UserInfo6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5302 proto_item *item = NULL;
5303 proto_tree *tree = NULL;
5305 int old_offset;
5307 ALIGN_TO_5_BYTES;
5309 old_offset = offset;
5311 if (parent_tree) {
5312 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5313 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo6);
5316 offset = samr_dissect_element_UserInfo6_account_name(tvb, offset, pinfo, tree, di, drep);
5318 offset = samr_dissect_element_UserInfo6_full_name(tvb, offset, pinfo, tree, di, drep);
5321 proto_item_set_len(item, offset-old_offset);
5324 if (di->call_data->flags & DCERPC_IS_NDR64) {
5325 ALIGN_TO_5_BYTES;
5328 return offset;
5332 /* IDL: struct { */
5333 /* IDL: lsa_String account_name; */
5334 /* IDL: } */
5336 static int
5337 samr_dissect_element_UserInfo7_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5339 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo7_account_name);
5341 return offset;
5345 samr_dissect_struct_UserInfo7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5347 proto_item *item = NULL;
5348 proto_tree *tree = NULL;
5350 int old_offset;
5352 ALIGN_TO_5_BYTES;
5354 old_offset = offset;
5356 if (parent_tree) {
5357 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5358 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo7);
5361 offset = samr_dissect_element_UserInfo7_account_name(tvb, offset, pinfo, tree, di, drep);
5364 proto_item_set_len(item, offset-old_offset);
5367 if (di->call_data->flags & DCERPC_IS_NDR64) {
5368 ALIGN_TO_5_BYTES;
5371 return offset;
5375 /* IDL: struct { */
5376 /* IDL: lsa_String full_name; */
5377 /* IDL: } */
5379 static int
5380 samr_dissect_element_UserInfo8_full_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5382 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo8_full_name);
5384 return offset;
5388 samr_dissect_struct_UserInfo8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5390 proto_item *item = NULL;
5391 proto_tree *tree = NULL;
5393 int old_offset;
5395 ALIGN_TO_5_BYTES;
5397 old_offset = offset;
5399 if (parent_tree) {
5400 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5401 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo8);
5404 offset = samr_dissect_element_UserInfo8_full_name(tvb, offset, pinfo, tree, di, drep);
5407 proto_item_set_len(item, offset-old_offset);
5410 if (di->call_data->flags & DCERPC_IS_NDR64) {
5411 ALIGN_TO_5_BYTES;
5414 return offset;
5418 /* IDL: struct { */
5419 /* IDL: uint32 primary_gid; */
5420 /* IDL: } */
5422 static int
5423 samr_dissect_element_UserInfo9_primary_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5425 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo9_primary_gid, 0);
5427 return offset;
5431 samr_dissect_struct_UserInfo9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5433 proto_item *item = NULL;
5434 proto_tree *tree = NULL;
5436 int old_offset;
5438 ALIGN_TO_4_BYTES;
5440 old_offset = offset;
5442 if (parent_tree) {
5443 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5444 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo9);
5447 offset = samr_dissect_element_UserInfo9_primary_gid(tvb, offset, pinfo, tree, di, drep);
5450 proto_item_set_len(item, offset-old_offset);
5453 if (di->call_data->flags & DCERPC_IS_NDR64) {
5454 ALIGN_TO_4_BYTES;
5457 return offset;
5461 /* IDL: struct { */
5462 /* IDL: lsa_String home_directory; */
5463 /* IDL: lsa_String home_drive; */
5464 /* IDL: } */
5466 static int
5467 samr_dissect_element_UserInfo10_home_directory(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5469 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo10_home_directory);
5471 return offset;
5474 static int
5475 samr_dissect_element_UserInfo10_home_drive(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5477 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo10_home_drive);
5479 return offset;
5483 samr_dissect_struct_UserInfo10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5485 proto_item *item = NULL;
5486 proto_tree *tree = NULL;
5488 int old_offset;
5490 ALIGN_TO_5_BYTES;
5492 old_offset = offset;
5494 if (parent_tree) {
5495 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5496 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo10);
5499 offset = samr_dissect_element_UserInfo10_home_directory(tvb, offset, pinfo, tree, di, drep);
5501 offset = samr_dissect_element_UserInfo10_home_drive(tvb, offset, pinfo, tree, di, drep);
5504 proto_item_set_len(item, offset-old_offset);
5507 if (di->call_data->flags & DCERPC_IS_NDR64) {
5508 ALIGN_TO_5_BYTES;
5511 return offset;
5515 /* IDL: struct { */
5516 /* IDL: lsa_String logon_script; */
5517 /* IDL: } */
5519 static int
5520 samr_dissect_element_UserInfo11_logon_script(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5522 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo11_logon_script);
5524 return offset;
5528 samr_dissect_struct_UserInfo11(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5530 proto_item *item = NULL;
5531 proto_tree *tree = NULL;
5533 int old_offset;
5535 ALIGN_TO_5_BYTES;
5537 old_offset = offset;
5539 if (parent_tree) {
5540 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5541 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo11);
5544 offset = samr_dissect_element_UserInfo11_logon_script(tvb, offset, pinfo, tree, di, drep);
5547 proto_item_set_len(item, offset-old_offset);
5550 if (di->call_data->flags & DCERPC_IS_NDR64) {
5551 ALIGN_TO_5_BYTES;
5554 return offset;
5558 /* IDL: struct { */
5559 /* IDL: lsa_String profile_path; */
5560 /* IDL: } */
5562 static int
5563 samr_dissect_element_UserInfo12_profile_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5565 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo12_profile_path);
5567 return offset;
5571 samr_dissect_struct_UserInfo12(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5573 proto_item *item = NULL;
5574 proto_tree *tree = NULL;
5576 int old_offset;
5578 ALIGN_TO_5_BYTES;
5580 old_offset = offset;
5582 if (parent_tree) {
5583 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5584 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo12);
5587 offset = samr_dissect_element_UserInfo12_profile_path(tvb, offset, pinfo, tree, di, drep);
5590 proto_item_set_len(item, offset-old_offset);
5593 if (di->call_data->flags & DCERPC_IS_NDR64) {
5594 ALIGN_TO_5_BYTES;
5597 return offset;
5601 /* IDL: struct { */
5602 /* IDL: lsa_String description; */
5603 /* IDL: } */
5605 static int
5606 samr_dissect_element_UserInfo13_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5608 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo13_description);
5610 return offset;
5614 samr_dissect_struct_UserInfo13(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5616 proto_item *item = NULL;
5617 proto_tree *tree = NULL;
5619 int old_offset;
5621 ALIGN_TO_5_BYTES;
5623 old_offset = offset;
5625 if (parent_tree) {
5626 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5627 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo13);
5630 offset = samr_dissect_element_UserInfo13_description(tvb, offset, pinfo, tree, di, drep);
5633 proto_item_set_len(item, offset-old_offset);
5636 if (di->call_data->flags & DCERPC_IS_NDR64) {
5637 ALIGN_TO_5_BYTES;
5640 return offset;
5644 /* IDL: struct { */
5645 /* IDL: lsa_String workstations; */
5646 /* IDL: } */
5648 static int
5649 samr_dissect_element_UserInfo14_workstations(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5651 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo14_workstations);
5653 return offset;
5657 samr_dissect_struct_UserInfo14(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5659 proto_item *item = NULL;
5660 proto_tree *tree = NULL;
5662 int old_offset;
5664 ALIGN_TO_5_BYTES;
5666 old_offset = offset;
5668 if (parent_tree) {
5669 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5670 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo14);
5673 offset = samr_dissect_element_UserInfo14_workstations(tvb, offset, pinfo, tree, di, drep);
5676 proto_item_set_len(item, offset-old_offset);
5679 if (di->call_data->flags & DCERPC_IS_NDR64) {
5680 ALIGN_TO_5_BYTES;
5683 return offset;
5687 /* IDL: struct { */
5688 /* IDL: samr_AcctFlags acct_flags; */
5689 /* IDL: } */
5691 static int
5692 samr_dissect_element_UserInfo16_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5694 offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo16_acct_flags, 0);
5696 return offset;
5700 samr_dissect_struct_UserInfo16(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5702 proto_item *item = NULL;
5703 proto_tree *tree = NULL;
5705 int old_offset;
5707 ALIGN_TO_4_BYTES;
5709 old_offset = offset;
5711 if (parent_tree) {
5712 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5713 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo16);
5716 offset = samr_dissect_element_UserInfo16_acct_flags(tvb, offset, pinfo, tree, di, drep);
5719 proto_item_set_len(item, offset-old_offset);
5722 if (di->call_data->flags & DCERPC_IS_NDR64) {
5723 ALIGN_TO_4_BYTES;
5726 return offset;
5730 /* IDL: struct { */
5731 /* IDL: NTTIME acct_expiry; */
5732 /* IDL: } */
5734 static int
5735 samr_dissect_element_UserInfo17_acct_expiry(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5737 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo17_acct_expiry);
5739 return offset;
5743 samr_dissect_struct_UserInfo17(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5745 proto_item *item = NULL;
5746 proto_tree *tree = NULL;
5748 int old_offset;
5750 ALIGN_TO_4_BYTES;
5752 old_offset = offset;
5754 if (parent_tree) {
5755 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5756 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo17);
5759 offset = samr_dissect_element_UserInfo17_acct_expiry(tvb, offset, pinfo, tree, di, drep);
5762 proto_item_set_len(item, offset-old_offset);
5765 if (di->call_data->flags & DCERPC_IS_NDR64) {
5766 ALIGN_TO_4_BYTES;
5769 return offset;
5773 /* IDL: struct { */
5774 /* IDL: uint8 hash[16]; */
5775 /* IDL: } */
5777 static int
5778 samr_dissect_element_Password_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5780 int i;
5781 for (i = 0; i < 16; i++)
5782 offset = samr_dissect_element_Password_hash_(tvb, offset, pinfo, tree, di, drep);
5784 return offset;
5787 static int
5788 samr_dissect_element_Password_hash_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5790 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Password_hash, 0);
5792 return offset;
5796 samr_dissect_struct_Password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5798 proto_item *item = NULL;
5799 proto_tree *tree = NULL;
5800 int old_offset;
5803 old_offset = offset;
5805 if (parent_tree) {
5806 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5807 tree = proto_item_add_subtree(item, ett_samr_samr_Password);
5810 offset = samr_dissect_element_Password_hash(tvb, offset, pinfo, tree, di, drep);
5813 proto_item_set_len(item, offset-old_offset);
5816 return offset;
5820 /* IDL: struct { */
5821 /* IDL: samr_Password nt_pwd; */
5822 /* IDL: samr_Password lm_pwd; */
5823 /* IDL: uint8 nt_pwd_active; */
5824 /* IDL: uint8 lm_pwd_active; */
5825 /* IDL: uint8 password_expired; */
5826 /* IDL: } */
5828 static int
5829 samr_dissect_element_UserInfo18_nt_pwd(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5831 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo18_nt_pwd,0);
5833 return offset;
5836 static int
5837 samr_dissect_element_UserInfo18_lm_pwd(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5839 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo18_lm_pwd,0);
5841 return offset;
5844 static int
5845 samr_dissect_element_UserInfo18_nt_pwd_active(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5847 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo18_nt_pwd_active, 0);
5849 return offset;
5852 static int
5853 samr_dissect_element_UserInfo18_lm_pwd_active(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5855 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo18_lm_pwd_active, 0);
5857 return offset;
5860 static int
5861 samr_dissect_element_UserInfo18_password_expired(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5863 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo18_password_expired, 0);
5865 return offset;
5869 samr_dissect_struct_UserInfo18(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5871 proto_item *item = NULL;
5872 proto_tree *tree = NULL;
5873 int old_offset;
5876 old_offset = offset;
5878 if (parent_tree) {
5879 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5880 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo18);
5883 offset = samr_dissect_element_UserInfo18_nt_pwd(tvb, offset, pinfo, tree, di, drep);
5885 offset = samr_dissect_element_UserInfo18_lm_pwd(tvb, offset, pinfo, tree, di, drep);
5887 offset = samr_dissect_element_UserInfo18_nt_pwd_active(tvb, offset, pinfo, tree, di, drep);
5889 offset = samr_dissect_element_UserInfo18_lm_pwd_active(tvb, offset, pinfo, tree, di, drep);
5891 offset = samr_dissect_element_UserInfo18_password_expired(tvb, offset, pinfo, tree, di, drep);
5894 proto_item_set_len(item, offset-old_offset);
5897 return offset;
5901 /* IDL: struct { */
5902 /* IDL: lsa_String parameters; */
5903 /* IDL: } */
5905 static int
5906 samr_dissect_element_UserInfo20_parameters(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
5908 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo20_parameters);
5910 return offset;
5914 samr_dissect_struct_UserInfo20(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5916 proto_item *item = NULL;
5917 proto_tree *tree = NULL;
5919 int old_offset;
5921 ALIGN_TO_5_BYTES;
5923 old_offset = offset;
5925 if (parent_tree) {
5926 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5927 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo20);
5930 offset = samr_dissect_element_UserInfo20_parameters(tvb, offset, pinfo, tree, di, drep);
5933 proto_item_set_len(item, offset-old_offset);
5936 if (di->call_data->flags & DCERPC_IS_NDR64) {
5937 ALIGN_TO_5_BYTES;
5940 return offset;
5944 /* IDL: bitmap { */
5945 /* IDL: SAMR_FIELD_ACCOUNT_NAME = 0x00000001 , */
5946 /* IDL: SAMR_FIELD_FULL_NAME = 0x00000002 , */
5947 /* IDL: SAMR_FIELD_RID = 0x00000004 , */
5948 /* IDL: SAMR_FIELD_PRIMARY_GID = 0x00000008 , */
5949 /* IDL: SAMR_FIELD_DESCRIPTION = 0x00000010 , */
5950 /* IDL: SAMR_FIELD_COMMENT = 0x00000020 , */
5951 /* IDL: SAMR_FIELD_HOME_DIRECTORY = 0x00000040 , */
5952 /* IDL: SAMR_FIELD_HOME_DRIVE = 0x00000080 , */
5953 /* IDL: SAMR_FIELD_LOGON_SCRIPT = 0x00000100 , */
5954 /* IDL: SAMR_FIELD_PROFILE_PATH = 0x00000200 , */
5955 /* IDL: SAMR_FIELD_WORKSTATIONS = 0x00000400 , */
5956 /* IDL: SAMR_FIELD_LAST_LOGON = 0x00000800 , */
5957 /* IDL: SAMR_FIELD_LAST_LOGOFF = 0x00001000 , */
5958 /* IDL: SAMR_FIELD_LOGON_HOURS = 0x00002000 , */
5959 /* IDL: SAMR_FIELD_BAD_PWD_COUNT = 0x00004000 , */
5960 /* IDL: SAMR_FIELD_NUM_LOGONS = 0x00008000 , */
5961 /* IDL: SAMR_FIELD_ALLOW_PWD_CHANGE = 0x00010000 , */
5962 /* IDL: SAMR_FIELD_FORCE_PWD_CHANGE = 0x00020000 , */
5963 /* IDL: SAMR_FIELD_LAST_PWD_CHANGE = 0x00040000 , */
5964 /* IDL: SAMR_FIELD_ACCT_EXPIRY = 0x00080000 , */
5965 /* IDL: SAMR_FIELD_ACCT_FLAGS = 0x00100000 , */
5966 /* IDL: SAMR_FIELD_PARAMETERS = 0x00200000 , */
5967 /* IDL: SAMR_FIELD_COUNTRY_CODE = 0x00400000 , */
5968 /* IDL: SAMR_FIELD_CODE_PAGE = 0x00800000 , */
5969 /* IDL: SAMR_FIELD_NT_PASSWORD_PRESENT = 0x01000000 , */
5970 /* IDL: SAMR_FIELD_LM_PASSWORD_PRESENT = 0x02000000 , */
5971 /* IDL: SAMR_FIELD_PRIVATE_DATA = 0x04000000 , */
5972 /* IDL: SAMR_FIELD_EXPIRED_FLAG = 0x08000000 , */
5973 /* IDL: SAMR_FIELD_SEC_DESC = 0x10000000 , */
5974 /* IDL: SAMR_FIELD_OWF_PWD = 0x20000000 , */
5975 /* IDL: } */
5978 samr_dissect_bitmap_FieldsPresent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
5980 proto_item *item = NULL;
5981 proto_tree *tree = NULL;
5983 guint32 flags;
5984 ALIGN_TO_4_BYTES;
5986 if (parent_tree) {
5987 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, DREP_ENC_INTEGER(drep));
5988 tree = proto_item_add_subtree(item,ett_samr_samr_FieldsPresent);
5991 offset = dissect_ndr_uint32(tvb, offset, pinfo, NULL, di, drep, -1, &flags);
5992 proto_item_append_text(item, ": ");
5994 if (!flags)
5995 proto_item_append_text(item, "(No values set)");
5997 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCOUNT_NAME, tvb, offset-4, 4, flags);
5998 if (flags&( 0x00000001 )){
5999 proto_item_append_text(item, "SAMR_FIELD_ACCOUNT_NAME");
6000 if (flags & (~( 0x00000001 )))
6001 proto_item_append_text(item, ", ");
6003 flags&=(~( 0x00000001 ));
6005 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_FULL_NAME, tvb, offset-4, 4, flags);
6006 if (flags&( 0x00000002 )){
6007 proto_item_append_text(item, "SAMR_FIELD_FULL_NAME");
6008 if (flags & (~( 0x00000002 )))
6009 proto_item_append_text(item, ", ");
6011 flags&=(~( 0x00000002 ));
6013 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_RID, tvb, offset-4, 4, flags);
6014 if (flags&( 0x00000004 )){
6015 proto_item_append_text(item, "SAMR_FIELD_RID");
6016 if (flags & (~( 0x00000004 )))
6017 proto_item_append_text(item, ", ");
6019 flags&=(~( 0x00000004 ));
6021 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIMARY_GID, tvb, offset-4, 4, flags);
6022 if (flags&( 0x00000008 )){
6023 proto_item_append_text(item, "SAMR_FIELD_PRIMARY_GID");
6024 if (flags & (~( 0x00000008 )))
6025 proto_item_append_text(item, ", ");
6027 flags&=(~( 0x00000008 ));
6029 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_DESCRIPTION, tvb, offset-4, 4, flags);
6030 if (flags&( 0x00000010 )){
6031 proto_item_append_text(item, "SAMR_FIELD_DESCRIPTION");
6032 if (flags & (~( 0x00000010 )))
6033 proto_item_append_text(item, ", ");
6035 flags&=(~( 0x00000010 ));
6037 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_COMMENT, tvb, offset-4, 4, flags);
6038 if (flags&( 0x00000020 )){
6039 proto_item_append_text(item, "SAMR_FIELD_COMMENT");
6040 if (flags & (~( 0x00000020 )))
6041 proto_item_append_text(item, ", ");
6043 flags&=(~( 0x00000020 ));
6045 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DIRECTORY, tvb, offset-4, 4, flags);
6046 if (flags&( 0x00000040 )){
6047 proto_item_append_text(item, "SAMR_FIELD_HOME_DIRECTORY");
6048 if (flags & (~( 0x00000040 )))
6049 proto_item_append_text(item, ", ");
6051 flags&=(~( 0x00000040 ));
6053 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DRIVE, tvb, offset-4, 4, flags);
6054 if (flags&( 0x00000080 )){
6055 proto_item_append_text(item, "SAMR_FIELD_HOME_DRIVE");
6056 if (flags & (~( 0x00000080 )))
6057 proto_item_append_text(item, ", ");
6059 flags&=(~( 0x00000080 ));
6061 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_SCRIPT, tvb, offset-4, 4, flags);
6062 if (flags&( 0x00000100 )){
6063 proto_item_append_text(item, "SAMR_FIELD_LOGON_SCRIPT");
6064 if (flags & (~( 0x00000100 )))
6065 proto_item_append_text(item, ", ");
6067 flags&=(~( 0x00000100 ));
6069 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_PROFILE_PATH, tvb, offset-4, 4, flags);
6070 if (flags&( 0x00000200 )){
6071 proto_item_append_text(item, "SAMR_FIELD_PROFILE_PATH");
6072 if (flags & (~( 0x00000200 )))
6073 proto_item_append_text(item, ", ");
6075 flags&=(~( 0x00000200 ));
6077 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_WORKSTATIONS, tvb, offset-4, 4, flags);
6078 if (flags&( 0x00000400 )){
6079 proto_item_append_text(item, "SAMR_FIELD_WORKSTATIONS");
6080 if (flags & (~( 0x00000400 )))
6081 proto_item_append_text(item, ", ");
6083 flags&=(~( 0x00000400 ));
6085 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGON, tvb, offset-4, 4, flags);
6086 if (flags&( 0x00000800 )){
6087 proto_item_append_text(item, "SAMR_FIELD_LAST_LOGON");
6088 if (flags & (~( 0x00000800 )))
6089 proto_item_append_text(item, ", ");
6091 flags&=(~( 0x00000800 ));
6093 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGOFF, tvb, offset-4, 4, flags);
6094 if (flags&( 0x00001000 )){
6095 proto_item_append_text(item, "SAMR_FIELD_LAST_LOGOFF");
6096 if (flags & (~( 0x00001000 )))
6097 proto_item_append_text(item, ", ");
6099 flags&=(~( 0x00001000 ));
6101 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_HOURS, tvb, offset-4, 4, flags);
6102 if (flags&( 0x00002000 )){
6103 proto_item_append_text(item, "SAMR_FIELD_LOGON_HOURS");
6104 if (flags & (~( 0x00002000 )))
6105 proto_item_append_text(item, ", ");
6107 flags&=(~( 0x00002000 ));
6109 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_BAD_PWD_COUNT, tvb, offset-4, 4, flags);
6110 if (flags&( 0x00004000 )){
6111 proto_item_append_text(item, "SAMR_FIELD_BAD_PWD_COUNT");
6112 if (flags & (~( 0x00004000 )))
6113 proto_item_append_text(item, ", ");
6115 flags&=(~( 0x00004000 ));
6117 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_NUM_LOGONS, tvb, offset-4, 4, flags);
6118 if (flags&( 0x00008000 )){
6119 proto_item_append_text(item, "SAMR_FIELD_NUM_LOGONS");
6120 if (flags & (~( 0x00008000 )))
6121 proto_item_append_text(item, ", ");
6123 flags&=(~( 0x00008000 ));
6125 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_ALLOW_PWD_CHANGE, tvb, offset-4, 4, flags);
6126 if (flags&( 0x00010000 )){
6127 proto_item_append_text(item, "SAMR_FIELD_ALLOW_PWD_CHANGE");
6128 if (flags & (~( 0x00010000 )))
6129 proto_item_append_text(item, ", ");
6131 flags&=(~( 0x00010000 ));
6133 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_FORCE_PWD_CHANGE, tvb, offset-4, 4, flags);
6134 if (flags&( 0x00020000 )){
6135 proto_item_append_text(item, "SAMR_FIELD_FORCE_PWD_CHANGE");
6136 if (flags & (~( 0x00020000 )))
6137 proto_item_append_text(item, ", ");
6139 flags&=(~( 0x00020000 ));
6141 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_PWD_CHANGE, tvb, offset-4, 4, flags);
6142 if (flags&( 0x00040000 )){
6143 proto_item_append_text(item, "SAMR_FIELD_LAST_PWD_CHANGE");
6144 if (flags & (~( 0x00040000 )))
6145 proto_item_append_text(item, ", ");
6147 flags&=(~( 0x00040000 ));
6149 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_EXPIRY, tvb, offset-4, 4, flags);
6150 if (flags&( 0x00080000 )){
6151 proto_item_append_text(item, "SAMR_FIELD_ACCT_EXPIRY");
6152 if (flags & (~( 0x00080000 )))
6153 proto_item_append_text(item, ", ");
6155 flags&=(~( 0x00080000 ));
6157 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_FLAGS, tvb, offset-4, 4, flags);
6158 if (flags&( 0x00100000 )){
6159 proto_item_append_text(item, "SAMR_FIELD_ACCT_FLAGS");
6160 if (flags & (~( 0x00100000 )))
6161 proto_item_append_text(item, ", ");
6163 flags&=(~( 0x00100000 ));
6165 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_PARAMETERS, tvb, offset-4, 4, flags);
6166 if (flags&( 0x00200000 )){
6167 proto_item_append_text(item, "SAMR_FIELD_PARAMETERS");
6168 if (flags & (~( 0x00200000 )))
6169 proto_item_append_text(item, ", ");
6171 flags&=(~( 0x00200000 ));
6173 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_COUNTRY_CODE, tvb, offset-4, 4, flags);
6174 if (flags&( 0x00400000 )){
6175 proto_item_append_text(item, "SAMR_FIELD_COUNTRY_CODE");
6176 if (flags & (~( 0x00400000 )))
6177 proto_item_append_text(item, ", ");
6179 flags&=(~( 0x00400000 ));
6181 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_CODE_PAGE, tvb, offset-4, 4, flags);
6182 if (flags&( 0x00800000 )){
6183 proto_item_append_text(item, "SAMR_FIELD_CODE_PAGE");
6184 if (flags & (~( 0x00800000 )))
6185 proto_item_append_text(item, ", ");
6187 flags&=(~( 0x00800000 ));
6189 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_NT_PASSWORD_PRESENT, tvb, offset-4, 4, flags);
6190 if (flags&( 0x01000000 )){
6191 proto_item_append_text(item, "SAMR_FIELD_NT_PASSWORD_PRESENT");
6192 if (flags & (~( 0x01000000 )))
6193 proto_item_append_text(item, ", ");
6195 flags&=(~( 0x01000000 ));
6197 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_LM_PASSWORD_PRESENT, tvb, offset-4, 4, flags);
6198 if (flags&( 0x02000000 )){
6199 proto_item_append_text(item, "SAMR_FIELD_LM_PASSWORD_PRESENT");
6200 if (flags & (~( 0x02000000 )))
6201 proto_item_append_text(item, ", ");
6203 flags&=(~( 0x02000000 ));
6205 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIVATE_DATA, tvb, offset-4, 4, flags);
6206 if (flags&( 0x04000000 )){
6207 proto_item_append_text(item, "SAMR_FIELD_PRIVATE_DATA");
6208 if (flags & (~( 0x04000000 )))
6209 proto_item_append_text(item, ", ");
6211 flags&=(~( 0x04000000 ));
6213 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_EXPIRED_FLAG, tvb, offset-4, 4, flags);
6214 if (flags&( 0x08000000 )){
6215 proto_item_append_text(item, "SAMR_FIELD_EXPIRED_FLAG");
6216 if (flags & (~( 0x08000000 )))
6217 proto_item_append_text(item, ", ");
6219 flags&=(~( 0x08000000 ));
6221 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_SEC_DESC, tvb, offset-4, 4, flags);
6222 if (flags&( 0x10000000 )){
6223 proto_item_append_text(item, "SAMR_FIELD_SEC_DESC");
6224 if (flags & (~( 0x10000000 )))
6225 proto_item_append_text(item, ", ");
6227 flags&=(~( 0x10000000 ));
6229 proto_tree_add_boolean(tree, hf_samr_samr_FieldsPresent_SAMR_FIELD_OWF_PWD, tvb, offset-4, 4, flags);
6230 if (flags&( 0x20000000 )){
6231 proto_item_append_text(item, "SAMR_FIELD_OWF_PWD");
6232 if (flags & (~( 0x20000000 )))
6233 proto_item_append_text(item, ", ");
6235 flags&=(~( 0x20000000 ));
6237 if (flags) {
6238 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
6241 return offset;
6245 /* IDL: struct { */
6246 /* IDL: NTTIME last_logon; */
6247 /* IDL: NTTIME last_logoff; */
6248 /* IDL: NTTIME last_password_change; */
6249 /* IDL: NTTIME acct_expiry; */
6250 /* IDL: NTTIME allow_password_change; */
6251 /* IDL: NTTIME force_password_change; */
6252 /* IDL: lsa_String account_name; */
6253 /* IDL: lsa_String full_name; */
6254 /* IDL: lsa_String home_directory; */
6255 /* IDL: lsa_String home_drive; */
6256 /* IDL: lsa_String logon_script; */
6257 /* IDL: lsa_String profile_path; */
6258 /* IDL: lsa_String description; */
6259 /* IDL: lsa_String workstations; */
6260 /* IDL: lsa_String comment; */
6261 /* IDL: lsa_String parameters; */
6262 /* IDL: lsa_String lm_password; */
6263 /* IDL: lsa_String nt_password; */
6264 /* IDL: lsa_String private; */
6265 /* IDL: uint32 buf_count; */
6266 /* IDL: [unique(1)] [size_is(buf_count)] uint8 *buffer; */
6267 /* IDL: uint32 rid; */
6268 /* IDL: uint32 primary_gid; */
6269 /* IDL: samr_AcctFlags acct_flags; */
6270 /* IDL: samr_FieldsPresent fields_present; */
6271 /* IDL: samr_LogonHours logon_hours; */
6272 /* IDL: uint16 bad_password_count; */
6273 /* IDL: uint16 logon_count; */
6274 /* IDL: uint16 country_code; */
6275 /* IDL: uint16 code_page; */
6276 /* IDL: uint8 lm_password_set; */
6277 /* IDL: uint8 nt_password_set; */
6278 /* IDL: uint8 password_expired; */
6279 /* IDL: uint8 unknown4; */
6280 /* IDL: } */
6282 static int
6283 samr_dissect_element_UserInfo21_last_logon(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6285 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_last_logon);
6287 return offset;
6290 static int
6291 samr_dissect_element_UserInfo21_last_logoff(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6293 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_last_logoff);
6295 return offset;
6298 static int
6299 samr_dissect_element_UserInfo21_last_password_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6301 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_last_password_change);
6303 return offset;
6306 static int
6307 samr_dissect_element_UserInfo21_acct_expiry(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6309 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_acct_expiry);
6311 return offset;
6314 static int
6315 samr_dissect_element_UserInfo21_allow_password_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6317 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_allow_password_change);
6319 return offset;
6322 static int
6323 samr_dissect_element_UserInfo21_force_password_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6325 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_force_password_change);
6327 return offset;
6330 static int
6331 samr_dissect_element_UserInfo21_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6333 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_account_name);
6335 return offset;
6338 static int
6339 samr_dissect_element_UserInfo21_full_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6341 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_full_name);
6343 return offset;
6346 static int
6347 samr_dissect_element_UserInfo21_home_directory(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6349 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_home_directory);
6351 return offset;
6354 static int
6355 samr_dissect_element_UserInfo21_home_drive(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6357 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_home_drive);
6359 return offset;
6362 static int
6363 samr_dissect_element_UserInfo21_logon_script(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6365 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_logon_script);
6367 return offset;
6370 static int
6371 samr_dissect_element_UserInfo21_profile_path(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6373 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_profile_path);
6375 return offset;
6378 static int
6379 samr_dissect_element_UserInfo21_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6381 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_description);
6383 return offset;
6386 static int
6387 samr_dissect_element_UserInfo21_workstations(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6389 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_workstations);
6391 return offset;
6394 static int
6395 samr_dissect_element_UserInfo21_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6397 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_comment);
6399 return offset;
6402 static int
6403 samr_dissect_element_UserInfo21_parameters(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6405 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_parameters);
6407 return offset;
6410 static int
6411 samr_dissect_element_UserInfo21_lm_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6413 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_lm_password);
6415 return offset;
6418 static int
6419 samr_dissect_element_UserInfo21_nt_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6421 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_nt_password);
6423 return offset;
6426 static int
6427 samr_dissect_element_UserInfo21_private(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6429 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_private);
6431 return offset;
6434 static int
6435 samr_dissect_element_UserInfo21_buf_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6437 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_buf_count, 0);
6439 return offset;
6442 static int
6443 samr_dissect_element_UserInfo21_buffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6445 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_UserInfo21_buffer_, NDR_POINTER_UNIQUE, "Pointer to Buffer (uint8)",hf_samr_samr_UserInfo21_buffer);
6447 return offset;
6450 static int
6451 samr_dissect_element_UserInfo21_buffer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6453 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_UserInfo21_buffer__);
6455 return offset;
6458 static int
6459 samr_dissect_element_UserInfo21_buffer__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6461 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_buffer, 0);
6463 return offset;
6466 static int
6467 samr_dissect_element_UserInfo21_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6469 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
6471 return offset;
6474 static int
6475 samr_dissect_element_UserInfo21_primary_gid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6477 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_primary_gid, 0);
6479 return offset;
6482 static int
6483 samr_dissect_element_UserInfo21_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6485 offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_acct_flags, 0);
6487 return offset;
6490 static int
6491 samr_dissect_element_UserInfo21_fields_present(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6493 offset = samr_dissect_bitmap_FieldsPresent(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_fields_present, 0);
6495 return offset;
6498 static int
6499 samr_dissect_element_UserInfo21_logon_hours(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6501 offset = samr_dissect_struct_LogonHours(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo21_logon_hours,0);
6503 return offset;
6506 static int
6507 samr_dissect_element_UserInfo21_bad_password_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6509 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_bad_password_count, 0);
6511 return offset;
6514 static int
6515 samr_dissect_element_UserInfo21_logon_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6517 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_logon_count, 0);
6519 return offset;
6522 static int
6523 samr_dissect_element_UserInfo21_country_code(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6525 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_country_code, 0);
6527 return offset;
6530 static int
6531 samr_dissect_element_UserInfo21_code_page(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6533 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_code_page, 0);
6535 return offset;
6538 static int
6539 samr_dissect_element_UserInfo21_lm_password_set(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6541 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_lm_password_set, 0);
6543 return offset;
6546 static int
6547 samr_dissect_element_UserInfo21_nt_password_set(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6549 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_nt_password_set, 0);
6551 return offset;
6554 static int
6555 samr_dissect_element_UserInfo21_password_expired(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6557 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_password_expired, 0);
6559 return offset;
6562 static int
6563 samr_dissect_element_UserInfo21_unknown4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6565 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_unknown4, 0);
6567 return offset;
6571 samr_dissect_struct_UserInfo21(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
6573 proto_item *item = NULL;
6574 proto_tree *tree = NULL;
6576 int old_offset;
6578 ALIGN_TO_5_BYTES;
6580 old_offset = offset;
6582 if (parent_tree) {
6583 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6584 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo21);
6587 offset = samr_dissect_element_UserInfo21_last_logon(tvb, offset, pinfo, tree, di, drep);
6589 offset = samr_dissect_element_UserInfo21_last_logoff(tvb, offset, pinfo, tree, di, drep);
6591 offset = samr_dissect_element_UserInfo21_last_password_change(tvb, offset, pinfo, tree, di, drep);
6593 offset = samr_dissect_element_UserInfo21_acct_expiry(tvb, offset, pinfo, tree, di, drep);
6595 offset = samr_dissect_element_UserInfo21_allow_password_change(tvb, offset, pinfo, tree, di, drep);
6597 offset = samr_dissect_element_UserInfo21_force_password_change(tvb, offset, pinfo, tree, di, drep);
6599 offset = samr_dissect_element_UserInfo21_account_name(tvb, offset, pinfo, tree, di, drep);
6601 offset = samr_dissect_element_UserInfo21_full_name(tvb, offset, pinfo, tree, di, drep);
6603 offset = samr_dissect_element_UserInfo21_home_directory(tvb, offset, pinfo, tree, di, drep);
6605 offset = samr_dissect_element_UserInfo21_home_drive(tvb, offset, pinfo, tree, di, drep);
6607 offset = samr_dissect_element_UserInfo21_logon_script(tvb, offset, pinfo, tree, di, drep);
6609 offset = samr_dissect_element_UserInfo21_profile_path(tvb, offset, pinfo, tree, di, drep);
6611 offset = samr_dissect_element_UserInfo21_description(tvb, offset, pinfo, tree, di, drep);
6613 offset = samr_dissect_element_UserInfo21_workstations(tvb, offset, pinfo, tree, di, drep);
6615 offset = samr_dissect_element_UserInfo21_comment(tvb, offset, pinfo, tree, di, drep);
6617 offset = samr_dissect_element_UserInfo21_parameters(tvb, offset, pinfo, tree, di, drep);
6619 offset = samr_dissect_element_UserInfo21_lm_password(tvb, offset, pinfo, tree, di, drep);
6621 offset = samr_dissect_element_UserInfo21_nt_password(tvb, offset, pinfo, tree, di, drep);
6623 offset = samr_dissect_element_UserInfo21_private(tvb, offset, pinfo, tree, di, drep);
6625 offset = samr_dissect_element_UserInfo21_buf_count(tvb, offset, pinfo, tree, di, drep);
6627 offset = samr_dissect_element_UserInfo21_buffer(tvb, offset, pinfo, tree, di, drep);
6629 offset = samr_dissect_element_UserInfo21_rid(tvb, offset, pinfo, tree, di, drep);
6631 offset = samr_dissect_element_UserInfo21_primary_gid(tvb, offset, pinfo, tree, di, drep);
6633 offset = samr_dissect_element_UserInfo21_acct_flags(tvb, offset, pinfo, tree, di, drep);
6635 offset = samr_dissect_element_UserInfo21_fields_present(tvb, offset, pinfo, tree, di, drep);
6637 offset = samr_dissect_element_UserInfo21_logon_hours(tvb, offset, pinfo, tree, di, drep);
6639 offset = samr_dissect_element_UserInfo21_bad_password_count(tvb, offset, pinfo, tree, di, drep);
6641 offset = samr_dissect_element_UserInfo21_logon_count(tvb, offset, pinfo, tree, di, drep);
6643 offset = samr_dissect_element_UserInfo21_country_code(tvb, offset, pinfo, tree, di, drep);
6645 offset = samr_dissect_element_UserInfo21_code_page(tvb, offset, pinfo, tree, di, drep);
6647 offset = samr_dissect_element_UserInfo21_lm_password_set(tvb, offset, pinfo, tree, di, drep);
6649 offset = samr_dissect_element_UserInfo21_nt_password_set(tvb, offset, pinfo, tree, di, drep);
6651 offset = samr_dissect_element_UserInfo21_password_expired(tvb, offset, pinfo, tree, di, drep);
6653 offset = samr_dissect_element_UserInfo21_unknown4(tvb, offset, pinfo, tree, di, drep);
6656 proto_item_set_len(item, offset-old_offset);
6659 if (di->call_data->flags & DCERPC_IS_NDR64) {
6660 ALIGN_TO_5_BYTES;
6663 return offset;
6667 /* IDL: struct { */
6668 /* IDL: uint8 data[516]; */
6669 /* IDL: } */
6671 static int
6672 samr_dissect_element_CryptPassword_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6674 int i;
6675 for (i = 0; i < 516; i++)
6676 offset = samr_dissect_element_CryptPassword_data_(tvb, offset, pinfo, tree, di, drep);
6678 return offset;
6681 static int
6682 samr_dissect_element_CryptPassword_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6684 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_CryptPassword_data, 0);
6686 return offset;
6690 samr_dissect_struct_CryptPassword(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
6692 proto_item *item = NULL;
6693 proto_tree *tree = NULL;
6694 int old_offset;
6697 old_offset = offset;
6699 if (parent_tree) {
6700 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6701 tree = proto_item_add_subtree(item, ett_samr_samr_CryptPassword);
6704 offset = samr_dissect_element_CryptPassword_data(tvb, offset, pinfo, tree, di, drep);
6707 proto_item_set_len(item, offset-old_offset);
6710 return offset;
6714 /* IDL: struct { */
6715 /* IDL: samr_UserInfo21 info; */
6716 /* IDL: samr_CryptPassword password; */
6717 /* IDL: } */
6719 static int
6720 samr_dissect_element_UserInfo23_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6722 offset = samr_dissect_struct_UserInfo21(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo23_info,0);
6724 return offset;
6727 static int
6728 samr_dissect_element_UserInfo23_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6730 offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo23_password,0);
6732 return offset;
6736 samr_dissect_struct_UserInfo23(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
6738 proto_item *item = NULL;
6739 proto_tree *tree = NULL;
6741 int old_offset;
6743 ALIGN_TO_5_BYTES;
6745 old_offset = offset;
6747 if (parent_tree) {
6748 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6749 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo23);
6752 offset = samr_dissect_element_UserInfo23_info(tvb, offset, pinfo, tree, di, drep);
6754 offset = samr_dissect_element_UserInfo23_password(tvb, offset, pinfo, tree, di, drep);
6757 proto_item_set_len(item, offset-old_offset);
6760 if (di->call_data->flags & DCERPC_IS_NDR64) {
6761 ALIGN_TO_5_BYTES;
6764 return offset;
6768 /* IDL: struct { */
6769 /* IDL: samr_CryptPassword password; */
6770 /* IDL: uint8 password_expired; */
6771 /* IDL: } */
6773 static int
6774 samr_dissect_element_UserInfo24_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6776 offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo24_password,0);
6778 return offset;
6781 static int
6782 samr_dissect_element_UserInfo24_password_expired(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6784 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo24_password_expired, 0);
6786 return offset;
6790 samr_dissect_struct_UserInfo24(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
6792 proto_item *item = NULL;
6793 proto_tree *tree = NULL;
6794 int old_offset;
6797 old_offset = offset;
6799 if (parent_tree) {
6800 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6801 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo24);
6804 offset = samr_dissect_element_UserInfo24_password(tvb, offset, pinfo, tree, di, drep);
6806 offset = samr_dissect_element_UserInfo24_password_expired(tvb, offset, pinfo, tree, di, drep);
6809 proto_item_set_len(item, offset-old_offset);
6812 return offset;
6816 /* IDL: struct { */
6817 /* IDL: uint8 data[532]; */
6818 /* IDL: } */
6820 static int
6821 samr_dissect_element_CryptPasswordEx_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6823 int i;
6824 for (i = 0; i < 532; i++)
6825 offset = samr_dissect_element_CryptPasswordEx_data_(tvb, offset, pinfo, tree, di, drep);
6827 return offset;
6830 static int
6831 samr_dissect_element_CryptPasswordEx_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6833 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_CryptPasswordEx_data, 0);
6835 return offset;
6839 samr_dissect_struct_CryptPasswordEx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
6841 proto_item *item = NULL;
6842 proto_tree *tree = NULL;
6843 int old_offset;
6846 old_offset = offset;
6848 if (parent_tree) {
6849 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6850 tree = proto_item_add_subtree(item, ett_samr_samr_CryptPasswordEx);
6853 offset = samr_dissect_element_CryptPasswordEx_data(tvb, offset, pinfo, tree, di, drep);
6856 proto_item_set_len(item, offset-old_offset);
6859 return offset;
6863 /* IDL: struct { */
6864 /* IDL: samr_UserInfo21 info; */
6865 /* IDL: samr_CryptPasswordEx password; */
6866 /* IDL: } */
6868 static int
6869 samr_dissect_element_UserInfo25_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6871 offset = samr_dissect_struct_UserInfo21(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo25_info,0);
6873 return offset;
6876 static int
6877 samr_dissect_element_UserInfo25_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6879 offset = samr_dissect_struct_CryptPasswordEx(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo25_password,0);
6881 return offset;
6885 samr_dissect_struct_UserInfo25(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
6887 proto_item *item = NULL;
6888 proto_tree *tree = NULL;
6890 int old_offset;
6892 ALIGN_TO_5_BYTES;
6894 old_offset = offset;
6896 if (parent_tree) {
6897 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6898 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo25);
6901 offset = samr_dissect_element_UserInfo25_info(tvb, offset, pinfo, tree, di, drep);
6903 offset = samr_dissect_element_UserInfo25_password(tvb, offset, pinfo, tree, di, drep);
6906 proto_item_set_len(item, offset-old_offset);
6909 if (di->call_data->flags & DCERPC_IS_NDR64) {
6910 ALIGN_TO_5_BYTES;
6913 return offset;
6917 /* IDL: struct { */
6918 /* IDL: samr_CryptPasswordEx password; */
6919 /* IDL: uint8 password_expired; */
6920 /* IDL: } */
6922 static int
6923 samr_dissect_element_UserInfo26_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6925 offset = samr_dissect_struct_CryptPasswordEx(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo26_password,0);
6927 return offset;
6930 static int
6931 samr_dissect_element_UserInfo26_password_expired(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6933 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo26_password_expired, 0);
6935 return offset;
6939 samr_dissect_struct_UserInfo26(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
6941 proto_item *item = NULL;
6942 proto_tree *tree = NULL;
6943 int old_offset;
6946 old_offset = offset;
6948 if (parent_tree) {
6949 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6950 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo26);
6953 offset = samr_dissect_element_UserInfo26_password(tvb, offset, pinfo, tree, di, drep);
6955 offset = samr_dissect_element_UserInfo26_password_expired(tvb, offset, pinfo, tree, di, drep);
6958 proto_item_set_len(item, offset-old_offset);
6961 return offset;
6965 /* IDL: [switch_type(uint16)] union { */
6966 /* IDL: [case(1)] [case(1)] samr_UserInfo1 info1; */
6967 /* IDL: [case(2)] [case(2)] samr_UserInfo2 info2; */
6968 /* IDL: [case(3)] [case(3)] samr_UserInfo3 info3; */
6969 /* IDL: [case(4)] [case(4)] samr_UserInfo4 info4; */
6970 /* IDL: [case(5)] [case(5)] samr_UserInfo5 info5; */
6971 /* IDL: [case(6)] [case(6)] samr_UserInfo6 info6; */
6972 /* IDL: [case(7)] [case(7)] samr_UserInfo7 info7; */
6973 /* IDL: [case(8)] [case(8)] samr_UserInfo8 info8; */
6974 /* IDL: [case(9)] [case(9)] samr_UserInfo9 info9; */
6975 /* IDL: [case(10)] [case(10)] samr_UserInfo10 info10; */
6976 /* IDL: [case(11)] [case(11)] samr_UserInfo11 info11; */
6977 /* IDL: [case(12)] [case(12)] samr_UserInfo12 info12; */
6978 /* IDL: [case(13)] [case(13)] samr_UserInfo13 info13; */
6979 /* IDL: [case(14)] [case(14)] samr_UserInfo14 info14; */
6980 /* IDL: [case(16)] [case(16)] samr_UserInfo16 info16; */
6981 /* IDL: [case(17)] [case(17)] samr_UserInfo17 info17; */
6982 /* IDL: [case(18)] [case(18)] samr_UserInfo18 info18; */
6983 /* IDL: [case(20)] [case(20)] samr_UserInfo20 info20; */
6984 /* IDL: [case(21)] [case(21)] samr_UserInfo21 info21; */
6985 /* IDL: [case(23)] [case(23)] samr_UserInfo23 info23; */
6986 /* IDL: [case(24)] [case(24)] samr_UserInfo24 info24; */
6987 /* IDL: [case(25)] [case(25)] samr_UserInfo25 info25; */
6988 /* IDL: [case(26)] [case(26)] samr_UserInfo26 info26; */
6989 /* IDL: } */
6991 static int
6992 samr_dissect_element_UserInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
6994 offset = samr_dissect_struct_UserInfo1(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info1,0);
6996 return offset;
6999 static int
7000 samr_dissect_element_UserInfo_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7002 offset = samr_dissect_struct_UserInfo2(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info2,0);
7004 return offset;
7007 static int
7008 samr_dissect_element_UserInfo_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7010 offset = samr_dissect_struct_UserInfo3(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info3,0);
7012 return offset;
7015 static int
7016 samr_dissect_element_UserInfo_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7018 offset = samr_dissect_struct_UserInfo4(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info4,0);
7020 return offset;
7023 static int
7024 samr_dissect_element_UserInfo_info5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7026 offset = samr_dissect_struct_UserInfo5(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info5,0);
7028 return offset;
7031 static int
7032 samr_dissect_element_UserInfo_info6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7034 offset = samr_dissect_struct_UserInfo6(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info6,0);
7036 return offset;
7039 static int
7040 samr_dissect_element_UserInfo_info7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7042 offset = samr_dissect_struct_UserInfo7(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info7,0);
7044 return offset;
7047 static int
7048 samr_dissect_element_UserInfo_info8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7050 offset = samr_dissect_struct_UserInfo8(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info8,0);
7052 return offset;
7055 static int
7056 samr_dissect_element_UserInfo_info9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7058 offset = samr_dissect_struct_UserInfo9(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info9,0);
7060 return offset;
7063 static int
7064 samr_dissect_element_UserInfo_info10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7066 offset = samr_dissect_struct_UserInfo10(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info10,0);
7068 return offset;
7071 static int
7072 samr_dissect_element_UserInfo_info11(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7074 offset = samr_dissect_struct_UserInfo11(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info11,0);
7076 return offset;
7079 static int
7080 samr_dissect_element_UserInfo_info12(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7082 offset = samr_dissect_struct_UserInfo12(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info12,0);
7084 return offset;
7087 static int
7088 samr_dissect_element_UserInfo_info13(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7090 offset = samr_dissect_struct_UserInfo13(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info13,0);
7092 return offset;
7095 static int
7096 samr_dissect_element_UserInfo_info14(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7098 offset = samr_dissect_struct_UserInfo14(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info14,0);
7100 return offset;
7103 static int
7104 samr_dissect_element_UserInfo_info16(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7106 offset = samr_dissect_struct_UserInfo16(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info16,0);
7108 return offset;
7111 static int
7112 samr_dissect_element_UserInfo_info17(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7114 offset = samr_dissect_struct_UserInfo17(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info17,0);
7116 return offset;
7119 static int
7120 samr_dissect_element_UserInfo_info18(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7122 offset = samr_dissect_struct_UserInfo18(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info18,0);
7124 return offset;
7127 static int
7128 samr_dissect_element_UserInfo_info20(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7130 offset = samr_dissect_struct_UserInfo20(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info20,0);
7132 return offset;
7135 static int
7136 samr_dissect_element_UserInfo_info21(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7138 offset = samr_dissect_struct_UserInfo21(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info21,0);
7140 return offset;
7143 static int
7144 samr_dissect_element_UserInfo_info23(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7146 offset = samr_dissect_struct_UserInfo23(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info23,0);
7148 return offset;
7151 static int
7152 samr_dissect_element_UserInfo_info24(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7154 offset = samr_dissect_struct_UserInfo24(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info24,0);
7156 return offset;
7159 static int
7160 samr_dissect_element_UserInfo_info25(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7162 offset = samr_dissect_struct_UserInfo25(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info25,0);
7164 return offset;
7167 static int
7168 samr_dissect_element_UserInfo_info26(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7170 offset = samr_dissect_struct_UserInfo26(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info26,0);
7172 return offset;
7175 static int
7176 samr_dissect_UserInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
7178 proto_item *item = NULL;
7179 proto_tree *tree = NULL;
7180 int old_offset;
7181 guint16 level;
7183 old_offset = offset;
7184 if (parent_tree) {
7185 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "samr_UserInfo");
7186 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo);
7189 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
7190 ALIGN_TO_5_BYTES;
7192 switch(level) {
7193 case 1:
7194 offset = samr_dissect_element_UserInfo_info1(tvb, offset, pinfo, tree, di, drep);
7195 break;
7197 case 2:
7198 offset = samr_dissect_element_UserInfo_info2(tvb, offset, pinfo, tree, di, drep);
7199 break;
7201 case 3:
7202 offset = samr_dissect_element_UserInfo_info3(tvb, offset, pinfo, tree, di, drep);
7203 break;
7205 case 4:
7206 offset = samr_dissect_element_UserInfo_info4(tvb, offset, pinfo, tree, di, drep);
7207 break;
7209 case 5:
7210 offset = samr_dissect_element_UserInfo_info5(tvb, offset, pinfo, tree, di, drep);
7211 break;
7213 case 6:
7214 offset = samr_dissect_element_UserInfo_info6(tvb, offset, pinfo, tree, di, drep);
7215 break;
7217 case 7:
7218 offset = samr_dissect_element_UserInfo_info7(tvb, offset, pinfo, tree, di, drep);
7219 break;
7221 case 8:
7222 offset = samr_dissect_element_UserInfo_info8(tvb, offset, pinfo, tree, di, drep);
7223 break;
7225 case 9:
7226 offset = samr_dissect_element_UserInfo_info9(tvb, offset, pinfo, tree, di, drep);
7227 break;
7229 case 10:
7230 offset = samr_dissect_element_UserInfo_info10(tvb, offset, pinfo, tree, di, drep);
7231 break;
7233 case 11:
7234 offset = samr_dissect_element_UserInfo_info11(tvb, offset, pinfo, tree, di, drep);
7235 break;
7237 case 12:
7238 offset = samr_dissect_element_UserInfo_info12(tvb, offset, pinfo, tree, di, drep);
7239 break;
7241 case 13:
7242 offset = samr_dissect_element_UserInfo_info13(tvb, offset, pinfo, tree, di, drep);
7243 break;
7245 case 14:
7246 offset = samr_dissect_element_UserInfo_info14(tvb, offset, pinfo, tree, di, drep);
7247 break;
7249 case 16:
7250 offset = samr_dissect_element_UserInfo_info16(tvb, offset, pinfo, tree, di, drep);
7251 break;
7253 case 17:
7254 offset = samr_dissect_element_UserInfo_info17(tvb, offset, pinfo, tree, di, drep);
7255 break;
7257 case 18:
7258 offset = samr_dissect_element_UserInfo_info18(tvb, offset, pinfo, tree, di, drep);
7259 break;
7261 case 20:
7262 offset = samr_dissect_element_UserInfo_info20(tvb, offset, pinfo, tree, di, drep);
7263 break;
7265 case 21:
7266 offset = samr_dissect_element_UserInfo_info21(tvb, offset, pinfo, tree, di, drep);
7267 break;
7269 case 23:
7270 offset = samr_dissect_element_UserInfo_info23(tvb, offset, pinfo, tree, di, drep);
7271 break;
7273 case 24:
7274 offset = samr_dissect_element_UserInfo_info24(tvb, offset, pinfo, tree, di, drep);
7275 break;
7277 case 25:
7278 offset = samr_dissect_element_UserInfo_info25(tvb, offset, pinfo, tree, di, drep);
7279 break;
7281 case 26:
7282 offset = samr_dissect_element_UserInfo_info26(tvb, offset, pinfo, tree, di, drep);
7283 break;
7285 proto_item_set_len(item, offset-old_offset);
7288 return offset;
7291 /* IDL: struct { */
7292 /* IDL: uint32 rid; */
7293 /* IDL: samr_GroupAttrs attributes; */
7294 /* IDL: } */
7296 static int
7297 samr_dissect_element_RidWithAttribute_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7299 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
7301 return offset;
7304 static int
7305 samr_dissect_element_RidWithAttribute_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7307 offset = samr_dissect_bitmap_GroupAttrs(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_RidWithAttribute_attributes, 0);
7309 return offset;
7313 samr_dissect_struct_RidWithAttribute(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
7315 proto_item *item = NULL;
7316 proto_tree *tree = NULL;
7318 int old_offset;
7320 ALIGN_TO_4_BYTES;
7322 old_offset = offset;
7324 if (parent_tree) {
7325 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7326 tree = proto_item_add_subtree(item, ett_samr_samr_RidWithAttribute);
7329 offset = samr_dissect_element_RidWithAttribute_rid(tvb, offset, pinfo, tree, di, drep);
7331 offset = samr_dissect_element_RidWithAttribute_attributes(tvb, offset, pinfo, tree, di, drep);
7334 proto_item_set_len(item, offset-old_offset);
7337 if (di->call_data->flags & DCERPC_IS_NDR64) {
7338 ALIGN_TO_4_BYTES;
7341 return offset;
7345 /* IDL: struct { */
7346 /* IDL: uint32 count; */
7347 /* IDL: [unique(1)] [size_is(count)] samr_RidWithAttribute *rids; */
7348 /* IDL: } */
7350 static int
7351 samr_dissect_element_RidWithAttributeArray_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7353 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_RidWithAttributeArray_count, 0);
7355 return offset;
7358 static int
7359 samr_dissect_element_RidWithAttributeArray_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7361 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidWithAttributeArray_rids_, NDR_POINTER_UNIQUE, "Pointer to Rids (samr_RidWithAttribute)",hf_samr_samr_RidWithAttributeArray_rids);
7363 return offset;
7366 static int
7367 samr_dissect_element_RidWithAttributeArray_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7369 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidWithAttributeArray_rids__);
7371 return offset;
7374 static int
7375 samr_dissect_element_RidWithAttributeArray_rids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7377 offset = samr_dissect_struct_RidWithAttribute(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_RidWithAttributeArray_rids,0);
7379 return offset;
7383 samr_dissect_struct_RidWithAttributeArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
7385 proto_item *item = NULL;
7386 proto_tree *tree = NULL;
7388 int old_offset;
7390 ALIGN_TO_5_BYTES;
7392 old_offset = offset;
7394 if (parent_tree) {
7395 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7396 tree = proto_item_add_subtree(item, ett_samr_samr_RidWithAttributeArray);
7399 offset = samr_dissect_element_RidWithAttributeArray_count(tvb, offset, pinfo, tree, di, drep);
7401 offset = samr_dissect_element_RidWithAttributeArray_rids(tvb, offset, pinfo, tree, di, drep);
7404 proto_item_set_len(item, offset-old_offset);
7407 if (di->call_data->flags & DCERPC_IS_NDR64) {
7408 ALIGN_TO_5_BYTES;
7411 return offset;
7415 /* IDL: struct { */
7416 /* IDL: uint32 idx; */
7417 /* IDL: uint32 rid; */
7418 /* IDL: samr_AcctFlags acct_flags; */
7419 /* IDL: lsa_String account_name; */
7420 /* IDL: lsa_String description; */
7421 /* IDL: lsa_String full_name; */
7422 /* IDL: } */
7424 static int
7425 samr_dissect_element_DispEntryGeneral_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7427 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryGeneral_idx, 0);
7429 return offset;
7432 static int
7433 samr_dissect_element_DispEntryGeneral_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7435 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
7437 return offset;
7440 static int
7441 samr_dissect_element_DispEntryGeneral_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7443 offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryGeneral_acct_flags, 0);
7445 return offset;
7448 static int
7449 samr_dissect_element_DispEntryGeneral_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7451 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryGeneral_account_name);
7453 return offset;
7456 static int
7457 samr_dissect_element_DispEntryGeneral_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7459 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryGeneral_description);
7461 return offset;
7464 static int
7465 samr_dissect_element_DispEntryGeneral_full_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7467 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryGeneral_full_name);
7469 return offset;
7473 samr_dissect_struct_DispEntryGeneral(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
7475 proto_item *item = NULL;
7476 proto_tree *tree = NULL;
7478 int old_offset;
7480 ALIGN_TO_5_BYTES;
7482 old_offset = offset;
7484 if (parent_tree) {
7485 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7486 tree = proto_item_add_subtree(item, ett_samr_samr_DispEntryGeneral);
7489 offset = samr_dissect_element_DispEntryGeneral_idx(tvb, offset, pinfo, tree, di, drep);
7491 offset = samr_dissect_element_DispEntryGeneral_rid(tvb, offset, pinfo, tree, di, drep);
7493 offset = samr_dissect_element_DispEntryGeneral_acct_flags(tvb, offset, pinfo, tree, di, drep);
7495 offset = samr_dissect_element_DispEntryGeneral_account_name(tvb, offset, pinfo, tree, di, drep);
7497 offset = samr_dissect_element_DispEntryGeneral_description(tvb, offset, pinfo, tree, di, drep);
7499 offset = samr_dissect_element_DispEntryGeneral_full_name(tvb, offset, pinfo, tree, di, drep);
7502 proto_item_set_len(item, offset-old_offset);
7505 if (di->call_data->flags & DCERPC_IS_NDR64) {
7506 ALIGN_TO_5_BYTES;
7509 return offset;
7513 /* IDL: struct { */
7514 /* IDL: uint32 count; */
7515 /* IDL: [unique(1)] [size_is(count)] samr_DispEntryGeneral *entries; */
7516 /* IDL: } */
7518 static int
7519 samr_dissect_element_DispInfoGeneral_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7521 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispInfoGeneral_count, 0);
7523 return offset;
7526 static int
7527 samr_dissect_element_DispInfoGeneral_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7529 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoGeneral_entries_, NDR_POINTER_UNIQUE, "Pointer to Entries (samr_DispEntryGeneral)",hf_samr_samr_DispInfoGeneral_entries);
7531 return offset;
7534 static int
7535 samr_dissect_element_DispInfoGeneral_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7537 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoGeneral_entries__);
7539 return offset;
7542 static int
7543 samr_dissect_element_DispInfoGeneral_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7545 offset = samr_dissect_struct_DispEntryGeneral(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfoGeneral_entries,0);
7547 return offset;
7551 samr_dissect_struct_DispInfoGeneral(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
7553 proto_item *item = NULL;
7554 proto_tree *tree = NULL;
7556 int old_offset;
7558 ALIGN_TO_5_BYTES;
7560 old_offset = offset;
7562 if (parent_tree) {
7563 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7564 tree = proto_item_add_subtree(item, ett_samr_samr_DispInfoGeneral);
7567 offset = samr_dissect_element_DispInfoGeneral_count(tvb, offset, pinfo, tree, di, drep);
7569 offset = samr_dissect_element_DispInfoGeneral_entries(tvb, offset, pinfo, tree, di, drep);
7572 proto_item_set_len(item, offset-old_offset);
7575 if (di->call_data->flags & DCERPC_IS_NDR64) {
7576 ALIGN_TO_5_BYTES;
7579 return offset;
7583 /* IDL: struct { */
7584 /* IDL: uint32 idx; */
7585 /* IDL: uint32 rid; */
7586 /* IDL: samr_AcctFlags acct_flags; */
7587 /* IDL: lsa_String account_name; */
7588 /* IDL: lsa_String description; */
7589 /* IDL: } */
7591 static int
7592 samr_dissect_element_DispEntryFull_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7594 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryFull_idx, 0);
7596 return offset;
7599 static int
7600 samr_dissect_element_DispEntryFull_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7602 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
7604 return offset;
7607 static int
7608 samr_dissect_element_DispEntryFull_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7610 offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryFull_acct_flags, 0);
7612 return offset;
7615 static int
7616 samr_dissect_element_DispEntryFull_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7618 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryFull_account_name);
7620 return offset;
7623 static int
7624 samr_dissect_element_DispEntryFull_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7626 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryFull_description);
7628 return offset;
7632 samr_dissect_struct_DispEntryFull(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
7634 proto_item *item = NULL;
7635 proto_tree *tree = NULL;
7637 int old_offset;
7639 ALIGN_TO_5_BYTES;
7641 old_offset = offset;
7643 if (parent_tree) {
7644 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7645 tree = proto_item_add_subtree(item, ett_samr_samr_DispEntryFull);
7648 offset = samr_dissect_element_DispEntryFull_idx(tvb, offset, pinfo, tree, di, drep);
7650 offset = samr_dissect_element_DispEntryFull_rid(tvb, offset, pinfo, tree, di, drep);
7652 offset = samr_dissect_element_DispEntryFull_acct_flags(tvb, offset, pinfo, tree, di, drep);
7654 offset = samr_dissect_element_DispEntryFull_account_name(tvb, offset, pinfo, tree, di, drep);
7656 offset = samr_dissect_element_DispEntryFull_description(tvb, offset, pinfo, tree, di, drep);
7659 proto_item_set_len(item, offset-old_offset);
7662 if (di->call_data->flags & DCERPC_IS_NDR64) {
7663 ALIGN_TO_5_BYTES;
7666 return offset;
7670 /* IDL: struct { */
7671 /* IDL: uint32 count; */
7672 /* IDL: [unique(1)] [size_is(count)] samr_DispEntryFull *entries; */
7673 /* IDL: } */
7675 static int
7676 samr_dissect_element_DispInfoFull_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7678 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispInfoFull_count, 0);
7680 return offset;
7683 static int
7684 samr_dissect_element_DispInfoFull_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7686 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoFull_entries_, NDR_POINTER_UNIQUE, "Pointer to Entries (samr_DispEntryFull)",hf_samr_samr_DispInfoFull_entries);
7688 return offset;
7691 static int
7692 samr_dissect_element_DispInfoFull_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7694 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoFull_entries__);
7696 return offset;
7699 static int
7700 samr_dissect_element_DispInfoFull_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7702 offset = samr_dissect_struct_DispEntryFull(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfoFull_entries,0);
7704 return offset;
7708 samr_dissect_struct_DispInfoFull(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
7710 proto_item *item = NULL;
7711 proto_tree *tree = NULL;
7713 int old_offset;
7715 ALIGN_TO_5_BYTES;
7717 old_offset = offset;
7719 if (parent_tree) {
7720 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7721 tree = proto_item_add_subtree(item, ett_samr_samr_DispInfoFull);
7724 offset = samr_dissect_element_DispInfoFull_count(tvb, offset, pinfo, tree, di, drep);
7726 offset = samr_dissect_element_DispInfoFull_entries(tvb, offset, pinfo, tree, di, drep);
7729 proto_item_set_len(item, offset-old_offset);
7732 if (di->call_data->flags & DCERPC_IS_NDR64) {
7733 ALIGN_TO_5_BYTES;
7736 return offset;
7740 /* IDL: struct { */
7741 /* IDL: uint32 idx; */
7742 /* IDL: uint32 rid; */
7743 /* IDL: samr_GroupAttrs acct_flags; */
7744 /* IDL: lsa_String account_name; */
7745 /* IDL: lsa_String description; */
7746 /* IDL: } */
7748 static int
7749 samr_dissect_element_DispEntryFullGroup_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7751 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryFullGroup_idx, 0);
7753 return offset;
7756 static int
7757 samr_dissect_element_DispEntryFullGroup_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7759 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
7761 return offset;
7764 static int
7765 samr_dissect_element_DispEntryFullGroup_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7767 offset = samr_dissect_bitmap_GroupAttrs(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryFullGroup_acct_flags, 0);
7769 return offset;
7772 static int
7773 samr_dissect_element_DispEntryFullGroup_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7775 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryFullGroup_account_name);
7777 return offset;
7780 static int
7781 samr_dissect_element_DispEntryFullGroup_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7783 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryFullGroup_description);
7785 return offset;
7789 samr_dissect_struct_DispEntryFullGroup(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
7791 proto_item *item = NULL;
7792 proto_tree *tree = NULL;
7794 int old_offset;
7796 ALIGN_TO_5_BYTES;
7798 old_offset = offset;
7800 if (parent_tree) {
7801 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7802 tree = proto_item_add_subtree(item, ett_samr_samr_DispEntryFullGroup);
7805 offset = samr_dissect_element_DispEntryFullGroup_idx(tvb, offset, pinfo, tree, di, drep);
7807 offset = samr_dissect_element_DispEntryFullGroup_rid(tvb, offset, pinfo, tree, di, drep);
7809 offset = samr_dissect_element_DispEntryFullGroup_acct_flags(tvb, offset, pinfo, tree, di, drep);
7811 offset = samr_dissect_element_DispEntryFullGroup_account_name(tvb, offset, pinfo, tree, di, drep);
7813 offset = samr_dissect_element_DispEntryFullGroup_description(tvb, offset, pinfo, tree, di, drep);
7816 proto_item_set_len(item, offset-old_offset);
7819 if (di->call_data->flags & DCERPC_IS_NDR64) {
7820 ALIGN_TO_5_BYTES;
7823 return offset;
7827 /* IDL: struct { */
7828 /* IDL: uint32 count; */
7829 /* IDL: [unique(1)] [size_is(count)] samr_DispEntryFullGroup *entries; */
7830 /* IDL: } */
7832 static int
7833 samr_dissect_element_DispInfoFullGroups_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7835 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispInfoFullGroups_count, 0);
7837 return offset;
7840 static int
7841 samr_dissect_element_DispInfoFullGroups_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7843 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoFullGroups_entries_, NDR_POINTER_UNIQUE, "Pointer to Entries (samr_DispEntryFullGroup)",hf_samr_samr_DispInfoFullGroups_entries);
7845 return offset;
7848 static int
7849 samr_dissect_element_DispInfoFullGroups_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7851 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoFullGroups_entries__);
7853 return offset;
7856 static int
7857 samr_dissect_element_DispInfoFullGroups_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7859 offset = samr_dissect_struct_DispEntryFullGroup(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfoFullGroups_entries,0);
7861 return offset;
7865 samr_dissect_struct_DispInfoFullGroups(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
7867 proto_item *item = NULL;
7868 proto_tree *tree = NULL;
7870 int old_offset;
7872 ALIGN_TO_5_BYTES;
7874 old_offset = offset;
7876 if (parent_tree) {
7877 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7878 tree = proto_item_add_subtree(item, ett_samr_samr_DispInfoFullGroups);
7881 offset = samr_dissect_element_DispInfoFullGroups_count(tvb, offset, pinfo, tree, di, drep);
7883 offset = samr_dissect_element_DispInfoFullGroups_entries(tvb, offset, pinfo, tree, di, drep);
7886 proto_item_set_len(item, offset-old_offset);
7889 if (di->call_data->flags & DCERPC_IS_NDR64) {
7890 ALIGN_TO_5_BYTES;
7893 return offset;
7897 /* IDL: struct { */
7898 /* IDL: uint32 idx; */
7899 /* IDL: lsa_AsciiStringLarge account_name; */
7900 /* IDL: } */
7902 static int
7903 samr_dissect_element_DispEntryAscii_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7905 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryAscii_idx, 0);
7907 return offset;
7910 static int
7911 samr_dissect_element_DispEntryAscii_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7913 offset=cnf_dissect_lsa_AsciiString(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryAscii_account_name);
7915 return offset;
7919 samr_dissect_struct_DispEntryAscii(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
7921 proto_item *item = NULL;
7922 proto_tree *tree = NULL;
7924 int old_offset;
7926 ALIGN_TO_5_BYTES;
7928 old_offset = offset;
7930 if (parent_tree) {
7931 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7932 tree = proto_item_add_subtree(item, ett_samr_samr_DispEntryAscii);
7935 offset = samr_dissect_element_DispEntryAscii_idx(tvb, offset, pinfo, tree, di, drep);
7937 offset = samr_dissect_element_DispEntryAscii_account_name(tvb, offset, pinfo, tree, di, drep);
7940 proto_item_set_len(item, offset-old_offset);
7943 if (di->call_data->flags & DCERPC_IS_NDR64) {
7944 ALIGN_TO_5_BYTES;
7947 return offset;
7951 /* IDL: struct { */
7952 /* IDL: uint32 count; */
7953 /* IDL: [unique(1)] [size_is(count)] samr_DispEntryAscii *entries; */
7954 /* IDL: } */
7956 static int
7957 samr_dissect_element_DispInfoAscii_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7959 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispInfoAscii_count, 0);
7961 return offset;
7964 static int
7965 samr_dissect_element_DispInfoAscii_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7967 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoAscii_entries_, NDR_POINTER_UNIQUE, "Pointer to Entries (samr_DispEntryAscii)",hf_samr_samr_DispInfoAscii_entries);
7969 return offset;
7972 static int
7973 samr_dissect_element_DispInfoAscii_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7975 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoAscii_entries__);
7977 return offset;
7980 static int
7981 samr_dissect_element_DispInfoAscii_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
7983 offset = samr_dissect_struct_DispEntryAscii(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfoAscii_entries,0);
7985 return offset;
7989 samr_dissect_struct_DispInfoAscii(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
7991 proto_item *item = NULL;
7992 proto_tree *tree = NULL;
7994 int old_offset;
7996 ALIGN_TO_5_BYTES;
7998 old_offset = offset;
8000 if (parent_tree) {
8001 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8002 tree = proto_item_add_subtree(item, ett_samr_samr_DispInfoAscii);
8005 offset = samr_dissect_element_DispInfoAscii_count(tvb, offset, pinfo, tree, di, drep);
8007 offset = samr_dissect_element_DispInfoAscii_entries(tvb, offset, pinfo, tree, di, drep);
8010 proto_item_set_len(item, offset-old_offset);
8013 if (di->call_data->flags & DCERPC_IS_NDR64) {
8014 ALIGN_TO_5_BYTES;
8017 return offset;
8021 /* IDL: enum { */
8022 /* IDL: SAMR_DOMAIN_DISPLAY_USER=1, */
8023 /* IDL: SAMR_DOMAIN_DISPLAY_MACHINE=2, */
8024 /* IDL: SAMR_DOMAIN_DISPLAY_GROUP=3, */
8025 /* IDL: SAMR_DOMAIN_DISPLAY_OEM_USER=4, */
8026 /* IDL: SAMR_DOMAIN_DISPLAY_OEM_GROUP=5, */
8027 /* IDL: } */
8030 samr_dissect_enum_DomainDisplayInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
8032 guint1632 parameter=0;
8033 if(param){
8034 parameter=(guint1632)*param;
8036 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
8037 if(param){
8038 *param=(guint32)parameter;
8040 return offset;
8044 /* IDL: [switch_type(uint16)] union { */
8045 /* IDL: [case(SAMR_DOMAIN_DISPLAY_USER)] [case(SAMR_DOMAIN_DISPLAY_USER)] samr_DispInfoGeneral info1; */
8046 /* IDL: [case(SAMR_DOMAIN_DISPLAY_MACHINE)] [case(SAMR_DOMAIN_DISPLAY_MACHINE)] samr_DispInfoFull info2; */
8047 /* IDL: [case(SAMR_DOMAIN_DISPLAY_GROUP)] [case(SAMR_DOMAIN_DISPLAY_GROUP)] samr_DispInfoFullGroups info3; */
8048 /* IDL: [case(SAMR_DOMAIN_DISPLAY_OEM_USER)] [case(SAMR_DOMAIN_DISPLAY_OEM_USER)] samr_DispInfoAscii info4; */
8049 /* IDL: [case(SAMR_DOMAIN_DISPLAY_OEM_GROUP)] [case(SAMR_DOMAIN_DISPLAY_OEM_GROUP)] samr_DispInfoAscii info5; */
8050 /* IDL: } */
8052 static int
8053 samr_dissect_element_DispInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8055 offset = samr_dissect_struct_DispInfoGeneral(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfo_info1,0);
8057 return offset;
8060 static int
8061 samr_dissect_element_DispInfo_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8063 offset = samr_dissect_struct_DispInfoFull(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfo_info2,0);
8065 return offset;
8068 static int
8069 samr_dissect_element_DispInfo_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8071 offset = samr_dissect_struct_DispInfoFullGroups(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfo_info3,0);
8073 return offset;
8076 static int
8077 samr_dissect_element_DispInfo_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8079 offset = samr_dissect_struct_DispInfoAscii(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfo_info4,0);
8081 return offset;
8084 static int
8085 samr_dissect_element_DispInfo_info5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8087 offset = samr_dissect_struct_DispInfoAscii(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfo_info5,0);
8089 return offset;
8092 static int
8093 samr_dissect_DispInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
8095 proto_item *item = NULL;
8096 proto_tree *tree = NULL;
8097 int old_offset;
8098 guint16 level;
8100 old_offset = offset;
8101 if (parent_tree) {
8102 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "samr_DispInfo");
8103 tree = proto_item_add_subtree(item, ett_samr_samr_DispInfo);
8106 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
8107 ALIGN_TO_5_BYTES;
8109 switch(level) {
8110 case SAMR_DOMAIN_DISPLAY_USER:
8111 offset = samr_dissect_element_DispInfo_info1(tvb, offset, pinfo, tree, di, drep);
8112 break;
8114 case SAMR_DOMAIN_DISPLAY_MACHINE:
8115 offset = samr_dissect_element_DispInfo_info2(tvb, offset, pinfo, tree, di, drep);
8116 break;
8118 case SAMR_DOMAIN_DISPLAY_GROUP:
8119 offset = samr_dissect_element_DispInfo_info3(tvb, offset, pinfo, tree, di, drep);
8120 break;
8122 case SAMR_DOMAIN_DISPLAY_OEM_USER:
8123 offset = samr_dissect_element_DispInfo_info4(tvb, offset, pinfo, tree, di, drep);
8124 break;
8126 case SAMR_DOMAIN_DISPLAY_OEM_GROUP:
8127 offset = samr_dissect_element_DispInfo_info5(tvb, offset, pinfo, tree, di, drep);
8128 break;
8130 proto_item_set_len(item, offset-old_offset);
8133 return offset;
8136 /* IDL: struct { */
8137 /* IDL: uint16 min_password_length; */
8138 /* IDL: samr_PasswordProperties password_properties; */
8139 /* IDL: } */
8141 static int
8142 samr_dissect_element_PwInfo_min_password_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8144 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_PwInfo_min_password_length, 0);
8146 return offset;
8149 static int
8150 samr_dissect_element_PwInfo_password_properties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8152 offset = samr_dissect_bitmap_PasswordProperties(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_PwInfo_password_properties, 0);
8154 return offset;
8158 samr_dissect_struct_PwInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
8160 proto_item *item = NULL;
8161 proto_tree *tree = NULL;
8163 int old_offset;
8165 ALIGN_TO_4_BYTES;
8167 old_offset = offset;
8169 if (parent_tree) {
8170 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8171 tree = proto_item_add_subtree(item, ett_samr_samr_PwInfo);
8174 offset = samr_dissect_element_PwInfo_min_password_length(tvb, offset, pinfo, tree, di, drep);
8176 offset = samr_dissect_element_PwInfo_password_properties(tvb, offset, pinfo, tree, di, drep);
8179 proto_item_set_len(item, offset-old_offset);
8182 if (di->call_data->flags & DCERPC_IS_NDR64) {
8183 ALIGN_TO_4_BYTES;
8186 return offset;
8190 /* IDL: enum { */
8191 /* IDL: SAMR_CONNECT_PRE_W2K=1, */
8192 /* IDL: SAMR_CONNECT_W2K=2, */
8193 /* IDL: SAMR_CONNECT_AFTER_W2K=3, */
8194 /* IDL: } */
8197 samr_dissect_enum_ConnectVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
8199 guint32 parameter=0;
8200 if(param){
8201 parameter=(guint32)*param;
8203 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
8204 if(param){
8205 *param=(guint32)parameter;
8207 return offset;
8211 /* IDL: struct { */
8212 /* IDL: samr_RejectReason reason; */
8213 /* IDL: uint32 unknown1; */
8214 /* IDL: uint32 unknown2; */
8215 /* IDL: } */
8217 static int
8218 samr_dissect_element_ChangeReject_reason(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8220 offset = samr_dissect_enum_RejectReason(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangeReject_reason, 0);
8222 return offset;
8225 static int
8226 samr_dissect_element_ChangeReject_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8228 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangeReject_unknown1, 0);
8230 return offset;
8233 static int
8234 samr_dissect_element_ChangeReject_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8236 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangeReject_unknown2, 0);
8238 return offset;
8242 samr_dissect_struct_ChangeReject(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
8244 proto_item *item = NULL;
8245 proto_tree *tree = NULL;
8247 int old_offset;
8249 ALIGN_TO_4_BYTES;
8251 old_offset = offset;
8253 if (parent_tree) {
8254 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8255 tree = proto_item_add_subtree(item, ett_samr_samr_ChangeReject);
8258 offset = samr_dissect_element_ChangeReject_reason(tvb, offset, pinfo, tree, di, drep);
8260 offset = samr_dissect_element_ChangeReject_unknown1(tvb, offset, pinfo, tree, di, drep);
8262 offset = samr_dissect_element_ChangeReject_unknown2(tvb, offset, pinfo, tree, di, drep);
8265 proto_item_set_len(item, offset-old_offset);
8268 if (di->call_data->flags & DCERPC_IS_NDR64) {
8269 ALIGN_TO_4_BYTES;
8272 return offset;
8276 /* IDL: struct { */
8277 /* IDL: samr_ConnectVersion client_version; */
8278 /* IDL: uint32 unknown2; */
8279 /* IDL: } */
8281 static int
8282 samr_dissect_element_ConnectInfo1_client_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8284 offset = samr_dissect_enum_ConnectVersion(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ConnectInfo1_client_version, 0);
8286 return offset;
8289 static int
8290 samr_dissect_element_ConnectInfo1_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8292 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ConnectInfo1_unknown2, 0);
8294 return offset;
8298 samr_dissect_struct_ConnectInfo1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
8300 proto_item *item = NULL;
8301 proto_tree *tree = NULL;
8303 int old_offset;
8305 ALIGN_TO_4_BYTES;
8307 old_offset = offset;
8309 if (parent_tree) {
8310 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8311 tree = proto_item_add_subtree(item, ett_samr_samr_ConnectInfo1);
8314 offset = samr_dissect_element_ConnectInfo1_client_version(tvb, offset, pinfo, tree, di, drep);
8316 offset = samr_dissect_element_ConnectInfo1_unknown2(tvb, offset, pinfo, tree, di, drep);
8319 proto_item_set_len(item, offset-old_offset);
8322 if (di->call_data->flags & DCERPC_IS_NDR64) {
8323 ALIGN_TO_4_BYTES;
8326 return offset;
8330 /* IDL: union { */
8331 /* IDL: [case(1)] [case(1)] samr_ConnectInfo1 info1; */
8332 /* IDL: } */
8334 static int
8335 samr_dissect_element_ConnectInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8337 offset = samr_dissect_struct_ConnectInfo1(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ConnectInfo_info1,0);
8339 return offset;
8342 static int
8343 samr_dissect_ConnectInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
8345 proto_item *item = NULL;
8346 proto_tree *tree = NULL;
8347 int old_offset;
8348 guint32 level;
8350 old_offset = offset;
8351 if (parent_tree) {
8352 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "samr_ConnectInfo");
8353 tree = proto_item_add_subtree(item, ett_samr_samr_ConnectInfo);
8356 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
8357 ALIGN_TO_4_BYTES;
8359 switch(level) {
8360 case 1:
8361 offset = samr_dissect_element_ConnectInfo_info1(tvb, offset, pinfo, tree, di, drep);
8362 break;
8364 proto_item_set_len(item, offset-old_offset);
8367 return offset;
8370 /* IDL: bitmap { */
8371 /* IDL: SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET = 0x00000001 , */
8372 /* IDL: SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME = 0x00000002 , */
8373 /* IDL: SAMR_VALIDATE_FIELD_LOCKOUT_TIME = 0x00000004 , */
8374 /* IDL: SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT = 0x00000008 , */
8375 /* IDL: SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH = 0x00000010 , */
8376 /* IDL: SAMR_VALIDATE_FIELD_PASSWORD_HISTORY = 0x00000020 , */
8377 /* IDL: } */
8380 samr_dissect_bitmap_ValidateFieldsPresent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
8382 proto_item *item = NULL;
8383 proto_tree *tree = NULL;
8385 guint32 flags;
8386 ALIGN_TO_4_BYTES;
8388 if (parent_tree) {
8389 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, 4, DREP_ENC_INTEGER(drep));
8390 tree = proto_item_add_subtree(item,ett_samr_samr_ValidateFieldsPresent);
8393 offset = dissect_ndr_uint32(tvb, offset, pinfo, NULL, di, drep, -1, &flags);
8394 proto_item_append_text(item, ": ");
8396 if (!flags)
8397 proto_item_append_text(item, "(No values set)");
8399 proto_tree_add_boolean(tree, hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET, tvb, offset-4, 4, flags);
8400 if (flags&( 0x00000001 )){
8401 proto_item_append_text(item, "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET");
8402 if (flags & (~( 0x00000001 )))
8403 proto_item_append_text(item, ", ");
8405 flags&=(~( 0x00000001 ));
8407 proto_tree_add_boolean(tree, hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME, tvb, offset-4, 4, flags);
8408 if (flags&( 0x00000002 )){
8409 proto_item_append_text(item, "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME");
8410 if (flags & (~( 0x00000002 )))
8411 proto_item_append_text(item, ", ");
8413 flags&=(~( 0x00000002 ));
8415 proto_tree_add_boolean(tree, hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_LOCKOUT_TIME, tvb, offset-4, 4, flags);
8416 if (flags&( 0x00000004 )){
8417 proto_item_append_text(item, "SAMR_VALIDATE_FIELD_LOCKOUT_TIME");
8418 if (flags & (~( 0x00000004 )))
8419 proto_item_append_text(item, ", ");
8421 flags&=(~( 0x00000004 ));
8423 proto_tree_add_boolean(tree, hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT, tvb, offset-4, 4, flags);
8424 if (flags&( 0x00000008 )){
8425 proto_item_append_text(item, "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT");
8426 if (flags & (~( 0x00000008 )))
8427 proto_item_append_text(item, ", ");
8429 flags&=(~( 0x00000008 ));
8431 proto_tree_add_boolean(tree, hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH, tvb, offset-4, 4, flags);
8432 if (flags&( 0x00000010 )){
8433 proto_item_append_text(item, "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH");
8434 if (flags & (~( 0x00000010 )))
8435 proto_item_append_text(item, ", ");
8437 flags&=(~( 0x00000010 ));
8439 proto_tree_add_boolean(tree, hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY, tvb, offset-4, 4, flags);
8440 if (flags&( 0x00000020 )){
8441 proto_item_append_text(item, "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY");
8442 if (flags & (~( 0x00000020 )))
8443 proto_item_append_text(item, ", ");
8445 flags&=(~( 0x00000020 ));
8447 if (flags) {
8448 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
8451 return offset;
8455 /* IDL: enum { */
8456 /* IDL: NetValidateAuthentication=1, */
8457 /* IDL: NetValidatePasswordChange=2, */
8458 /* IDL: NetValidatePasswordReset=3, */
8459 /* IDL: } */
8462 samr_dissect_enum_ValidatePasswordLevel(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
8464 guint1632 parameter=0;
8465 if(param){
8466 parameter=(guint1632)*param;
8468 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
8469 if(param){
8470 *param=(guint32)parameter;
8472 return offset;
8476 /* IDL: enum { */
8477 /* IDL: SAMR_VALIDATION_STATUS_SUCCESS=0, */
8478 /* IDL: SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE=1, */
8479 /* IDL: SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT=2, */
8480 /* IDL: SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED=3, */
8481 /* IDL: SAMR_VALIDATION_STATUS_BAD_PASSWORD=4, */
8482 /* IDL: SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT=5, */
8483 /* IDL: SAMR_VALIDATION_STATUS_PWD_TOO_SHORT=6, */
8484 /* IDL: SAMR_VALIDATION_STATUS_PWD_TOO_LONG=7, */
8485 /* IDL: SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH=8, */
8486 /* IDL: SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT=9, */
8487 /* IDL: SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR=10, */
8488 /* IDL: } */
8491 samr_dissect_enum_ValidationStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 *param _U_)
8493 guint1632 parameter=0;
8494 if(param){
8495 parameter=(guint1632)*param;
8497 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
8498 if(param){
8499 *param=(guint32)parameter;
8501 return offset;
8505 /* IDL: struct { */
8506 /* IDL: uint32 length; */
8507 /* IDL: [unique(1)] [size_is(length)] uint8 *data; */
8508 /* IDL: } */
8510 static int
8511 samr_dissect_element_ValidationBlob_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8513 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidationBlob_length, 0);
8515 return offset;
8518 static int
8519 samr_dissect_element_ValidationBlob_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8521 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ValidationBlob_data_, NDR_POINTER_UNIQUE, "Pointer to Data (uint8)",hf_samr_samr_ValidationBlob_data);
8523 return offset;
8526 static int
8527 samr_dissect_element_ValidationBlob_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8529 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ValidationBlob_data__);
8531 return offset;
8534 static int
8535 samr_dissect_element_ValidationBlob_data__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8537 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidationBlob_data, 0);
8539 return offset;
8543 samr_dissect_struct_ValidationBlob(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
8545 proto_item *item = NULL;
8546 proto_tree *tree = NULL;
8548 int old_offset;
8550 ALIGN_TO_5_BYTES;
8552 old_offset = offset;
8554 if (parent_tree) {
8555 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8556 tree = proto_item_add_subtree(item, ett_samr_samr_ValidationBlob);
8559 offset = samr_dissect_element_ValidationBlob_length(tvb, offset, pinfo, tree, di, drep);
8561 offset = samr_dissect_element_ValidationBlob_data(tvb, offset, pinfo, tree, di, drep);
8564 proto_item_set_len(item, offset-old_offset);
8567 if (di->call_data->flags & DCERPC_IS_NDR64) {
8568 ALIGN_TO_5_BYTES;
8571 return offset;
8575 /* IDL: struct { */
8576 /* IDL: samr_ValidateFieldsPresent fields_present; */
8577 /* IDL: NTTIME_hyper last_password_change; */
8578 /* IDL: NTTIME_hyper bad_password_time; */
8579 /* IDL: NTTIME_hyper lockout_time; */
8580 /* IDL: uint32 bad_pwd_count; */
8581 /* IDL: uint32 pwd_history_len; */
8582 /* IDL: [unique(1)] [size_is(pwd_history_len)] samr_ValidationBlob *pwd_history; */
8583 /* IDL: } */
8585 static int
8586 samr_dissect_element_ValidatePasswordInfo_fields_present(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8588 offset = samr_dissect_bitmap_ValidateFieldsPresent(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_fields_present, 0);
8590 return offset;
8593 static int
8594 samr_dissect_element_ValidatePasswordInfo_last_password_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8596 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_last_password_change);
8598 return offset;
8601 static int
8602 samr_dissect_element_ValidatePasswordInfo_bad_password_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8604 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_bad_password_time);
8606 return offset;
8609 static int
8610 samr_dissect_element_ValidatePasswordInfo_lockout_time(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8612 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_lockout_time);
8614 return offset;
8617 static int
8618 samr_dissect_element_ValidatePasswordInfo_bad_pwd_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8620 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_bad_pwd_count, 0);
8622 return offset;
8625 static int
8626 samr_dissect_element_ValidatePasswordInfo_pwd_history_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8628 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_pwd_history_len, 0);
8630 return offset;
8633 static int
8634 samr_dissect_element_ValidatePasswordInfo_pwd_history(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8636 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ValidatePasswordInfo_pwd_history_, NDR_POINTER_UNIQUE, "Pointer to Pwd History (samr_ValidationBlob)",hf_samr_samr_ValidatePasswordInfo_pwd_history);
8638 return offset;
8641 static int
8642 samr_dissect_element_ValidatePasswordInfo_pwd_history_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8644 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ValidatePasswordInfo_pwd_history__);
8646 return offset;
8649 static int
8650 samr_dissect_element_ValidatePasswordInfo_pwd_history__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8652 offset = samr_dissect_struct_ValidationBlob(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordInfo_pwd_history,0);
8654 return offset;
8658 samr_dissect_struct_ValidatePasswordInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
8660 proto_item *item = NULL;
8661 proto_tree *tree = NULL;
8663 int old_offset;
8665 ALIGN_TO_8_BYTES;
8667 old_offset = offset;
8669 if (parent_tree) {
8670 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8671 tree = proto_item_add_subtree(item, ett_samr_samr_ValidatePasswordInfo);
8674 offset = samr_dissect_element_ValidatePasswordInfo_fields_present(tvb, offset, pinfo, tree, di, drep);
8676 offset = samr_dissect_element_ValidatePasswordInfo_last_password_change(tvb, offset, pinfo, tree, di, drep);
8678 offset = samr_dissect_element_ValidatePasswordInfo_bad_password_time(tvb, offset, pinfo, tree, di, drep);
8680 offset = samr_dissect_element_ValidatePasswordInfo_lockout_time(tvb, offset, pinfo, tree, di, drep);
8682 offset = samr_dissect_element_ValidatePasswordInfo_bad_pwd_count(tvb, offset, pinfo, tree, di, drep);
8684 offset = samr_dissect_element_ValidatePasswordInfo_pwd_history_len(tvb, offset, pinfo, tree, di, drep);
8686 offset = samr_dissect_element_ValidatePasswordInfo_pwd_history(tvb, offset, pinfo, tree, di, drep);
8689 proto_item_set_len(item, offset-old_offset);
8692 if (di->call_data->flags & DCERPC_IS_NDR64) {
8693 ALIGN_TO_8_BYTES;
8696 return offset;
8700 /* IDL: struct { */
8701 /* IDL: samr_ValidatePasswordInfo info; */
8702 /* IDL: samr_ValidationStatus status; */
8703 /* IDL: } */
8705 static int
8706 samr_dissect_element_ValidatePasswordRepCtr_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8708 offset = samr_dissect_struct_ValidatePasswordInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordRepCtr_info,0);
8710 return offset;
8713 static int
8714 samr_dissect_element_ValidatePasswordRepCtr_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8716 offset = samr_dissect_enum_ValidationStatus(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordRepCtr_status, 0);
8718 return offset;
8722 samr_dissect_struct_ValidatePasswordRepCtr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
8724 proto_item *item = NULL;
8725 proto_tree *tree = NULL;
8727 int old_offset;
8729 ALIGN_TO_8_BYTES;
8731 old_offset = offset;
8733 if (parent_tree) {
8734 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8735 tree = proto_item_add_subtree(item, ett_samr_samr_ValidatePasswordRepCtr);
8738 offset = samr_dissect_element_ValidatePasswordRepCtr_info(tvb, offset, pinfo, tree, di, drep);
8740 offset = samr_dissect_element_ValidatePasswordRepCtr_status(tvb, offset, pinfo, tree, di, drep);
8743 proto_item_set_len(item, offset-old_offset);
8746 if (di->call_data->flags & DCERPC_IS_NDR64) {
8747 ALIGN_TO_8_BYTES;
8750 return offset;
8754 /* IDL: [switch_type(uint16)] union { */
8755 /* IDL: [case(1)] [case(1)] samr_ValidatePasswordRepCtr ctr1; */
8756 /* IDL: [case(2)] [case(2)] samr_ValidatePasswordRepCtr ctr2; */
8757 /* IDL: [case(3)] [case(3)] samr_ValidatePasswordRepCtr ctr3; */
8758 /* IDL: } */
8760 static int
8761 samr_dissect_element_ValidatePasswordRep_ctr1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8763 offset = samr_dissect_struct_ValidatePasswordRepCtr(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordRep_ctr1,0);
8765 return offset;
8768 static int
8769 samr_dissect_element_ValidatePasswordRep_ctr2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8771 offset = samr_dissect_struct_ValidatePasswordRepCtr(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordRep_ctr2,0);
8773 return offset;
8776 static int
8777 samr_dissect_element_ValidatePasswordRep_ctr3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8779 offset = samr_dissect_struct_ValidatePasswordRepCtr(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordRep_ctr3,0);
8781 return offset;
8784 static int
8785 samr_dissect_ValidatePasswordRep(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
8787 proto_item *item = NULL;
8788 proto_tree *tree = NULL;
8789 int old_offset;
8790 guint16 level;
8792 old_offset = offset;
8793 if (parent_tree) {
8794 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "samr_ValidatePasswordRep");
8795 tree = proto_item_add_subtree(item, ett_samr_samr_ValidatePasswordRep);
8798 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
8799 ALIGN_TO_8_BYTES;
8801 switch(level) {
8802 case 1:
8803 offset = samr_dissect_element_ValidatePasswordRep_ctr1(tvb, offset, pinfo, tree, di, drep);
8804 break;
8806 case 2:
8807 offset = samr_dissect_element_ValidatePasswordRep_ctr2(tvb, offset, pinfo, tree, di, drep);
8808 break;
8810 case 3:
8811 offset = samr_dissect_element_ValidatePasswordRep_ctr3(tvb, offset, pinfo, tree, di, drep);
8812 break;
8814 proto_item_set_len(item, offset-old_offset);
8817 return offset;
8820 /* IDL: struct { */
8821 /* IDL: samr_ValidatePasswordInfo info; */
8822 /* IDL: lsa_StringLarge password; */
8823 /* IDL: lsa_StringLarge account; */
8824 /* IDL: samr_ValidationBlob hash; */
8825 /* IDL: uint8 pwd_must_change_at_next_logon; */
8826 /* IDL: uint8 clear_lockout; */
8827 /* IDL: } */
8829 static int
8830 samr_dissect_element_ValidatePasswordReq3_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8832 offset = samr_dissect_struct_ValidatePasswordInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq3_info,0);
8834 return offset;
8837 static int
8838 samr_dissect_element_ValidatePasswordReq3_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8840 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ValidatePasswordReq3_password);
8842 return offset;
8845 static int
8846 samr_dissect_element_ValidatePasswordReq3_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8848 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ValidatePasswordReq3_account);
8850 return offset;
8853 static int
8854 samr_dissect_element_ValidatePasswordReq3_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8856 offset = samr_dissect_struct_ValidationBlob(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq3_hash,0);
8858 return offset;
8861 static int
8862 samr_dissect_element_ValidatePasswordReq3_pwd_must_change_at_next_logon(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8864 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordReq3_pwd_must_change_at_next_logon, 0);
8866 return offset;
8869 static int
8870 samr_dissect_element_ValidatePasswordReq3_clear_lockout(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8872 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordReq3_clear_lockout, 0);
8874 return offset;
8878 samr_dissect_struct_ValidatePasswordReq3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
8880 proto_item *item = NULL;
8881 proto_tree *tree = NULL;
8883 int old_offset;
8885 ALIGN_TO_8_BYTES;
8887 old_offset = offset;
8889 if (parent_tree) {
8890 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8891 tree = proto_item_add_subtree(item, ett_samr_samr_ValidatePasswordReq3);
8894 offset = samr_dissect_element_ValidatePasswordReq3_info(tvb, offset, pinfo, tree, di, drep);
8896 offset = samr_dissect_element_ValidatePasswordReq3_password(tvb, offset, pinfo, tree, di, drep);
8898 offset = samr_dissect_element_ValidatePasswordReq3_account(tvb, offset, pinfo, tree, di, drep);
8900 offset = samr_dissect_element_ValidatePasswordReq3_hash(tvb, offset, pinfo, tree, di, drep);
8902 offset = samr_dissect_element_ValidatePasswordReq3_pwd_must_change_at_next_logon(tvb, offset, pinfo, tree, di, drep);
8904 offset = samr_dissect_element_ValidatePasswordReq3_clear_lockout(tvb, offset, pinfo, tree, di, drep);
8907 proto_item_set_len(item, offset-old_offset);
8910 if (di->call_data->flags & DCERPC_IS_NDR64) {
8911 ALIGN_TO_8_BYTES;
8914 return offset;
8918 /* IDL: struct { */
8919 /* IDL: samr_ValidatePasswordInfo info; */
8920 /* IDL: lsa_StringLarge password; */
8921 /* IDL: lsa_StringLarge account; */
8922 /* IDL: samr_ValidationBlob hash; */
8923 /* IDL: uint8 password_matched; */
8924 /* IDL: } */
8926 static int
8927 samr_dissect_element_ValidatePasswordReq2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8929 offset = samr_dissect_struct_ValidatePasswordInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq2_info,0);
8931 return offset;
8934 static int
8935 samr_dissect_element_ValidatePasswordReq2_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8937 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ValidatePasswordReq2_password);
8939 return offset;
8942 static int
8943 samr_dissect_element_ValidatePasswordReq2_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8945 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ValidatePasswordReq2_account);
8947 return offset;
8950 static int
8951 samr_dissect_element_ValidatePasswordReq2_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8953 offset = samr_dissect_struct_ValidationBlob(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq2_hash,0);
8955 return offset;
8958 static int
8959 samr_dissect_element_ValidatePasswordReq2_password_matched(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
8961 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordReq2_password_matched, 0);
8963 return offset;
8967 samr_dissect_struct_ValidatePasswordReq2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
8969 proto_item *item = NULL;
8970 proto_tree *tree = NULL;
8972 int old_offset;
8974 ALIGN_TO_8_BYTES;
8976 old_offset = offset;
8978 if (parent_tree) {
8979 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8980 tree = proto_item_add_subtree(item, ett_samr_samr_ValidatePasswordReq2);
8983 offset = samr_dissect_element_ValidatePasswordReq2_info(tvb, offset, pinfo, tree, di, drep);
8985 offset = samr_dissect_element_ValidatePasswordReq2_password(tvb, offset, pinfo, tree, di, drep);
8987 offset = samr_dissect_element_ValidatePasswordReq2_account(tvb, offset, pinfo, tree, di, drep);
8989 offset = samr_dissect_element_ValidatePasswordReq2_hash(tvb, offset, pinfo, tree, di, drep);
8991 offset = samr_dissect_element_ValidatePasswordReq2_password_matched(tvb, offset, pinfo, tree, di, drep);
8994 proto_item_set_len(item, offset-old_offset);
8997 if (di->call_data->flags & DCERPC_IS_NDR64) {
8998 ALIGN_TO_8_BYTES;
9001 return offset;
9005 /* IDL: struct { */
9006 /* IDL: samr_ValidatePasswordInfo info; */
9007 /* IDL: uint8 password_matched; */
9008 /* IDL: } */
9010 static int
9011 samr_dissect_element_ValidatePasswordReq1_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9013 offset = samr_dissect_struct_ValidatePasswordInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq1_info,0);
9015 return offset;
9018 static int
9019 samr_dissect_element_ValidatePasswordReq1_password_matched(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9021 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordReq1_password_matched, 0);
9023 return offset;
9027 samr_dissect_struct_ValidatePasswordReq1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
9029 proto_item *item = NULL;
9030 proto_tree *tree = NULL;
9032 int old_offset;
9034 ALIGN_TO_8_BYTES;
9036 old_offset = offset;
9038 if (parent_tree) {
9039 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
9040 tree = proto_item_add_subtree(item, ett_samr_samr_ValidatePasswordReq1);
9043 offset = samr_dissect_element_ValidatePasswordReq1_info(tvb, offset, pinfo, tree, di, drep);
9045 offset = samr_dissect_element_ValidatePasswordReq1_password_matched(tvb, offset, pinfo, tree, di, drep);
9048 proto_item_set_len(item, offset-old_offset);
9051 if (di->call_data->flags & DCERPC_IS_NDR64) {
9052 ALIGN_TO_8_BYTES;
9055 return offset;
9059 /* IDL: [switch_type(uint16)] union { */
9060 /* IDL: [case(1)] [case(1)] samr_ValidatePasswordReq1 req1; */
9061 /* IDL: [case(2)] [case(2)] samr_ValidatePasswordReq2 req2; */
9062 /* IDL: [case(3)] [case(3)] samr_ValidatePasswordReq3 req3; */
9063 /* IDL: } */
9065 static int
9066 samr_dissect_element_ValidatePasswordReq_req1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9068 offset = samr_dissect_struct_ValidatePasswordReq1(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq_req1,0);
9070 return offset;
9073 static int
9074 samr_dissect_element_ValidatePasswordReq_req2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9076 offset = samr_dissect_struct_ValidatePasswordReq2(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq_req2,0);
9078 return offset;
9081 static int
9082 samr_dissect_element_ValidatePasswordReq_req3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9084 offset = samr_dissect_struct_ValidatePasswordReq3(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq_req3,0);
9086 return offset;
9089 static int
9090 samr_dissect_ValidatePasswordReq(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_)
9092 proto_item *item = NULL;
9093 proto_tree *tree = NULL;
9094 int old_offset;
9095 guint16 level;
9097 old_offset = offset;
9098 if (parent_tree) {
9099 item = proto_tree_add_text(parent_tree, tvb, offset, -1, "samr_ValidatePasswordReq");
9100 tree = proto_item_add_subtree(item, ett_samr_samr_ValidatePasswordReq);
9103 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
9104 ALIGN_TO_8_BYTES;
9106 switch(level) {
9107 case 1:
9108 offset = samr_dissect_element_ValidatePasswordReq_req1(tvb, offset, pinfo, tree, di, drep);
9109 break;
9111 case 2:
9112 offset = samr_dissect_element_ValidatePasswordReq_req2(tvb, offset, pinfo, tree, di, drep);
9113 break;
9115 case 3:
9116 offset = samr_dissect_element_ValidatePasswordReq_req3(tvb, offset, pinfo, tree, di, drep);
9117 break;
9119 proto_item_set_len(item, offset-old_offset);
9122 return offset;
9124 static int
9125 samr_dissect_element_Connect_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9127 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect_system_name_, NDR_POINTER_UNIQUE, "Pointer to System Name (uint16)",hf_samr_samr_Connect_system_name);
9129 return offset;
9132 static int
9133 samr_dissect_element_Connect_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9135 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect_system_name, 0);
9137 return offset;
9140 static int
9141 samr_dissect_element_Connect_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9143 offset = samr_dissect_bitmap_ConnectAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask, 0);
9145 return offset;
9148 static int
9149 samr_dissect_element_Connect_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9151 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
9153 return offset;
9156 static int
9157 samr_dissect_element_Connect_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9159 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_CONNECT);
9161 return offset;
9164 /* IDL: NTSTATUS samr_Connect( */
9165 /* IDL: [unique(1)] [in] uint16 *system_name, */
9166 /* IDL: [in] samr_ConnectAccessMask access_mask, */
9167 /* IDL: [out] [ref] policy_handle *connect_handle */
9168 /* IDL: ); */
9170 static int
9171 samr_dissect_Connect_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9173 guint32 status;
9175 pinfo->dcerpc_procedure_name="Connect";
9176 offset = samr_dissect_element_Connect_connect_handle(tvb, offset, pinfo, tree, di, drep);
9177 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9179 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9181 if (status != 0)
9182 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9184 return offset;
9187 static int
9188 samr_dissect_Connect_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9190 pinfo->dcerpc_procedure_name="Connect";
9191 offset = samr_dissect_element_Connect_system_name(tvb, offset, pinfo, tree, di, drep);
9192 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9193 offset = samr_dissect_element_Connect_access_mask(tvb, offset, pinfo, tree, di, drep);
9194 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9195 return offset;
9198 static int
9199 samr_dissect_element_Close_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9201 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Close_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_samr_handle);
9203 return offset;
9206 static int
9207 samr_dissect_element_Close_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9209 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_handle, PIDL_POLHND_CLOSE);
9211 return offset;
9214 /* IDL: NTSTATUS samr_Close( */
9215 /* IDL: [out] [in] [ref] policy_handle *handle */
9216 /* IDL: ); */
9218 static int
9219 samr_dissect_Close_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9221 guint32 status;
9223 pinfo->dcerpc_procedure_name="Close";
9224 offset = samr_dissect_element_Close_handle(tvb, offset, pinfo, tree, di, drep);
9225 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9227 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9229 if (status != 0)
9230 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9232 return offset;
9235 static int
9236 samr_dissect_Close_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9238 pinfo->dcerpc_procedure_name="Close";
9239 offset = samr_dissect_element_Close_handle(tvb, offset, pinfo, tree, di, drep);
9240 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9241 return offset;
9244 static int
9245 samr_dissect_element_SetSecurity_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9247 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetSecurity_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_samr_handle);
9249 return offset;
9252 static int
9253 samr_dissect_element_SetSecurity_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9255 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_handle, 0);
9257 return offset;
9260 static int
9261 samr_dissect_element_SetSecurity_sec_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9263 offset=cnf_dissect_samr_security_secinfo(tvb, offset, pinfo, tree, drep);
9265 return offset;
9268 static int
9269 samr_dissect_element_SetSecurity_sdbuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9271 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetSecurity_sdbuf_, NDR_POINTER_REF, "Pointer to Sdbuf (sec_desc_buf)",hf_samr_samr_SetSecurity_sdbuf);
9273 return offset;
9276 static int
9277 samr_dissect_element_SetSecurity_sdbuf_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9279 offset=cnf_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep);
9281 return offset;
9284 /* IDL: NTSTATUS samr_SetSecurity( */
9285 /* IDL: [in] [ref] policy_handle *handle, */
9286 /* IDL: [in] security_secinfo sec_info, */
9287 /* IDL: [in] [ref] sec_desc_buf *sdbuf */
9288 /* IDL: ); */
9290 static int
9291 samr_dissect_SetSecurity_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9293 guint32 status;
9295 pinfo->dcerpc_procedure_name="SetSecurity";
9296 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9298 if (status != 0)
9299 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9301 return offset;
9304 static int
9305 samr_dissect_SetSecurity_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9307 pinfo->dcerpc_procedure_name="SetSecurity";
9308 offset = samr_dissect_element_SetSecurity_handle(tvb, offset, pinfo, tree, di, drep);
9309 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9310 offset = samr_dissect_element_SetSecurity_sec_info(tvb, offset, pinfo, tree, di, drep);
9311 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9312 offset = samr_dissect_element_SetSecurity_sdbuf(tvb, offset, pinfo, tree, di, drep);
9313 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9314 return offset;
9317 static int
9318 samr_dissect_element_QuerySecurity_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9320 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QuerySecurity_handle_, NDR_POINTER_REF, "Pointer to Handle (policy_handle)",hf_samr_handle);
9322 return offset;
9325 static int
9326 samr_dissect_element_QuerySecurity_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9328 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_handle, 0);
9330 return offset;
9333 static int
9334 samr_dissect_element_QuerySecurity_sec_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9336 offset=cnf_dissect_samr_security_secinfo(tvb, offset, pinfo, tree, drep);
9338 return offset;
9341 static int
9342 samr_dissect_element_QuerySecurity_sdbuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9344 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QuerySecurity_sdbuf_, NDR_POINTER_REF, "Pointer to Sdbuf (sec_desc_buf)",hf_samr_samr_QuerySecurity_sdbuf);
9346 return offset;
9349 static int
9350 samr_dissect_element_QuerySecurity_sdbuf_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9352 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QuerySecurity_sdbuf__, NDR_POINTER_UNIQUE, "Pointer to Sdbuf (sec_desc_buf)",hf_samr_samr_QuerySecurity_sdbuf);
9354 return offset;
9357 static int
9358 samr_dissect_element_QuerySecurity_sdbuf__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9360 offset=cnf_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep);
9362 return offset;
9365 /* IDL: NTSTATUS samr_QuerySecurity( */
9366 /* IDL: [in] [ref] policy_handle *handle, */
9367 /* IDL: [in] security_secinfo sec_info, */
9368 /* IDL: [out] [ref] sec_desc_buf **sdbuf */
9369 /* IDL: ); */
9371 static int
9372 samr_dissect_QuerySecurity_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9374 guint32 status;
9376 pinfo->dcerpc_procedure_name="QuerySecurity";
9377 offset = samr_dissect_element_QuerySecurity_sdbuf(tvb, offset, pinfo, tree, di, drep);
9378 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9380 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9382 if (status != 0)
9383 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9385 return offset;
9388 static int
9389 samr_dissect_QuerySecurity_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9391 pinfo->dcerpc_procedure_name="QuerySecurity";
9392 offset = samr_dissect_element_QuerySecurity_handle(tvb, offset, pinfo, tree, di, drep);
9393 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9394 offset = samr_dissect_element_QuerySecurity_sec_info(tvb, offset, pinfo, tree, di, drep);
9395 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9396 return offset;
9399 static int
9400 samr_dissect_element_Shutdown_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9402 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Shutdown_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_samr_Shutdown_connect_handle);
9404 return offset;
9407 static int
9408 samr_dissect_element_Shutdown_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9410 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Shutdown_connect_handle, PIDL_POLHND_CLOSE);
9412 return offset;
9415 /* IDL: NTSTATUS samr_Shutdown( */
9416 /* IDL: [in] [ref] policy_handle *connect_handle */
9417 /* IDL: ); */
9419 static int
9420 samr_dissect_Shutdown_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9422 guint32 status;
9424 pinfo->dcerpc_procedure_name="Shutdown";
9425 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9427 if (status != 0)
9428 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9430 return offset;
9433 static int
9434 samr_dissect_Shutdown_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9436 pinfo->dcerpc_procedure_name="Shutdown";
9437 offset = samr_dissect_element_Shutdown_connect_handle(tvb, offset, pinfo, tree, di, drep);
9438 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9439 return offset;
9442 static int
9443 samr_dissect_element_LookupDomain_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9445 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupDomain_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
9447 return offset;
9450 static int
9451 samr_dissect_element_LookupDomain_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9453 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, 0);
9455 return offset;
9458 static int
9459 samr_dissect_element_LookupDomain_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9461 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupDomain_domain_name_, NDR_POINTER_REF, "Pointer to Domain Name (lsa_String)",hf_samr_samr_LookupDomain_domain_name);
9463 return offset;
9466 static int
9467 samr_dissect_element_LookupDomain_domain_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9469 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 3|PIDL_SET_COL_INFO, hf_samr_samr_LookupDomain_domain_name);
9471 return offset;
9474 static int
9475 samr_dissect_element_LookupDomain_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9477 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupDomain_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_samr_samr_LookupDomain_sid);
9479 return offset;
9482 static int
9483 samr_dissect_element_LookupDomain_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9485 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupDomain_sid__, NDR_POINTER_UNIQUE, "Pointer to Sid (dom_sid2)",hf_samr_samr_LookupDomain_sid);
9487 return offset;
9490 static int
9491 samr_dissect_element_LookupDomain_sid__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9493 offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
9495 return offset;
9498 /* IDL: NTSTATUS samr_LookupDomain( */
9499 /* IDL: [in] [ref] policy_handle *connect_handle, */
9500 /* IDL: [in] [ref] lsa_String *domain_name, */
9501 /* IDL: [out] [ref] dom_sid2 **sid */
9502 /* IDL: ); */
9504 static int
9505 samr_dissect_LookupDomain_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9507 guint32 status;
9509 pinfo->dcerpc_procedure_name="LookupDomain";
9510 offset = samr_dissect_element_LookupDomain_sid(tvb, offset, pinfo, tree, di, drep);
9511 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9513 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9515 if (status != 0)
9516 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9518 return offset;
9521 static int
9522 samr_dissect_LookupDomain_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9524 pinfo->dcerpc_procedure_name="LookupDomain";
9525 offset = samr_dissect_element_LookupDomain_connect_handle(tvb, offset, pinfo, tree, di, drep);
9526 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9527 offset = samr_dissect_element_LookupDomain_domain_name(tvb, offset, pinfo, tree, di, drep);
9528 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9529 return offset;
9532 static int
9533 samr_dissect_element_EnumDomains_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9535 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomains_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_samr_EnumDomains_connect_handle);
9537 return offset;
9540 static int
9541 samr_dissect_element_EnumDomains_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9543 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomains_connect_handle, 0);
9545 return offset;
9548 static int
9549 samr_dissect_element_EnumDomains_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9551 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomains_resume_handle_, NDR_POINTER_REF, "Pointer to Resume Handle (uint32)",hf_samr_samr_EnumDomains_resume_handle);
9553 return offset;
9556 static int
9557 samr_dissect_element_EnumDomains_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9559 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomains_resume_handle, 0);
9561 return offset;
9564 static int
9565 samr_dissect_element_EnumDomains_sam(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9567 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomains_sam_, NDR_POINTER_REF, "Pointer to Sam (samr_SamArray)",hf_samr_samr_EnumDomains_sam);
9569 return offset;
9572 static int
9573 samr_dissect_element_EnumDomains_sam_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9575 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomains_sam__, NDR_POINTER_UNIQUE, "Pointer to Sam (samr_SamArray)",hf_samr_samr_EnumDomains_sam);
9577 return offset;
9580 static int
9581 samr_dissect_element_EnumDomains_sam__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9583 offset = samr_dissect_struct_SamArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_EnumDomains_sam,0);
9585 return offset;
9588 static int
9589 samr_dissect_element_EnumDomains_buf_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9591 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomains_buf_size, 0);
9593 return offset;
9596 static int
9597 samr_dissect_element_EnumDomains_num_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9599 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomains_num_entries_, NDR_POINTER_REF, "Pointer to Num Entries (uint32)",hf_samr_samr_EnumDomains_num_entries);
9601 return offset;
9604 static int
9605 samr_dissect_element_EnumDomains_num_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9607 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomains_num_entries, 0);
9609 return offset;
9612 /* IDL: NTSTATUS samr_EnumDomains( */
9613 /* IDL: [in] [ref] policy_handle *connect_handle, */
9614 /* IDL: [out] [in] [ref] uint32 *resume_handle, */
9615 /* IDL: [out] [ref] samr_SamArray **sam, */
9616 /* IDL: [in] uint32 buf_size, */
9617 /* IDL: [out] [ref] uint32 *num_entries */
9618 /* IDL: ); */
9620 static int
9621 samr_dissect_EnumDomains_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9623 guint32 status;
9625 pinfo->dcerpc_procedure_name="EnumDomains";
9626 offset = samr_dissect_element_EnumDomains_resume_handle(tvb, offset, pinfo, tree, di, drep);
9627 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9629 offset = samr_dissect_element_EnumDomains_sam(tvb, offset, pinfo, tree, di, drep);
9630 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9632 offset = samr_dissect_element_EnumDomains_num_entries(tvb, offset, pinfo, tree, di, drep);
9633 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9635 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9637 if (status != 0)
9638 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9640 return offset;
9643 static int
9644 samr_dissect_EnumDomains_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9646 pinfo->dcerpc_procedure_name="EnumDomains";
9647 offset = samr_dissect_element_EnumDomains_connect_handle(tvb, offset, pinfo, tree, di, drep);
9648 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9649 offset = samr_dissect_element_EnumDomains_resume_handle(tvb, offset, pinfo, tree, di, drep);
9650 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9651 offset = samr_dissect_element_EnumDomains_buf_size(tvb, offset, pinfo, tree, di, drep);
9652 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9653 return offset;
9656 static int
9657 samr_dissect_element_OpenDomain_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9659 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenDomain_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
9661 return offset;
9664 static int
9665 samr_dissect_element_OpenDomain_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9667 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, 0);
9669 return offset;
9672 static int
9673 samr_dissect_element_OpenDomain_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9675 offset = samr_dissect_bitmap_DomainAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_access_mask, 0);
9677 return offset;
9680 static int
9681 samr_dissect_element_OpenDomain_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9683 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenDomain_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_samr_samr_OpenDomain_sid);
9685 return offset;
9688 static int
9689 samr_dissect_element_OpenDomain_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9691 offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
9693 return offset;
9696 static int
9697 samr_dissect_element_OpenDomain_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9699 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenDomain_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
9701 return offset;
9704 static int
9705 samr_dissect_element_OpenDomain_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9707 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_DOMAIN);
9709 return offset;
9712 /* IDL: NTSTATUS samr_OpenDomain( */
9713 /* IDL: [in] [ref] policy_handle *connect_handle, */
9714 /* IDL: [in] samr_DomainAccessMask access_mask, */
9715 /* IDL: [in] [ref] dom_sid2 *sid, */
9716 /* IDL: [out] [ref] policy_handle *domain_handle */
9717 /* IDL: ); */
9719 static int
9720 samr_dissect_OpenDomain_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9722 guint32 status;
9724 pinfo->dcerpc_procedure_name="OpenDomain";
9725 offset = samr_dissect_element_OpenDomain_domain_handle(tvb, offset, pinfo, tree, di, drep);
9726 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9728 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9730 if (status != 0)
9731 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9733 return offset;
9736 static int
9737 samr_dissect_OpenDomain_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9739 pinfo->dcerpc_procedure_name="OpenDomain";
9740 offset = samr_dissect_element_OpenDomain_connect_handle(tvb, offset, pinfo, tree, di, drep);
9741 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9742 offset = samr_dissect_element_OpenDomain_access_mask(tvb, offset, pinfo, tree, di, drep);
9743 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9744 offset = samr_dissect_element_OpenDomain_sid(tvb, offset, pinfo, tree, di, drep);
9745 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9746 return offset;
9749 static int
9750 samr_dissect_element_QueryDomainInfo_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9752 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDomainInfo_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
9754 return offset;
9757 static int
9758 samr_dissect_element_QueryDomainInfo_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9760 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
9762 return offset;
9765 static int
9766 samr_dissect_element_QueryDomainInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9768 offset = samr_dissect_enum_DomainInfoClass(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDomainInfo_level, 0);
9770 return offset;
9773 static int
9774 samr_dissect_element_QueryDomainInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9776 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDomainInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_DomainInfo)",hf_samr_samr_QueryDomainInfo_info);
9778 return offset;
9781 static int
9782 samr_dissect_element_QueryDomainInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9784 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDomainInfo_info__, NDR_POINTER_UNIQUE, "Pointer to Info (samr_DomainInfo)",hf_samr_samr_QueryDomainInfo_info);
9786 return offset;
9789 static int
9790 samr_dissect_element_QueryDomainInfo_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9792 offset = samr_dissect_DomainInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDomainInfo_info, 0);
9794 return offset;
9797 /* IDL: NTSTATUS samr_QueryDomainInfo( */
9798 /* IDL: [in] [ref] policy_handle *domain_handle, */
9799 /* IDL: [in] samr_DomainInfoClass level, */
9800 /* IDL: [out] [ref] [switch_is(level)] samr_DomainInfo **info */
9801 /* IDL: ); */
9803 static int
9804 samr_dissect_QueryDomainInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9806 guint32 status;
9808 pinfo->dcerpc_procedure_name="QueryDomainInfo";
9809 offset = samr_dissect_element_QueryDomainInfo_info(tvb, offset, pinfo, tree, di, drep);
9810 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9812 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9814 if (status != 0)
9815 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9817 return offset;
9820 static int
9821 samr_dissect_QueryDomainInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9823 pinfo->dcerpc_procedure_name="QueryDomainInfo";
9824 offset = samr_dissect_element_QueryDomainInfo_domain_handle(tvb, offset, pinfo, tree, di, drep);
9825 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9826 offset = samr_dissect_element_QueryDomainInfo_level(tvb, offset, pinfo, tree, di, drep);
9827 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9828 return offset;
9831 static int
9832 samr_dissect_element_SetDomainInfo_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9834 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetDomainInfo_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
9836 return offset;
9839 static int
9840 samr_dissect_element_SetDomainInfo_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9842 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
9844 return offset;
9847 static int
9848 samr_dissect_element_SetDomainInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9850 offset = samr_dissect_enum_DomainInfoClass(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetDomainInfo_level, 0);
9852 return offset;
9855 static int
9856 samr_dissect_element_SetDomainInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9858 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetDomainInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_DomainInfo)",hf_samr_samr_SetDomainInfo_info);
9860 return offset;
9863 static int
9864 samr_dissect_element_SetDomainInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9866 offset = samr_dissect_DomainInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetDomainInfo_info, 0);
9868 return offset;
9871 /* IDL: NTSTATUS samr_SetDomainInfo( */
9872 /* IDL: [in] [ref] policy_handle *domain_handle, */
9873 /* IDL: [in] samr_DomainInfoClass level, */
9874 /* IDL: [in] [ref] [switch_is(level)] samr_DomainInfo *info */
9875 /* IDL: ); */
9877 static int
9878 samr_dissect_SetDomainInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9880 guint32 status;
9882 pinfo->dcerpc_procedure_name="SetDomainInfo";
9883 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9885 if (status != 0)
9886 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
9888 return offset;
9891 static int
9892 samr_dissect_SetDomainInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9894 pinfo->dcerpc_procedure_name="SetDomainInfo";
9895 offset = samr_dissect_element_SetDomainInfo_domain_handle(tvb, offset, pinfo, tree, di, drep);
9896 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9897 offset = samr_dissect_element_SetDomainInfo_level(tvb, offset, pinfo, tree, di, drep);
9898 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9899 offset = samr_dissect_element_SetDomainInfo_info(tvb, offset, pinfo, tree, di, drep);
9900 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9901 return offset;
9904 static int
9905 samr_dissect_element_CreateDomainGroup_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9907 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateDomainGroup_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
9909 return offset;
9912 static int
9913 samr_dissect_element_CreateDomainGroup_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9915 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
9917 return offset;
9920 static int
9921 samr_dissect_element_CreateDomainGroup_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9923 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateDomainGroup_name_, NDR_POINTER_REF, "Pointer to Name (lsa_String)",hf_samr_samr_CreateDomainGroup_name);
9925 return offset;
9928 static int
9929 samr_dissect_element_CreateDomainGroup_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9931 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_CreateDomainGroup_name);
9933 return offset;
9936 static int
9937 samr_dissect_element_CreateDomainGroup_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9939 offset = samr_dissect_bitmap_GroupAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_group_access_mask, 0);
9941 return offset;
9944 static int
9945 samr_dissect_element_CreateDomainGroup_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9947 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateDomainGroup_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
9949 return offset;
9952 static int
9953 samr_dissect_element_CreateDomainGroup_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9955 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_GROUP);
9957 return offset;
9960 static int
9961 samr_dissect_element_CreateDomainGroup_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9963 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateDomainGroup_rid_, NDR_POINTER_REF, "Pointer to Rid (uint32)",hf_samr_rid);
9965 return offset;
9968 static int
9969 samr_dissect_element_CreateDomainGroup_rid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9971 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
9973 return offset;
9976 /* IDL: NTSTATUS samr_CreateDomainGroup( */
9977 /* IDL: [in] [ref] policy_handle *domain_handle, */
9978 /* IDL: [in] [ref] lsa_String *name, */
9979 /* IDL: [in] samr_GroupAccessMask access_mask, */
9980 /* IDL: [out] [ref] policy_handle *group_handle, */
9981 /* IDL: [out] [ref] uint32 *rid */
9982 /* IDL: ); */
9984 static int
9985 samr_dissect_CreateDomainGroup_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
9987 guint32 status;
9989 pinfo->dcerpc_procedure_name="CreateDomainGroup";
9990 offset = samr_dissect_element_CreateDomainGroup_group_handle(tvb, offset, pinfo, tree, di, drep);
9991 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9993 offset = samr_dissect_element_CreateDomainGroup_rid(tvb, offset, pinfo, tree, di, drep);
9994 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9996 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9998 if (status != 0)
9999 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10001 return offset;
10004 static int
10005 samr_dissect_CreateDomainGroup_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10007 pinfo->dcerpc_procedure_name="CreateDomainGroup";
10008 offset = samr_dissect_element_CreateDomainGroup_domain_handle(tvb, offset, pinfo, tree, di, drep);
10009 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10010 offset = samr_dissect_element_CreateDomainGroup_name(tvb, offset, pinfo, tree, di, drep);
10011 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10012 offset = samr_dissect_element_CreateDomainGroup_access_mask(tvb, offset, pinfo, tree, di, drep);
10013 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10014 return offset;
10017 static int
10018 samr_dissect_element_EnumDomainGroups_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10020 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainGroups_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
10022 return offset;
10025 static int
10026 samr_dissect_element_EnumDomainGroups_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10028 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10030 return offset;
10033 static int
10034 samr_dissect_element_EnumDomainGroups_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10036 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainGroups_resume_handle_, NDR_POINTER_REF, "Pointer to Resume Handle (uint32)",hf_samr_samr_EnumDomainGroups_resume_handle);
10038 return offset;
10041 static int
10042 samr_dissect_element_EnumDomainGroups_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10044 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainGroups_resume_handle, 0);
10046 return offset;
10049 static int
10050 samr_dissect_element_EnumDomainGroups_sam(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10052 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainGroups_sam_, NDR_POINTER_REF, "Pointer to Sam (samr_SamArray)",hf_samr_samr_EnumDomainGroups_sam);
10054 return offset;
10057 static int
10058 samr_dissect_element_EnumDomainGroups_sam_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10060 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainGroups_sam__, NDR_POINTER_UNIQUE, "Pointer to Sam (samr_SamArray)",hf_samr_samr_EnumDomainGroups_sam);
10062 return offset;
10065 static int
10066 samr_dissect_element_EnumDomainGroups_sam__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10068 offset = samr_dissect_struct_SamArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_EnumDomainGroups_sam,0);
10070 return offset;
10073 static int
10074 samr_dissect_element_EnumDomainGroups_max_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10076 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainGroups_max_size, 0);
10078 return offset;
10081 static int
10082 samr_dissect_element_EnumDomainGroups_num_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10084 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainGroups_num_entries_, NDR_POINTER_REF, "Pointer to Num Entries (uint32)",hf_samr_samr_EnumDomainGroups_num_entries);
10086 return offset;
10089 static int
10090 samr_dissect_element_EnumDomainGroups_num_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10092 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainGroups_num_entries, 0);
10094 return offset;
10097 /* IDL: NTSTATUS samr_EnumDomainGroups( */
10098 /* IDL: [ref] [in] policy_handle *domain_handle, */
10099 /* IDL: [out] [in] [ref] uint32 *resume_handle, */
10100 /* IDL: [out] [ref] samr_SamArray **sam, */
10101 /* IDL: [in] uint32 max_size, */
10102 /* IDL: [out] [ref] uint32 *num_entries */
10103 /* IDL: ); */
10105 static int
10106 samr_dissect_EnumDomainGroups_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10108 guint32 status;
10110 pinfo->dcerpc_procedure_name="EnumDomainGroups";
10111 offset = samr_dissect_element_EnumDomainGroups_resume_handle(tvb, offset, pinfo, tree, di, drep);
10112 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10114 offset = samr_dissect_element_EnumDomainGroups_sam(tvb, offset, pinfo, tree, di, drep);
10115 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10117 offset = samr_dissect_element_EnumDomainGroups_num_entries(tvb, offset, pinfo, tree, di, drep);
10118 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10120 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10122 if (status != 0)
10123 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10125 return offset;
10128 static int
10129 samr_dissect_EnumDomainGroups_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10131 pinfo->dcerpc_procedure_name="EnumDomainGroups";
10132 offset = samr_dissect_element_EnumDomainGroups_domain_handle(tvb, offset, pinfo, tree, di, drep);
10133 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10134 offset = samr_dissect_element_EnumDomainGroups_resume_handle(tvb, offset, pinfo, tree, di, drep);
10135 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10136 offset = samr_dissect_element_EnumDomainGroups_max_size(tvb, offset, pinfo, tree, di, drep);
10137 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10138 return offset;
10141 static int
10142 samr_dissect_element_CreateUser_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10144 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
10146 return offset;
10149 static int
10150 samr_dissect_element_CreateUser_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10152 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10154 return offset;
10157 static int
10158 samr_dissect_element_CreateUser_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10160 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser_account_name_, NDR_POINTER_REF, "Pointer to Account Name (lsa_String)",hf_samr_samr_CreateUser_account_name);
10162 return offset;
10165 static int
10166 samr_dissect_element_CreateUser_account_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10168 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 3|PIDL_SET_COL_INFO|PIDL_STR_SAVE, hf_samr_samr_CreateUser_account_name);
10170 return offset;
10173 static int
10174 samr_dissect_element_CreateUser_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10176 offset = samr_dissect_bitmap_UserAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_user_access_mask, 0);
10178 return offset;
10181 static int
10182 samr_dissect_element_CreateUser_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10184 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
10186 return offset;
10189 static int
10190 samr_dissect_element_CreateUser_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10192 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_USER);
10194 return offset;
10197 static int
10198 samr_dissect_element_CreateUser_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10200 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser_rid_, NDR_POINTER_REF, "Pointer to Rid (uint32)",hf_samr_rid);
10202 return offset;
10205 static int
10206 samr_dissect_element_CreateUser_rid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10208 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
10210 return offset;
10213 /* IDL: NTSTATUS samr_CreateUser( */
10214 /* IDL: [in] [ref] policy_handle *domain_handle, */
10215 /* IDL: [in] [ref] lsa_String *account_name, */
10216 /* IDL: [in] samr_UserAccessMask access_mask, */
10217 /* IDL: [out] [ref] policy_handle *user_handle, */
10218 /* IDL: [out] [ref] uint32 *rid */
10219 /* IDL: ); */
10221 static int
10222 samr_dissect_CreateUser_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10224 guint32 status;
10226 pinfo->dcerpc_procedure_name="CreateUser";
10227 offset = samr_dissect_element_CreateUser_user_handle(tvb, offset, pinfo, tree, di, drep);
10228 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10230 offset = samr_dissect_element_CreateUser_rid(tvb, offset, pinfo, tree, di, drep);
10231 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10233 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10235 if (status != 0)
10236 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10238 return offset;
10241 static int
10242 samr_dissect_CreateUser_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10244 pinfo->dcerpc_procedure_name="CreateUser";
10245 offset = samr_dissect_element_CreateUser_domain_handle(tvb, offset, pinfo, tree, di, drep);
10246 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10247 offset = samr_dissect_element_CreateUser_account_name(tvb, offset, pinfo, tree, di, drep);
10248 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10249 offset = samr_dissect_element_CreateUser_access_mask(tvb, offset, pinfo, tree, di, drep);
10250 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10251 return offset;
10254 static int
10255 samr_dissect_element_EnumDomainUsers_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10257 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainUsers_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
10259 return offset;
10262 static int
10263 samr_dissect_element_EnumDomainUsers_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10265 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10267 return offset;
10270 static int
10271 samr_dissect_element_EnumDomainUsers_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10273 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainUsers_resume_handle_, NDR_POINTER_REF, "Pointer to Resume Handle (uint32)",hf_samr_samr_EnumDomainUsers_resume_handle);
10275 return offset;
10278 static int
10279 samr_dissect_element_EnumDomainUsers_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10281 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainUsers_resume_handle, 0);
10283 return offset;
10286 static int
10287 samr_dissect_element_EnumDomainUsers_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10289 offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainUsers_acct_flags, 0);
10291 return offset;
10294 static int
10295 samr_dissect_element_EnumDomainUsers_sam(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10297 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainUsers_sam_, NDR_POINTER_REF, "Pointer to Sam (samr_SamArray)",hf_samr_samr_EnumDomainUsers_sam);
10299 return offset;
10302 static int
10303 samr_dissect_element_EnumDomainUsers_sam_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10305 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainUsers_sam__, NDR_POINTER_UNIQUE, "Pointer to Sam (samr_SamArray)",hf_samr_samr_EnumDomainUsers_sam);
10307 return offset;
10310 static int
10311 samr_dissect_element_EnumDomainUsers_sam__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10313 offset = samr_dissect_struct_SamArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_EnumDomainUsers_sam,0);
10315 return offset;
10318 static int
10319 samr_dissect_element_EnumDomainUsers_max_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10321 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainUsers_max_size, 0);
10323 return offset;
10326 static int
10327 samr_dissect_element_EnumDomainUsers_num_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10329 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainUsers_num_entries_, NDR_POINTER_REF, "Pointer to Num Entries (uint32)",hf_samr_samr_EnumDomainUsers_num_entries);
10331 return offset;
10334 static int
10335 samr_dissect_element_EnumDomainUsers_num_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10337 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainUsers_num_entries, 0);
10339 return offset;
10342 /* IDL: NTSTATUS samr_EnumDomainUsers( */
10343 /* IDL: [ref] [in] policy_handle *domain_handle, */
10344 /* IDL: [out] [in] [ref] uint32 *resume_handle, */
10345 /* IDL: [in] samr_AcctFlags acct_flags, */
10346 /* IDL: [out] [ref] samr_SamArray **sam, */
10347 /* IDL: [in] uint32 max_size, */
10348 /* IDL: [out] [ref] uint32 *num_entries */
10349 /* IDL: ); */
10351 static int
10352 samr_dissect_EnumDomainUsers_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10354 guint32 status;
10356 pinfo->dcerpc_procedure_name="EnumDomainUsers";
10357 offset = samr_dissect_element_EnumDomainUsers_resume_handle(tvb, offset, pinfo, tree, di, drep);
10358 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10360 offset = samr_dissect_element_EnumDomainUsers_sam(tvb, offset, pinfo, tree, di, drep);
10361 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10363 offset = samr_dissect_element_EnumDomainUsers_num_entries(tvb, offset, pinfo, tree, di, drep);
10364 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10366 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10368 if (status != 0)
10369 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10371 return offset;
10374 static int
10375 samr_dissect_EnumDomainUsers_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10377 pinfo->dcerpc_procedure_name="EnumDomainUsers";
10378 offset = samr_dissect_element_EnumDomainUsers_domain_handle(tvb, offset, pinfo, tree, di, drep);
10379 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10380 offset = samr_dissect_element_EnumDomainUsers_resume_handle(tvb, offset, pinfo, tree, di, drep);
10381 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10382 offset = samr_dissect_element_EnumDomainUsers_acct_flags(tvb, offset, pinfo, tree, di, drep);
10383 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10384 offset = samr_dissect_element_EnumDomainUsers_max_size(tvb, offset, pinfo, tree, di, drep);
10385 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10386 return offset;
10389 static int
10390 samr_dissect_element_CreateDomAlias_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10392 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateDomAlias_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
10394 return offset;
10397 static int
10398 samr_dissect_element_CreateDomAlias_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10400 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10402 return offset;
10405 static int
10406 samr_dissect_element_CreateDomAlias_alias_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10408 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateDomAlias_alias_name_, NDR_POINTER_REF, "Pointer to Alias Name (lsa_String)",hf_samr_samr_CreateDomAlias_alias_name);
10410 return offset;
10413 static int
10414 samr_dissect_element_CreateDomAlias_alias_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10416 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_CreateDomAlias_alias_name);
10418 return offset;
10421 static int
10422 samr_dissect_element_CreateDomAlias_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10424 offset = samr_dissect_bitmap_AliasAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_access_mask, 0);
10426 return offset;
10429 static int
10430 samr_dissect_element_CreateDomAlias_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10432 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateDomAlias_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
10434 return offset;
10437 static int
10438 samr_dissect_element_CreateDomAlias_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10440 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_ALIAS);
10442 return offset;
10445 static int
10446 samr_dissect_element_CreateDomAlias_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10448 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateDomAlias_rid_, NDR_POINTER_REF, "Pointer to Rid (uint32)",hf_samr_rid);
10450 return offset;
10453 static int
10454 samr_dissect_element_CreateDomAlias_rid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10456 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
10458 return offset;
10461 /* IDL: NTSTATUS samr_CreateDomAlias( */
10462 /* IDL: [in] [ref] policy_handle *domain_handle, */
10463 /* IDL: [in] [ref] lsa_String *alias_name, */
10464 /* IDL: [in] samr_AliasAccessMask access_mask, */
10465 /* IDL: [out] [ref] policy_handle *alias_handle, */
10466 /* IDL: [out] [ref] uint32 *rid */
10467 /* IDL: ); */
10469 static int
10470 samr_dissect_CreateDomAlias_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10472 guint32 status;
10474 pinfo->dcerpc_procedure_name="CreateDomAlias";
10475 offset = samr_dissect_element_CreateDomAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
10476 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10478 offset = samr_dissect_element_CreateDomAlias_rid(tvb, offset, pinfo, tree, di, drep);
10479 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10481 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10483 if (status != 0)
10484 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10486 return offset;
10489 static int
10490 samr_dissect_CreateDomAlias_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10492 pinfo->dcerpc_procedure_name="CreateDomAlias";
10493 offset = samr_dissect_element_CreateDomAlias_domain_handle(tvb, offset, pinfo, tree, di, drep);
10494 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10495 offset = samr_dissect_element_CreateDomAlias_alias_name(tvb, offset, pinfo, tree, di, drep);
10496 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10497 offset = samr_dissect_element_CreateDomAlias_access_mask(tvb, offset, pinfo, tree, di, drep);
10498 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10499 return offset;
10502 static int
10503 samr_dissect_element_EnumDomainAliases_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10505 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainAliases_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
10507 return offset;
10510 static int
10511 samr_dissect_element_EnumDomainAliases_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10513 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10515 return offset;
10518 static int
10519 samr_dissect_element_EnumDomainAliases_resume_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10521 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainAliases_resume_handle_, NDR_POINTER_REF, "Pointer to Resume Handle (uint32)",hf_samr_samr_EnumDomainAliases_resume_handle);
10523 return offset;
10526 static int
10527 samr_dissect_element_EnumDomainAliases_resume_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10529 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainAliases_resume_handle, 0);
10531 return offset;
10534 static int
10535 samr_dissect_element_EnumDomainAliases_sam(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10537 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainAliases_sam_, NDR_POINTER_REF, "Pointer to Sam (samr_SamArray)",hf_samr_samr_EnumDomainAliases_sam);
10539 return offset;
10542 static int
10543 samr_dissect_element_EnumDomainAliases_sam_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10545 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainAliases_sam__, NDR_POINTER_UNIQUE, "Pointer to Sam (samr_SamArray)",hf_samr_samr_EnumDomainAliases_sam);
10547 return offset;
10550 static int
10551 samr_dissect_element_EnumDomainAliases_sam__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10553 offset = samr_dissect_struct_SamArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_EnumDomainAliases_sam,0);
10555 return offset;
10558 static int
10559 samr_dissect_element_EnumDomainAliases_max_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10561 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainAliases_max_size, 0);
10563 return offset;
10566 static int
10567 samr_dissect_element_EnumDomainAliases_num_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10569 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EnumDomainAliases_num_entries_, NDR_POINTER_REF, "Pointer to Num Entries (uint32)",hf_samr_samr_EnumDomainAliases_num_entries);
10571 return offset;
10574 static int
10575 samr_dissect_element_EnumDomainAliases_num_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10577 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainAliases_num_entries, 0);
10579 return offset;
10582 /* IDL: NTSTATUS samr_EnumDomainAliases( */
10583 /* IDL: [ref] [in] policy_handle *domain_handle, */
10584 /* IDL: [out] [in] [ref] uint32 *resume_handle, */
10585 /* IDL: [out] [ref] samr_SamArray **sam, */
10586 /* IDL: [in] uint32 max_size, */
10587 /* IDL: [out] [ref] uint32 *num_entries */
10588 /* IDL: ); */
10590 static int
10591 samr_dissect_EnumDomainAliases_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10593 guint32 status;
10595 pinfo->dcerpc_procedure_name="EnumDomainAliases";
10596 offset = samr_dissect_element_EnumDomainAliases_resume_handle(tvb, offset, pinfo, tree, di, drep);
10597 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10599 offset = samr_dissect_element_EnumDomainAliases_sam(tvb, offset, pinfo, tree, di, drep);
10600 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10602 offset = samr_dissect_element_EnumDomainAliases_num_entries(tvb, offset, pinfo, tree, di, drep);
10603 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10605 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10607 if (status != 0)
10608 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10610 return offset;
10613 static int
10614 samr_dissect_EnumDomainAliases_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10616 pinfo->dcerpc_procedure_name="EnumDomainAliases";
10617 offset = samr_dissect_element_EnumDomainAliases_domain_handle(tvb, offset, pinfo, tree, di, drep);
10618 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10619 offset = samr_dissect_element_EnumDomainAliases_resume_handle(tvb, offset, pinfo, tree, di, drep);
10620 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10621 offset = samr_dissect_element_EnumDomainAliases_max_size(tvb, offset, pinfo, tree, di, drep);
10622 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10623 return offset;
10626 static int
10627 samr_dissect_element_GetAliasMembership_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10629 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetAliasMembership_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
10631 return offset;
10634 static int
10635 samr_dissect_element_GetAliasMembership_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10637 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10639 return offset;
10642 static int
10643 samr_dissect_element_GetAliasMembership_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10645 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetAliasMembership_sids_, NDR_POINTER_REF, "Pointer to Sids (lsa_SidArray)",hf_samr_samr_GetAliasMembership_sids);
10647 return offset;
10650 static int
10651 samr_dissect_element_GetAliasMembership_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10653 offset=cnf_dissect_lsa_SidArray(tvb, offset, pinfo, tree, di, drep);
10655 return offset;
10658 static int
10659 samr_dissect_element_GetAliasMembership_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10661 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetAliasMembership_rids_, NDR_POINTER_REF, "Pointer to Rids (samr_Ids)",hf_samr_samr_GetAliasMembership_rids);
10663 return offset;
10666 static int
10667 samr_dissect_element_GetAliasMembership_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10669 offset = samr_dissect_struct_Ids(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GetAliasMembership_rids,0);
10671 return offset;
10674 /* IDL: NTSTATUS samr_GetAliasMembership( */
10675 /* IDL: [in] [ref] policy_handle *domain_handle, */
10676 /* IDL: [in] [ref] lsa_SidArray *sids, */
10677 /* IDL: [out] [ref] samr_Ids *rids */
10678 /* IDL: ); */
10680 static int
10681 samr_dissect_GetAliasMembership_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10683 guint32 status;
10685 pinfo->dcerpc_procedure_name="GetAliasMembership";
10686 offset = samr_dissect_element_GetAliasMembership_rids(tvb, offset, pinfo, tree, di, drep);
10687 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10689 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10691 if (status != 0)
10692 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10694 return offset;
10697 static int
10698 samr_dissect_GetAliasMembership_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10700 pinfo->dcerpc_procedure_name="GetAliasMembership";
10701 offset = samr_dissect_element_GetAliasMembership_domain_handle(tvb, offset, pinfo, tree, di, drep);
10702 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10703 offset = samr_dissect_element_GetAliasMembership_sids(tvb, offset, pinfo, tree, di, drep);
10704 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10705 return offset;
10708 static int
10709 samr_dissect_element_LookupNames_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10711 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupNames_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
10713 return offset;
10716 static int
10717 samr_dissect_element_LookupNames_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10719 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10721 return offset;
10724 static int
10725 samr_dissect_element_LookupNames_num_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10727 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_LookupNames_num_names, 0);
10729 return offset;
10732 static int
10733 samr_dissect_element_LookupNames_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10735 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupNames_names_, NDR_POINTER_REF, "Pointer to Names (lsa_String)",hf_samr_samr_LookupNames_names);
10737 return offset;
10740 static int
10741 samr_dissect_element_LookupNames_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10743 offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupNames_names__);
10745 return offset;
10748 static int
10749 samr_dissect_element_LookupNames_names__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10751 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_LookupNames_names);
10753 return offset;
10756 static int
10757 samr_dissect_element_LookupNames_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10759 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupNames_rids_, NDR_POINTER_REF, "Pointer to Rids (samr_Ids)",hf_samr_samr_LookupNames_rids);
10761 return offset;
10764 static int
10765 samr_dissect_element_LookupNames_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10767 offset = samr_dissect_struct_Ids(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_LookupNames_rids,0);
10769 return offset;
10772 static int
10773 samr_dissect_element_LookupNames_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10775 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupNames_types_, NDR_POINTER_REF, "Pointer to Types (samr_Ids)",hf_samr_samr_LookupNames_types);
10777 return offset;
10780 static int
10781 samr_dissect_element_LookupNames_types_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10783 offset = samr_dissect_struct_Ids(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_LookupNames_types,0);
10785 return offset;
10788 /* IDL: NTSTATUS samr_LookupNames( */
10789 /* IDL: [in] [ref] policy_handle *domain_handle, */
10790 /* IDL: [in] [range(0,1000)] uint32 num_names, */
10791 /* IDL: [in] [ref] [length_is(num_names)] [size_is(1000)] lsa_String *names, */
10792 /* IDL: [out] [ref] samr_Ids *rids, */
10793 /* IDL: [out] [ref] samr_Ids *types */
10794 /* IDL: ); */
10796 static int
10797 samr_dissect_LookupNames_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10799 guint32 status;
10801 pinfo->dcerpc_procedure_name="LookupNames";
10802 offset = samr_dissect_element_LookupNames_rids(tvb, offset, pinfo, tree, di, drep);
10803 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10805 offset = samr_dissect_element_LookupNames_types(tvb, offset, pinfo, tree, di, drep);
10806 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10808 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10810 if (status != 0)
10811 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10813 return offset;
10816 static int
10817 samr_dissect_LookupNames_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10819 pinfo->dcerpc_procedure_name="LookupNames";
10820 offset = samr_dissect_element_LookupNames_domain_handle(tvb, offset, pinfo, tree, di, drep);
10821 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10822 offset = samr_dissect_element_LookupNames_num_names(tvb, offset, pinfo, tree, di, drep);
10823 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10824 offset = samr_dissect_element_LookupNames_names(tvb, offset, pinfo, tree, di, drep);
10825 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10826 return offset;
10829 static int
10830 samr_dissect_element_LookupRids_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10832 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupRids_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
10834 return offset;
10837 static int
10838 samr_dissect_element_LookupRids_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10840 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10842 return offset;
10845 static int
10846 samr_dissect_element_LookupRids_num_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10848 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_LookupRids_num_rids, 0);
10850 return offset;
10853 static int
10854 samr_dissect_element_LookupRids_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10856 offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupRids_rids_);
10858 return offset;
10861 static int
10862 samr_dissect_element_LookupRids_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10864 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
10866 return offset;
10869 static int
10870 samr_dissect_element_LookupRids_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10872 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupRids_names_, NDR_POINTER_REF, "Pointer to Names (lsa_Strings)",hf_samr_samr_LookupRids_names);
10874 return offset;
10877 static int
10878 samr_dissect_element_LookupRids_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10880 offset = samr_dissect_struct_lsa_Strings(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_LookupRids_names,0);
10882 return offset;
10885 static int
10886 samr_dissect_element_LookupRids_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10888 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupRids_types_, NDR_POINTER_REF, "Pointer to Types (samr_Ids)",hf_samr_samr_LookupRids_types);
10890 return offset;
10893 static int
10894 samr_dissect_element_LookupRids_types_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10896 offset = samr_dissect_struct_Ids(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_LookupRids_types,0);
10898 return offset;
10901 /* IDL: NTSTATUS samr_LookupRids( */
10902 /* IDL: [in] [ref] policy_handle *domain_handle, */
10903 /* IDL: [in] [range(0,1000)] uint32 num_rids, */
10904 /* IDL: [in] [length_is(num_rids)] [size_is(1000)] uint32 rids[*], */
10905 /* IDL: [out] [ref] lsa_Strings *names, */
10906 /* IDL: [out] [ref] samr_Ids *types */
10907 /* IDL: ); */
10909 static int
10910 samr_dissect_LookupRids_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10912 guint32 status;
10914 pinfo->dcerpc_procedure_name="LookupRids";
10915 offset = samr_dissect_element_LookupRids_names(tvb, offset, pinfo, tree, di, drep);
10916 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10918 offset = samr_dissect_element_LookupRids_types(tvb, offset, pinfo, tree, di, drep);
10919 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10921 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10923 if (status != 0)
10924 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
10926 return offset;
10929 static int
10930 samr_dissect_LookupRids_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10932 pinfo->dcerpc_procedure_name="LookupRids";
10933 offset = samr_dissect_element_LookupRids_domain_handle(tvb, offset, pinfo, tree, di, drep);
10934 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10935 offset = samr_dissect_element_LookupRids_num_rids(tvb, offset, pinfo, tree, di, drep);
10936 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10937 offset = samr_dissect_element_LookupRids_rids(tvb, offset, pinfo, tree, di, drep);
10938 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10939 return offset;
10942 static int
10943 samr_dissect_element_OpenGroup_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10945 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenGroup_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
10947 return offset;
10950 static int
10951 samr_dissect_element_OpenGroup_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10953 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10955 return offset;
10958 static int
10959 samr_dissect_element_OpenGroup_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10961 offset = samr_dissect_bitmap_GroupAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_group_access_mask, 0);
10963 return offset;
10966 static int
10967 samr_dissect_element_OpenGroup_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10969 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
10971 return offset;
10974 static int
10975 samr_dissect_element_OpenGroup_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10977 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenGroup_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
10979 return offset;
10982 static int
10983 samr_dissect_element_OpenGroup_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
10985 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_GROUP);
10987 return offset;
10990 /* IDL: NTSTATUS samr_OpenGroup( */
10991 /* IDL: [in] [ref] policy_handle *domain_handle, */
10992 /* IDL: [in] samr_GroupAccessMask access_mask, */
10993 /* IDL: [in] uint32 rid, */
10994 /* IDL: [out] [ref] policy_handle *group_handle */
10995 /* IDL: ); */
10997 static int
10998 samr_dissect_OpenGroup_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11000 guint32 status;
11002 pinfo->dcerpc_procedure_name="OpenGroup";
11003 offset = samr_dissect_element_OpenGroup_group_handle(tvb, offset, pinfo, tree, di, drep);
11004 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11006 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11008 if (status != 0)
11009 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11011 return offset;
11014 static int
11015 samr_dissect_OpenGroup_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11017 pinfo->dcerpc_procedure_name="OpenGroup";
11018 offset = samr_dissect_element_OpenGroup_domain_handle(tvb, offset, pinfo, tree, di, drep);
11019 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11020 offset = samr_dissect_element_OpenGroup_access_mask(tvb, offset, pinfo, tree, di, drep);
11021 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11022 offset = samr_dissect_element_OpenGroup_rid(tvb, offset, pinfo, tree, di, drep);
11023 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11024 return offset;
11027 static int
11028 samr_dissect_element_QueryGroupInfo_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11030 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryGroupInfo_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
11032 return offset;
11035 static int
11036 samr_dissect_element_QueryGroupInfo_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11038 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
11040 return offset;
11043 static int
11044 samr_dissect_element_QueryGroupInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11046 offset = samr_dissect_enum_GroupInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryGroupInfo_level, 0);
11048 return offset;
11051 static int
11052 samr_dissect_element_QueryGroupInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11054 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryGroupInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_GroupInfo)",hf_samr_samr_QueryGroupInfo_info);
11056 return offset;
11059 static int
11060 samr_dissect_element_QueryGroupInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11062 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryGroupInfo_info__, NDR_POINTER_UNIQUE, "Pointer to Info (samr_GroupInfo)",hf_samr_samr_QueryGroupInfo_info);
11064 return offset;
11067 static int
11068 samr_dissect_element_QueryGroupInfo_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11070 offset = samr_dissect_GroupInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryGroupInfo_info, 0);
11072 return offset;
11075 /* IDL: NTSTATUS samr_QueryGroupInfo( */
11076 /* IDL: [in] [ref] policy_handle *group_handle, */
11077 /* IDL: [in] samr_GroupInfoEnum level, */
11078 /* IDL: [out] [ref] [switch_is(level)] samr_GroupInfo **info */
11079 /* IDL: ); */
11081 static int
11082 samr_dissect_QueryGroupInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11084 guint32 status;
11086 pinfo->dcerpc_procedure_name="QueryGroupInfo";
11087 offset = samr_dissect_element_QueryGroupInfo_info(tvb, offset, pinfo, tree, di, drep);
11088 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11090 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11092 if (status != 0)
11093 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11095 return offset;
11098 static int
11099 samr_dissect_QueryGroupInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11101 pinfo->dcerpc_procedure_name="QueryGroupInfo";
11102 offset = samr_dissect_element_QueryGroupInfo_group_handle(tvb, offset, pinfo, tree, di, drep);
11103 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11104 offset = samr_dissect_element_QueryGroupInfo_level(tvb, offset, pinfo, tree, di, drep);
11105 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11106 return offset;
11109 static int
11110 samr_dissect_element_SetGroupInfo_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11112 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetGroupInfo_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
11114 return offset;
11117 static int
11118 samr_dissect_element_SetGroupInfo_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11120 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
11122 return offset;
11125 static int
11126 samr_dissect_element_SetGroupInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11128 offset = samr_dissect_enum_GroupInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetGroupInfo_level, 0);
11130 return offset;
11133 static int
11134 samr_dissect_element_SetGroupInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11136 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetGroupInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_GroupInfo)",hf_samr_samr_SetGroupInfo_info);
11138 return offset;
11141 static int
11142 samr_dissect_element_SetGroupInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11144 offset = samr_dissect_GroupInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetGroupInfo_info, 0);
11146 return offset;
11149 /* IDL: NTSTATUS samr_SetGroupInfo( */
11150 /* IDL: [in] [ref] policy_handle *group_handle, */
11151 /* IDL: [in] samr_GroupInfoEnum level, */
11152 /* IDL: [in] [ref] [switch_is(level)] samr_GroupInfo *info */
11153 /* IDL: ); */
11155 static int
11156 samr_dissect_SetGroupInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11158 guint32 status;
11160 pinfo->dcerpc_procedure_name="SetGroupInfo";
11161 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11163 if (status != 0)
11164 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11166 return offset;
11169 static int
11170 samr_dissect_SetGroupInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11172 pinfo->dcerpc_procedure_name="SetGroupInfo";
11173 offset = samr_dissect_element_SetGroupInfo_group_handle(tvb, offset, pinfo, tree, di, drep);
11174 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11175 offset = samr_dissect_element_SetGroupInfo_level(tvb, offset, pinfo, tree, di, drep);
11176 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11177 offset = samr_dissect_element_SetGroupInfo_info(tvb, offset, pinfo, tree, di, drep);
11178 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11179 return offset;
11182 static int
11183 samr_dissect_element_AddGroupMember_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11185 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_AddGroupMember_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
11187 return offset;
11190 static int
11191 samr_dissect_element_AddGroupMember_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11193 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
11195 return offset;
11198 static int
11199 samr_dissect_element_AddGroupMember_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11201 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
11203 return offset;
11206 static int
11207 samr_dissect_element_AddGroupMember_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11209 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_AddGroupMember_flags, 0);
11211 return offset;
11214 /* IDL: NTSTATUS samr_AddGroupMember( */
11215 /* IDL: [in] [ref] policy_handle *group_handle, */
11216 /* IDL: [in] uint32 rid, */
11217 /* IDL: [in] uint32 flags */
11218 /* IDL: ); */
11220 static int
11221 samr_dissect_AddGroupMember_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11223 guint32 status;
11225 pinfo->dcerpc_procedure_name="AddGroupMember";
11226 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11228 if (status != 0)
11229 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11231 return offset;
11234 static int
11235 samr_dissect_AddGroupMember_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11237 pinfo->dcerpc_procedure_name="AddGroupMember";
11238 offset = samr_dissect_element_AddGroupMember_group_handle(tvb, offset, pinfo, tree, di, drep);
11239 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11240 offset = samr_dissect_element_AddGroupMember_rid(tvb, offset, pinfo, tree, di, drep);
11241 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11242 offset = samr_dissect_element_AddGroupMember_flags(tvb, offset, pinfo, tree, di, drep);
11243 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11244 return offset;
11247 static int
11248 samr_dissect_element_DeleteDomainGroup_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11250 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DeleteDomainGroup_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
11252 return offset;
11255 static int
11256 samr_dissect_element_DeleteDomainGroup_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11258 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, PIDL_POLHND_CLOSE);
11260 return offset;
11263 /* IDL: NTSTATUS samr_DeleteDomainGroup( */
11264 /* IDL: [out] [in] [ref] policy_handle *group_handle */
11265 /* IDL: ); */
11267 static int
11268 samr_dissect_DeleteDomainGroup_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11270 guint32 status;
11272 pinfo->dcerpc_procedure_name="DeleteDomainGroup";
11273 offset = samr_dissect_element_DeleteDomainGroup_group_handle(tvb, offset, pinfo, tree, di, drep);
11274 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11276 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11278 if (status != 0)
11279 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11281 return offset;
11284 static int
11285 samr_dissect_DeleteDomainGroup_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11287 pinfo->dcerpc_procedure_name="DeleteDomainGroup";
11288 offset = samr_dissect_element_DeleteDomainGroup_group_handle(tvb, offset, pinfo, tree, di, drep);
11289 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11290 return offset;
11293 static int
11294 samr_dissect_element_DeleteGroupMember_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11296 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DeleteGroupMember_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
11298 return offset;
11301 static int
11302 samr_dissect_element_DeleteGroupMember_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11304 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
11306 return offset;
11309 static int
11310 samr_dissect_element_DeleteGroupMember_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11312 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
11314 return offset;
11317 /* IDL: NTSTATUS samr_DeleteGroupMember( */
11318 /* IDL: [in] [ref] policy_handle *group_handle, */
11319 /* IDL: [in] uint32 rid */
11320 /* IDL: ); */
11322 static int
11323 samr_dissect_DeleteGroupMember_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11325 guint32 status;
11327 pinfo->dcerpc_procedure_name="DeleteGroupMember";
11328 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11330 if (status != 0)
11331 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11333 return offset;
11336 static int
11337 samr_dissect_DeleteGroupMember_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11339 pinfo->dcerpc_procedure_name="DeleteGroupMember";
11340 offset = samr_dissect_element_DeleteGroupMember_group_handle(tvb, offset, pinfo, tree, di, drep);
11341 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11342 offset = samr_dissect_element_DeleteGroupMember_rid(tvb, offset, pinfo, tree, di, drep);
11343 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11344 return offset;
11347 static int
11348 samr_dissect_element_QueryGroupMember_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11350 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryGroupMember_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
11352 return offset;
11355 static int
11356 samr_dissect_element_QueryGroupMember_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11358 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
11360 return offset;
11363 static int
11364 samr_dissect_element_QueryGroupMember_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11366 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryGroupMember_rids_, NDR_POINTER_REF, "Pointer to Rids (samr_RidTypeArray)",hf_samr_samr_QueryGroupMember_rids);
11368 return offset;
11371 static int
11372 samr_dissect_element_QueryGroupMember_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11374 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryGroupMember_rids__, NDR_POINTER_UNIQUE, "Pointer to Rids (samr_RidTypeArray)",hf_samr_samr_QueryGroupMember_rids);
11376 return offset;
11379 static int
11380 samr_dissect_element_QueryGroupMember_rids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11382 offset = samr_dissect_struct_RidTypeArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_QueryGroupMember_rids,0);
11384 return offset;
11387 /* IDL: NTSTATUS samr_QueryGroupMember( */
11388 /* IDL: [in] [ref] policy_handle *group_handle, */
11389 /* IDL: [out] [ref] samr_RidTypeArray **rids */
11390 /* IDL: ); */
11392 static int
11393 samr_dissect_QueryGroupMember_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11395 guint32 status;
11397 pinfo->dcerpc_procedure_name="QueryGroupMember";
11398 offset = samr_dissect_element_QueryGroupMember_rids(tvb, offset, pinfo, tree, di, drep);
11399 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11401 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11403 if (status != 0)
11404 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11406 return offset;
11409 static int
11410 samr_dissect_QueryGroupMember_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11412 pinfo->dcerpc_procedure_name="QueryGroupMember";
11413 offset = samr_dissect_element_QueryGroupMember_group_handle(tvb, offset, pinfo, tree, di, drep);
11414 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11415 return offset;
11418 static int
11419 samr_dissect_element_SetMemberAttributesOfGroup_group_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11421 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetMemberAttributesOfGroup_group_handle_, NDR_POINTER_REF, "Pointer to Group Handle (policy_handle)",hf_samr_group_handle);
11423 return offset;
11426 static int
11427 samr_dissect_element_SetMemberAttributesOfGroup_group_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11429 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
11431 return offset;
11434 static int
11435 samr_dissect_element_SetMemberAttributesOfGroup_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11437 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetMemberAttributesOfGroup_unknown1, 0);
11439 return offset;
11442 static int
11443 samr_dissect_element_SetMemberAttributesOfGroup_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11445 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetMemberAttributesOfGroup_unknown2, 0);
11447 return offset;
11450 /* IDL: NTSTATUS samr_SetMemberAttributesOfGroup( */
11451 /* IDL: [in] [ref] policy_handle *group_handle, */
11452 /* IDL: [in] uint32 unknown1, */
11453 /* IDL: [in] uint32 unknown2 */
11454 /* IDL: ); */
11456 static int
11457 samr_dissect_SetMemberAttributesOfGroup_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11459 guint32 status;
11461 pinfo->dcerpc_procedure_name="SetMemberAttributesOfGroup";
11462 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11464 if (status != 0)
11465 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11467 return offset;
11470 static int
11471 samr_dissect_SetMemberAttributesOfGroup_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11473 pinfo->dcerpc_procedure_name="SetMemberAttributesOfGroup";
11474 offset = samr_dissect_element_SetMemberAttributesOfGroup_group_handle(tvb, offset, pinfo, tree, di, drep);
11475 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11476 offset = samr_dissect_element_SetMemberAttributesOfGroup_unknown1(tvb, offset, pinfo, tree, di, drep);
11477 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11478 offset = samr_dissect_element_SetMemberAttributesOfGroup_unknown2(tvb, offset, pinfo, tree, di, drep);
11479 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11480 return offset;
11483 static int
11484 samr_dissect_element_OpenAlias_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11486 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenAlias_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
11488 return offset;
11491 static int
11492 samr_dissect_element_OpenAlias_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11494 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
11496 return offset;
11499 static int
11500 samr_dissect_element_OpenAlias_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11502 offset = samr_dissect_bitmap_AliasAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_access_mask, 0);
11504 return offset;
11507 static int
11508 samr_dissect_element_OpenAlias_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11510 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
11512 return offset;
11515 static int
11516 samr_dissect_element_OpenAlias_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11518 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenAlias_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
11520 return offset;
11523 static int
11524 samr_dissect_element_OpenAlias_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11526 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_ALIAS);
11528 return offset;
11531 /* IDL: NTSTATUS samr_OpenAlias( */
11532 /* IDL: [in] [ref] policy_handle *domain_handle, */
11533 /* IDL: [in] samr_AliasAccessMask access_mask, */
11534 /* IDL: [in] uint32 rid, */
11535 /* IDL: [out] [ref] policy_handle *alias_handle */
11536 /* IDL: ); */
11538 static int
11539 samr_dissect_OpenAlias_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11541 guint32 status;
11543 pinfo->dcerpc_procedure_name="OpenAlias";
11544 offset = samr_dissect_element_OpenAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
11545 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11547 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11549 if (status != 0)
11550 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11552 return offset;
11555 static int
11556 samr_dissect_OpenAlias_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11558 pinfo->dcerpc_procedure_name="OpenAlias";
11559 offset = samr_dissect_element_OpenAlias_domain_handle(tvb, offset, pinfo, tree, di, drep);
11560 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11561 offset = samr_dissect_element_OpenAlias_access_mask(tvb, offset, pinfo, tree, di, drep);
11562 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11563 offset = samr_dissect_element_OpenAlias_rid(tvb, offset, pinfo, tree, di, drep);
11564 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11565 return offset;
11568 static int
11569 samr_dissect_element_QueryAliasInfo_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11571 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryAliasInfo_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
11573 return offset;
11576 static int
11577 samr_dissect_element_QueryAliasInfo_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11579 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
11581 return offset;
11584 static int
11585 samr_dissect_element_QueryAliasInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11587 offset = samr_dissect_enum_AliasInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryAliasInfo_level, 0);
11589 return offset;
11592 static int
11593 samr_dissect_element_QueryAliasInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11595 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryAliasInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_AliasInfo)",hf_samr_samr_QueryAliasInfo_info);
11597 return offset;
11600 static int
11601 samr_dissect_element_QueryAliasInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11603 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryAliasInfo_info__, NDR_POINTER_UNIQUE, "Pointer to Info (samr_AliasInfo)",hf_samr_samr_QueryAliasInfo_info);
11605 return offset;
11608 static int
11609 samr_dissect_element_QueryAliasInfo_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11611 offset = samr_dissect_AliasInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryAliasInfo_info, 0);
11613 return offset;
11616 /* IDL: NTSTATUS samr_QueryAliasInfo( */
11617 /* IDL: [in] [ref] policy_handle *alias_handle, */
11618 /* IDL: [in] samr_AliasInfoEnum level, */
11619 /* IDL: [out] [ref] [switch_is(level)] samr_AliasInfo **info */
11620 /* IDL: ); */
11622 static int
11623 samr_dissect_QueryAliasInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11625 guint32 status;
11627 pinfo->dcerpc_procedure_name="QueryAliasInfo";
11628 offset = samr_dissect_element_QueryAliasInfo_info(tvb, offset, pinfo, tree, di, drep);
11629 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11631 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11633 if (status != 0)
11634 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11636 return offset;
11639 static int
11640 samr_dissect_QueryAliasInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11642 pinfo->dcerpc_procedure_name="QueryAliasInfo";
11643 offset = samr_dissect_element_QueryAliasInfo_alias_handle(tvb, offset, pinfo, tree, di, drep);
11644 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11645 offset = samr_dissect_element_QueryAliasInfo_level(tvb, offset, pinfo, tree, di, drep);
11646 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11647 return offset;
11650 static int
11651 samr_dissect_element_SetAliasInfo_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11653 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetAliasInfo_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
11655 return offset;
11658 static int
11659 samr_dissect_element_SetAliasInfo_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11661 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
11663 return offset;
11666 static int
11667 samr_dissect_element_SetAliasInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11669 offset = samr_dissect_enum_AliasInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetAliasInfo_level, 0);
11671 return offset;
11674 static int
11675 samr_dissect_element_SetAliasInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11677 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetAliasInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_AliasInfo)",hf_samr_samr_SetAliasInfo_info);
11679 return offset;
11682 static int
11683 samr_dissect_element_SetAliasInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11685 offset = samr_dissect_AliasInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetAliasInfo_info, 0);
11687 return offset;
11690 /* IDL: NTSTATUS samr_SetAliasInfo( */
11691 /* IDL: [in] [ref] policy_handle *alias_handle, */
11692 /* IDL: [in] samr_AliasInfoEnum level, */
11693 /* IDL: [in] [ref] [switch_is(level)] samr_AliasInfo *info */
11694 /* IDL: ); */
11696 static int
11697 samr_dissect_SetAliasInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11699 guint32 status;
11701 pinfo->dcerpc_procedure_name="SetAliasInfo";
11702 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11704 if (status != 0)
11705 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11707 return offset;
11710 static int
11711 samr_dissect_SetAliasInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11713 pinfo->dcerpc_procedure_name="SetAliasInfo";
11714 offset = samr_dissect_element_SetAliasInfo_alias_handle(tvb, offset, pinfo, tree, di, drep);
11715 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11716 offset = samr_dissect_element_SetAliasInfo_level(tvb, offset, pinfo, tree, di, drep);
11717 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11718 offset = samr_dissect_element_SetAliasInfo_info(tvb, offset, pinfo, tree, di, drep);
11719 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11720 return offset;
11723 static int
11724 samr_dissect_element_DeleteDomAlias_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11726 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DeleteDomAlias_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
11728 return offset;
11731 static int
11732 samr_dissect_element_DeleteDomAlias_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11734 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, PIDL_POLHND_CLOSE);
11736 return offset;
11739 /* IDL: NTSTATUS samr_DeleteDomAlias( */
11740 /* IDL: [out] [in] [ref] policy_handle *alias_handle */
11741 /* IDL: ); */
11743 static int
11744 samr_dissect_DeleteDomAlias_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11746 guint32 status;
11748 pinfo->dcerpc_procedure_name="DeleteDomAlias";
11749 offset = samr_dissect_element_DeleteDomAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
11750 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11752 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11754 if (status != 0)
11755 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11757 return offset;
11760 static int
11761 samr_dissect_DeleteDomAlias_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11763 pinfo->dcerpc_procedure_name="DeleteDomAlias";
11764 offset = samr_dissect_element_DeleteDomAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
11765 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11766 return offset;
11769 static int
11770 samr_dissect_element_AddAliasMember_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11772 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_AddAliasMember_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
11774 return offset;
11777 static int
11778 samr_dissect_element_AddAliasMember_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11780 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
11782 return offset;
11785 static int
11786 samr_dissect_element_AddAliasMember_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11788 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_AddAliasMember_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_samr_samr_AddAliasMember_sid);
11790 return offset;
11793 static int
11794 samr_dissect_element_AddAliasMember_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11796 offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
11798 return offset;
11801 /* IDL: NTSTATUS samr_AddAliasMember( */
11802 /* IDL: [in] [ref] policy_handle *alias_handle, */
11803 /* IDL: [in] [ref] dom_sid2 *sid */
11804 /* IDL: ); */
11806 static int
11807 samr_dissect_AddAliasMember_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11809 guint32 status;
11811 pinfo->dcerpc_procedure_name="AddAliasMember";
11812 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11814 if (status != 0)
11815 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11817 return offset;
11820 static int
11821 samr_dissect_AddAliasMember_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11823 pinfo->dcerpc_procedure_name="AddAliasMember";
11824 offset = samr_dissect_element_AddAliasMember_alias_handle(tvb, offset, pinfo, tree, di, drep);
11825 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11826 offset = samr_dissect_element_AddAliasMember_sid(tvb, offset, pinfo, tree, di, drep);
11827 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11828 return offset;
11831 static int
11832 samr_dissect_element_DeleteAliasMember_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11834 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DeleteAliasMember_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
11836 return offset;
11839 static int
11840 samr_dissect_element_DeleteAliasMember_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11842 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
11844 return offset;
11847 static int
11848 samr_dissect_element_DeleteAliasMember_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11850 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DeleteAliasMember_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_samr_samr_DeleteAliasMember_sid);
11852 return offset;
11855 static int
11856 samr_dissect_element_DeleteAliasMember_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11858 offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
11860 return offset;
11863 /* IDL: NTSTATUS samr_DeleteAliasMember( */
11864 /* IDL: [in] [ref] policy_handle *alias_handle, */
11865 /* IDL: [in] [ref] dom_sid2 *sid */
11866 /* IDL: ); */
11868 static int
11869 samr_dissect_DeleteAliasMember_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11871 guint32 status;
11873 pinfo->dcerpc_procedure_name="DeleteAliasMember";
11874 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11876 if (status != 0)
11877 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11879 return offset;
11882 static int
11883 samr_dissect_DeleteAliasMember_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11885 pinfo->dcerpc_procedure_name="DeleteAliasMember";
11886 offset = samr_dissect_element_DeleteAliasMember_alias_handle(tvb, offset, pinfo, tree, di, drep);
11887 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11888 offset = samr_dissect_element_DeleteAliasMember_sid(tvb, offset, pinfo, tree, di, drep);
11889 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11890 return offset;
11893 static int
11894 samr_dissect_element_GetMembersInAlias_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11896 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetMembersInAlias_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
11898 return offset;
11901 static int
11902 samr_dissect_element_GetMembersInAlias_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11904 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
11906 return offset;
11909 static int
11910 samr_dissect_element_GetMembersInAlias_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11912 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetMembersInAlias_sids_, NDR_POINTER_REF, "Pointer to Sids (lsa_SidArray)",hf_samr_samr_GetMembersInAlias_sids);
11914 return offset;
11917 static int
11918 samr_dissect_element_GetMembersInAlias_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11920 offset=cnf_dissect_lsa_SidArray(tvb, offset, pinfo, tree, di, drep);
11922 return offset;
11925 /* IDL: NTSTATUS samr_GetMembersInAlias( */
11926 /* IDL: [in] [ref] policy_handle *alias_handle, */
11927 /* IDL: [out] [ref] lsa_SidArray *sids */
11928 /* IDL: ); */
11930 static int
11931 samr_dissect_GetMembersInAlias_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11933 guint32 status;
11935 pinfo->dcerpc_procedure_name="GetMembersInAlias";
11936 offset = samr_dissect_element_GetMembersInAlias_sids(tvb, offset, pinfo, tree, di, drep);
11937 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11939 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11941 if (status != 0)
11942 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
11944 return offset;
11947 static int
11948 samr_dissect_GetMembersInAlias_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11950 pinfo->dcerpc_procedure_name="GetMembersInAlias";
11951 offset = samr_dissect_element_GetMembersInAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
11952 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11953 return offset;
11956 static int
11957 samr_dissect_element_OpenUser_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11959 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenUser_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
11961 return offset;
11964 static int
11965 samr_dissect_element_OpenUser_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11967 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
11969 return offset;
11972 static int
11973 samr_dissect_element_OpenUser_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11975 offset = samr_dissect_bitmap_UserAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_user_access_mask, 0);
11977 return offset;
11980 static int
11981 samr_dissect_element_OpenUser_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11983 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
11985 return offset;
11988 static int
11989 samr_dissect_element_OpenUser_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11991 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OpenUser_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
11993 return offset;
11996 static int
11997 samr_dissect_element_OpenUser_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
11999 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_USER);
12001 return offset;
12004 /* IDL: NTSTATUS samr_OpenUser( */
12005 /* IDL: [in] [ref] policy_handle *domain_handle, */
12006 /* IDL: [in] samr_UserAccessMask access_mask, */
12007 /* IDL: [in] uint32 rid, */
12008 /* IDL: [out] [ref] policy_handle *user_handle */
12009 /* IDL: ); */
12011 static int
12012 samr_dissect_OpenUser_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12014 guint32 status;
12016 pinfo->dcerpc_procedure_name="OpenUser";
12017 offset = samr_dissect_element_OpenUser_user_handle(tvb, offset, pinfo, tree, di, drep);
12018 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12020 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12022 if (status != 0)
12023 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
12025 return offset;
12028 static int
12029 samr_dissect_OpenUser_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12031 pinfo->dcerpc_procedure_name="OpenUser";
12032 offset = samr_dissect_element_OpenUser_domain_handle(tvb, offset, pinfo, tree, di, drep);
12033 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12034 offset = samr_dissect_element_OpenUser_access_mask(tvb, offset, pinfo, tree, di, drep);
12035 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12036 offset = samr_dissect_element_OpenUser_rid(tvb, offset, pinfo, tree, di, drep);
12037 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12038 return offset;
12041 static int
12042 samr_dissect_element_DeleteUser_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12044 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DeleteUser_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
12046 return offset;
12049 static int
12050 samr_dissect_element_DeleteUser_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12052 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, PIDL_POLHND_CLOSE);
12054 return offset;
12057 /* IDL: NTSTATUS samr_DeleteUser( */
12058 /* IDL: [out] [in] [ref] policy_handle *user_handle */
12059 /* IDL: ); */
12061 static int
12062 samr_dissect_DeleteUser_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12064 guint32 status;
12066 pinfo->dcerpc_procedure_name="DeleteUser";
12067 offset = samr_dissect_element_DeleteUser_user_handle(tvb, offset, pinfo, tree, di, drep);
12068 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12070 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12072 if (status != 0)
12073 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
12075 return offset;
12078 static int
12079 samr_dissect_DeleteUser_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12081 pinfo->dcerpc_procedure_name="DeleteUser";
12082 offset = samr_dissect_element_DeleteUser_user_handle(tvb, offset, pinfo, tree, di, drep);
12083 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12084 return offset;
12087 static int
12088 samr_dissect_element_QueryUserInfo_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12090 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryUserInfo_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
12092 return offset;
12095 static int
12096 samr_dissect_element_QueryUserInfo_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12098 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
12100 return offset;
12103 static int
12104 samr_dissect_element_QueryUserInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12106 offset = samr_dissect_enum_UserInfoLevel(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryUserInfo_level, 0);
12108 return offset;
12111 static int
12112 samr_dissect_element_QueryUserInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12114 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryUserInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_UserInfo)",hf_samr_samr_QueryUserInfo_info);
12116 return offset;
12119 static int
12120 samr_dissect_element_QueryUserInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12122 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryUserInfo_info__, NDR_POINTER_UNIQUE, "Pointer to Info (samr_UserInfo)",hf_samr_samr_QueryUserInfo_info);
12124 return offset;
12127 static int
12128 samr_dissect_element_QueryUserInfo_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12130 offset = samr_dissect_UserInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryUserInfo_info, 0);
12132 return offset;
12135 /* IDL: NTSTATUS samr_QueryUserInfo( */
12136 /* IDL: [in] [ref] policy_handle *user_handle, */
12137 /* IDL: [in] samr_UserInfoLevel level, */
12138 /* IDL: [out] [ref] [switch_is(level)] samr_UserInfo **info */
12139 /* IDL: ); */
12141 static int
12142 samr_dissect_QueryUserInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12144 guint32 status;
12146 pinfo->dcerpc_procedure_name="QueryUserInfo";
12147 offset = samr_dissect_element_QueryUserInfo_info(tvb, offset, pinfo, tree, di, drep);
12148 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12150 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12152 if (status != 0)
12153 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
12155 return offset;
12158 static int
12159 samr_dissect_QueryUserInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12161 pinfo->dcerpc_procedure_name="QueryUserInfo";
12162 offset = samr_dissect_element_QueryUserInfo_user_handle(tvb, offset, pinfo, tree, di, drep);
12163 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12164 offset = samr_dissect_element_QueryUserInfo_level(tvb, offset, pinfo, tree, di, drep);
12165 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12166 return offset;
12169 static int
12170 samr_dissect_element_SetUserInfo_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12172 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetUserInfo_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
12174 return offset;
12177 static int
12178 samr_dissect_element_SetUserInfo_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12180 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
12182 return offset;
12185 static int
12186 samr_dissect_element_SetUserInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12188 offset = samr_dissect_enum_UserInfoLevel(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetUserInfo_level, 0);
12190 return offset;
12193 static int
12194 samr_dissect_element_SetUserInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12196 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetUserInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_UserInfo)",hf_samr_samr_SetUserInfo_info);
12198 return offset;
12201 static int
12202 samr_dissect_element_SetUserInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12204 offset = samr_dissect_UserInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetUserInfo_info, 0);
12206 return offset;
12209 /* IDL: NTSTATUS samr_SetUserInfo( */
12210 /* IDL: [in] [ref] policy_handle *user_handle, */
12211 /* IDL: [in] samr_UserInfoLevel level, */
12212 /* IDL: [ref] [in] [switch_is(level)] samr_UserInfo *info */
12213 /* IDL: ); */
12215 static int
12216 samr_dissect_SetUserInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12218 guint32 status;
12220 pinfo->dcerpc_procedure_name="SetUserInfo";
12221 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12223 if (status != 0)
12224 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
12226 return offset;
12229 static int
12230 samr_dissect_SetUserInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12232 pinfo->dcerpc_procedure_name="SetUserInfo";
12233 offset = samr_dissect_element_SetUserInfo_user_handle(tvb, offset, pinfo, tree, di, drep);
12234 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12235 offset = samr_dissect_element_SetUserInfo_level(tvb, offset, pinfo, tree, di, drep);
12236 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12237 offset = samr_dissect_element_SetUserInfo_info(tvb, offset, pinfo, tree, di, drep);
12238 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12239 return offset;
12242 static int
12243 samr_dissect_element_ChangePasswordUser_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12245 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
12247 return offset;
12250 static int
12251 samr_dissect_element_ChangePasswordUser_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12253 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
12255 return offset;
12258 static int
12259 samr_dissect_element_ChangePasswordUser_lm_present(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12261 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser_lm_present, 0);
12263 return offset;
12266 static int
12267 samr_dissect_element_ChangePasswordUser_old_lm_crypted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12269 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser_old_lm_crypted_, NDR_POINTER_UNIQUE, "Pointer to Old Lm Crypted (samr_Password)",hf_samr_samr_ChangePasswordUser_old_lm_crypted);
12271 return offset;
12274 static int
12275 samr_dissect_element_ChangePasswordUser_old_lm_crypted_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12277 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_old_lm_crypted,0);
12279 return offset;
12282 static int
12283 samr_dissect_element_ChangePasswordUser_new_lm_crypted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12285 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser_new_lm_crypted_, NDR_POINTER_UNIQUE, "Pointer to New Lm Crypted (samr_Password)",hf_samr_samr_ChangePasswordUser_new_lm_crypted);
12287 return offset;
12290 static int
12291 samr_dissect_element_ChangePasswordUser_new_lm_crypted_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12293 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_new_lm_crypted,0);
12295 return offset;
12298 static int
12299 samr_dissect_element_ChangePasswordUser_nt_present(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12301 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser_nt_present, 0);
12303 return offset;
12306 static int
12307 samr_dissect_element_ChangePasswordUser_old_nt_crypted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12309 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser_old_nt_crypted_, NDR_POINTER_UNIQUE, "Pointer to Old Nt Crypted (samr_Password)",hf_samr_samr_ChangePasswordUser_old_nt_crypted);
12311 return offset;
12314 static int
12315 samr_dissect_element_ChangePasswordUser_old_nt_crypted_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12317 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_old_nt_crypted,0);
12319 return offset;
12322 static int
12323 samr_dissect_element_ChangePasswordUser_new_nt_crypted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12325 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser_new_nt_crypted_, NDR_POINTER_UNIQUE, "Pointer to New Nt Crypted (samr_Password)",hf_samr_samr_ChangePasswordUser_new_nt_crypted);
12327 return offset;
12330 static int
12331 samr_dissect_element_ChangePasswordUser_new_nt_crypted_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12333 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_new_nt_crypted,0);
12335 return offset;
12338 static int
12339 samr_dissect_element_ChangePasswordUser_cross1_present(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12341 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser_cross1_present, 0);
12343 return offset;
12346 static int
12347 samr_dissect_element_ChangePasswordUser_nt_cross(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12349 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser_nt_cross_, NDR_POINTER_UNIQUE, "Pointer to Nt Cross (samr_Password)",hf_samr_samr_ChangePasswordUser_nt_cross);
12351 return offset;
12354 static int
12355 samr_dissect_element_ChangePasswordUser_nt_cross_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12357 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_nt_cross,0);
12359 return offset;
12362 static int
12363 samr_dissect_element_ChangePasswordUser_cross2_present(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12365 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser_cross2_present, 0);
12367 return offset;
12370 static int
12371 samr_dissect_element_ChangePasswordUser_lm_cross(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12373 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser_lm_cross_, NDR_POINTER_UNIQUE, "Pointer to Lm Cross (samr_Password)",hf_samr_samr_ChangePasswordUser_lm_cross);
12375 return offset;
12378 static int
12379 samr_dissect_element_ChangePasswordUser_lm_cross_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12381 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_lm_cross,0);
12383 return offset;
12386 /* IDL: NTSTATUS samr_ChangePasswordUser( */
12387 /* IDL: [in] [ref] policy_handle *user_handle, */
12388 /* IDL: [in] uint8 lm_present, */
12389 /* IDL: [unique(1)] [in] samr_Password *old_lm_crypted, */
12390 /* IDL: [unique(1)] [in] samr_Password *new_lm_crypted, */
12391 /* IDL: [in] uint8 nt_present, */
12392 /* IDL: [unique(1)] [in] samr_Password *old_nt_crypted, */
12393 /* IDL: [unique(1)] [in] samr_Password *new_nt_crypted, */
12394 /* IDL: [in] uint8 cross1_present, */
12395 /* IDL: [unique(1)] [in] samr_Password *nt_cross, */
12396 /* IDL: [in] uint8 cross2_present, */
12397 /* IDL: [unique(1)] [in] samr_Password *lm_cross */
12398 /* IDL: ); */
12400 static int
12401 samr_dissect_ChangePasswordUser_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12403 guint32 status;
12405 pinfo->dcerpc_procedure_name="ChangePasswordUser";
12406 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12408 if (status != 0)
12409 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
12411 return offset;
12414 static int
12415 samr_dissect_ChangePasswordUser_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12417 pinfo->dcerpc_procedure_name="ChangePasswordUser";
12418 offset = samr_dissect_element_ChangePasswordUser_user_handle(tvb, offset, pinfo, tree, di, drep);
12419 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12420 offset = samr_dissect_element_ChangePasswordUser_lm_present(tvb, offset, pinfo, tree, di, drep);
12421 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12422 offset = samr_dissect_element_ChangePasswordUser_old_lm_crypted(tvb, offset, pinfo, tree, di, drep);
12423 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12424 offset = samr_dissect_element_ChangePasswordUser_new_lm_crypted(tvb, offset, pinfo, tree, di, drep);
12425 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12426 offset = samr_dissect_element_ChangePasswordUser_nt_present(tvb, offset, pinfo, tree, di, drep);
12427 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12428 offset = samr_dissect_element_ChangePasswordUser_old_nt_crypted(tvb, offset, pinfo, tree, di, drep);
12429 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12430 offset = samr_dissect_element_ChangePasswordUser_new_nt_crypted(tvb, offset, pinfo, tree, di, drep);
12431 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12432 offset = samr_dissect_element_ChangePasswordUser_cross1_present(tvb, offset, pinfo, tree, di, drep);
12433 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12434 offset = samr_dissect_element_ChangePasswordUser_nt_cross(tvb, offset, pinfo, tree, di, drep);
12435 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12436 offset = samr_dissect_element_ChangePasswordUser_cross2_present(tvb, offset, pinfo, tree, di, drep);
12437 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12438 offset = samr_dissect_element_ChangePasswordUser_lm_cross(tvb, offset, pinfo, tree, di, drep);
12439 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12440 return offset;
12443 static int
12444 samr_dissect_element_GetGroupsForUser_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12446 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetGroupsForUser_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
12448 return offset;
12451 static int
12452 samr_dissect_element_GetGroupsForUser_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12454 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
12456 return offset;
12459 static int
12460 samr_dissect_element_GetGroupsForUser_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12462 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetGroupsForUser_rids_, NDR_POINTER_REF, "Pointer to Rids (samr_RidWithAttributeArray)",hf_samr_samr_GetGroupsForUser_rids);
12464 return offset;
12467 static int
12468 samr_dissect_element_GetGroupsForUser_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12470 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetGroupsForUser_rids__, NDR_POINTER_UNIQUE, "Pointer to Rids (samr_RidWithAttributeArray)",hf_samr_samr_GetGroupsForUser_rids);
12472 return offset;
12475 static int
12476 samr_dissect_element_GetGroupsForUser_rids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12478 offset = samr_dissect_struct_RidWithAttributeArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GetGroupsForUser_rids,0);
12480 return offset;
12483 /* IDL: NTSTATUS samr_GetGroupsForUser( */
12484 /* IDL: [in] [ref] policy_handle *user_handle, */
12485 /* IDL: [out] [ref] samr_RidWithAttributeArray **rids */
12486 /* IDL: ); */
12488 static int
12489 samr_dissect_GetGroupsForUser_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12491 guint32 status;
12493 pinfo->dcerpc_procedure_name="GetGroupsForUser";
12494 offset = samr_dissect_element_GetGroupsForUser_rids(tvb, offset, pinfo, tree, di, drep);
12495 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12497 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12499 if (status != 0)
12500 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
12502 return offset;
12505 static int
12506 samr_dissect_GetGroupsForUser_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12508 pinfo->dcerpc_procedure_name="GetGroupsForUser";
12509 offset = samr_dissect_element_GetGroupsForUser_user_handle(tvb, offset, pinfo, tree, di, drep);
12510 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12511 return offset;
12514 static int
12515 samr_dissect_element_QueryDisplayInfo_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12517 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
12519 return offset;
12522 static int
12523 samr_dissect_element_QueryDisplayInfo_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12525 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
12527 return offset;
12530 static int
12531 samr_dissect_element_QueryDisplayInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12533 offset = samr_dissect_enum_DomainDisplayInformation(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_level, 0);
12535 return offset;
12538 static int
12539 samr_dissect_element_QueryDisplayInfo_start_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12541 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_start_idx, 0);
12543 return offset;
12546 static int
12547 samr_dissect_element_QueryDisplayInfo_max_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12549 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_max_entries, 0);
12551 return offset;
12554 static int
12555 samr_dissect_element_QueryDisplayInfo_buf_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12557 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_buf_size, 0);
12559 return offset;
12562 static int
12563 samr_dissect_element_QueryDisplayInfo_total_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12565 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo_total_size_, NDR_POINTER_REF, "Pointer to Total Size (uint32)",hf_samr_samr_QueryDisplayInfo_total_size);
12567 return offset;
12570 static int
12571 samr_dissect_element_QueryDisplayInfo_total_size_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12573 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_total_size, 0);
12575 return offset;
12578 static int
12579 samr_dissect_element_QueryDisplayInfo_returned_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12581 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo_returned_size_, NDR_POINTER_REF, "Pointer to Returned Size (uint32)",hf_samr_samr_QueryDisplayInfo_returned_size);
12583 return offset;
12586 static int
12587 samr_dissect_element_QueryDisplayInfo_returned_size_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12589 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_returned_size, 0);
12591 return offset;
12594 static int
12595 samr_dissect_element_QueryDisplayInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12597 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_DispInfo)",hf_samr_samr_QueryDisplayInfo_info);
12599 return offset;
12602 static int
12603 samr_dissect_element_QueryDisplayInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12605 offset = samr_dissect_DispInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_info, 0);
12607 return offset;
12610 /* IDL: NTSTATUS samr_QueryDisplayInfo( */
12611 /* IDL: [in] [ref] policy_handle *domain_handle, */
12612 /* IDL: [in] samr_DomainDisplayInformation level, */
12613 /* IDL: [in] uint32 start_idx, */
12614 /* IDL: [in] uint32 max_entries, */
12615 /* IDL: [in] uint32 buf_size, */
12616 /* IDL: [out] [ref] uint32 *total_size, */
12617 /* IDL: [out] [ref] uint32 *returned_size, */
12618 /* IDL: [out] [ref] [switch_is(level)] samr_DispInfo *info */
12619 /* IDL: ); */
12621 static int
12622 samr_dissect_QueryDisplayInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12624 guint32 status;
12626 pinfo->dcerpc_procedure_name="QueryDisplayInfo";
12627 offset = samr_dissect_element_QueryDisplayInfo_total_size(tvb, offset, pinfo, tree, di, drep);
12628 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12630 offset = samr_dissect_element_QueryDisplayInfo_returned_size(tvb, offset, pinfo, tree, di, drep);
12631 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12633 offset = samr_dissect_element_QueryDisplayInfo_info(tvb, offset, pinfo, tree, di, drep);
12634 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12636 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12638 if (status != 0)
12639 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
12641 return offset;
12644 static int
12645 samr_dissect_QueryDisplayInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12647 pinfo->dcerpc_procedure_name="QueryDisplayInfo";
12648 offset = samr_dissect_element_QueryDisplayInfo_domain_handle(tvb, offset, pinfo, tree, di, drep);
12649 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12650 offset = samr_dissect_element_QueryDisplayInfo_level(tvb, offset, pinfo, tree, di, drep);
12651 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12652 offset = samr_dissect_element_QueryDisplayInfo_start_idx(tvb, offset, pinfo, tree, di, drep);
12653 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12654 offset = samr_dissect_element_QueryDisplayInfo_max_entries(tvb, offset, pinfo, tree, di, drep);
12655 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12656 offset = samr_dissect_element_QueryDisplayInfo_buf_size(tvb, offset, pinfo, tree, di, drep);
12657 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12658 return offset;
12661 static int
12662 samr_dissect_element_GetDisplayEnumerationIndex_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12664 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetDisplayEnumerationIndex_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
12666 return offset;
12669 static int
12670 samr_dissect_element_GetDisplayEnumerationIndex_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12672 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
12674 return offset;
12677 static int
12678 samr_dissect_element_GetDisplayEnumerationIndex_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12680 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GetDisplayEnumerationIndex_level, 0);
12682 return offset;
12685 static int
12686 samr_dissect_element_GetDisplayEnumerationIndex_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12688 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetDisplayEnumerationIndex_name_, NDR_POINTER_REF, "Pointer to Name (lsa_String)",hf_samr_samr_GetDisplayEnumerationIndex_name);
12690 return offset;
12693 static int
12694 samr_dissect_element_GetDisplayEnumerationIndex_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12696 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GetDisplayEnumerationIndex_name);
12698 return offset;
12701 static int
12702 samr_dissect_element_GetDisplayEnumerationIndex_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12704 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetDisplayEnumerationIndex_idx_, NDR_POINTER_REF, "Pointer to Idx (uint32)",hf_samr_samr_GetDisplayEnumerationIndex_idx);
12706 return offset;
12709 static int
12710 samr_dissect_element_GetDisplayEnumerationIndex_idx_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12712 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GetDisplayEnumerationIndex_idx, 0);
12714 return offset;
12717 /* IDL: NTSTATUS samr_GetDisplayEnumerationIndex( */
12718 /* IDL: [in] [ref] policy_handle *domain_handle, */
12719 /* IDL: [in] uint16 level, */
12720 /* IDL: [in] [ref] lsa_String *name, */
12721 /* IDL: [out] [ref] uint32 *idx */
12722 /* IDL: ); */
12724 static int
12725 samr_dissect_GetDisplayEnumerationIndex_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12727 guint32 status;
12729 pinfo->dcerpc_procedure_name="GetDisplayEnumerationIndex";
12730 offset = samr_dissect_element_GetDisplayEnumerationIndex_idx(tvb, offset, pinfo, tree, di, drep);
12731 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12733 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12735 if (status != 0)
12736 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
12738 return offset;
12741 static int
12742 samr_dissect_GetDisplayEnumerationIndex_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12744 pinfo->dcerpc_procedure_name="GetDisplayEnumerationIndex";
12745 offset = samr_dissect_element_GetDisplayEnumerationIndex_domain_handle(tvb, offset, pinfo, tree, di, drep);
12746 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12747 offset = samr_dissect_element_GetDisplayEnumerationIndex_level(tvb, offset, pinfo, tree, di, drep);
12748 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12749 offset = samr_dissect_element_GetDisplayEnumerationIndex_name(tvb, offset, pinfo, tree, di, drep);
12750 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12751 return offset;
12754 static int
12755 samr_dissect_element_TestPrivateFunctionsDomain_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12757 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_TestPrivateFunctionsDomain_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
12759 return offset;
12762 static int
12763 samr_dissect_element_TestPrivateFunctionsDomain_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12765 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
12767 return offset;
12770 /* IDL: NTSTATUS samr_TestPrivateFunctionsDomain( */
12771 /* IDL: [in] [ref] policy_handle *domain_handle */
12772 /* IDL: ); */
12774 static int
12775 samr_dissect_TestPrivateFunctionsDomain_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12777 guint32 status;
12779 pinfo->dcerpc_procedure_name="TestPrivateFunctionsDomain";
12780 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12782 if (status != 0)
12783 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
12785 return offset;
12788 static int
12789 samr_dissect_TestPrivateFunctionsDomain_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12791 pinfo->dcerpc_procedure_name="TestPrivateFunctionsDomain";
12792 offset = samr_dissect_element_TestPrivateFunctionsDomain_domain_handle(tvb, offset, pinfo, tree, di, drep);
12793 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12794 return offset;
12797 static int
12798 samr_dissect_element_TestPrivateFunctionsUser_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12800 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_TestPrivateFunctionsUser_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
12802 return offset;
12805 static int
12806 samr_dissect_element_TestPrivateFunctionsUser_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12808 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
12810 return offset;
12813 /* IDL: NTSTATUS samr_TestPrivateFunctionsUser( */
12814 /* IDL: [in] [ref] policy_handle *user_handle */
12815 /* IDL: ); */
12817 static int
12818 samr_dissect_TestPrivateFunctionsUser_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12820 guint32 status;
12822 pinfo->dcerpc_procedure_name="TestPrivateFunctionsUser";
12823 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12825 if (status != 0)
12826 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
12828 return offset;
12831 static int
12832 samr_dissect_TestPrivateFunctionsUser_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12834 pinfo->dcerpc_procedure_name="TestPrivateFunctionsUser";
12835 offset = samr_dissect_element_TestPrivateFunctionsUser_user_handle(tvb, offset, pinfo, tree, di, drep);
12836 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12837 return offset;
12840 static int
12841 samr_dissect_element_GetUserPwInfo_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12843 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetUserPwInfo_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
12845 return offset;
12848 static int
12849 samr_dissect_element_GetUserPwInfo_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12851 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
12853 return offset;
12856 static int
12857 samr_dissect_element_GetUserPwInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12859 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetUserPwInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_PwInfo)",hf_samr_samr_GetUserPwInfo_info);
12861 return offset;
12864 static int
12865 samr_dissect_element_GetUserPwInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12867 offset = samr_dissect_struct_PwInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GetUserPwInfo_info,0);
12869 return offset;
12872 /* IDL: NTSTATUS samr_GetUserPwInfo( */
12873 /* IDL: [in] [ref] policy_handle *user_handle, */
12874 /* IDL: [out] [ref] samr_PwInfo *info */
12875 /* IDL: ); */
12877 static int
12878 samr_dissect_GetUserPwInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12880 guint32 status;
12882 pinfo->dcerpc_procedure_name="GetUserPwInfo";
12883 offset = samr_dissect_element_GetUserPwInfo_info(tvb, offset, pinfo, tree, di, drep);
12884 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12886 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12888 if (status != 0)
12889 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
12891 return offset;
12894 static int
12895 samr_dissect_GetUserPwInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12897 pinfo->dcerpc_procedure_name="GetUserPwInfo";
12898 offset = samr_dissect_element_GetUserPwInfo_user_handle(tvb, offset, pinfo, tree, di, drep);
12899 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12900 return offset;
12903 static int
12904 samr_dissect_element_RemoveMemberFromForeignDomain_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12906 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RemoveMemberFromForeignDomain_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
12908 return offset;
12911 static int
12912 samr_dissect_element_RemoveMemberFromForeignDomain_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12914 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
12916 return offset;
12919 static int
12920 samr_dissect_element_RemoveMemberFromForeignDomain_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12922 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RemoveMemberFromForeignDomain_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_samr_samr_RemoveMemberFromForeignDomain_sid);
12924 return offset;
12927 static int
12928 samr_dissect_element_RemoveMemberFromForeignDomain_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12930 offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
12932 return offset;
12935 /* IDL: NTSTATUS samr_RemoveMemberFromForeignDomain( */
12936 /* IDL: [in] [ref] policy_handle *domain_handle, */
12937 /* IDL: [in] [ref] dom_sid2 *sid */
12938 /* IDL: ); */
12940 static int
12941 samr_dissect_RemoveMemberFromForeignDomain_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12943 guint32 status;
12945 pinfo->dcerpc_procedure_name="RemoveMemberFromForeignDomain";
12946 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12948 if (status != 0)
12949 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
12951 return offset;
12954 static int
12955 samr_dissect_RemoveMemberFromForeignDomain_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12957 pinfo->dcerpc_procedure_name="RemoveMemberFromForeignDomain";
12958 offset = samr_dissect_element_RemoveMemberFromForeignDomain_domain_handle(tvb, offset, pinfo, tree, di, drep);
12959 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12960 offset = samr_dissect_element_RemoveMemberFromForeignDomain_sid(tvb, offset, pinfo, tree, di, drep);
12961 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12962 return offset;
12965 static int
12966 samr_dissect_element_QueryDomainInfo2_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12968 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDomainInfo2_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
12970 return offset;
12973 static int
12974 samr_dissect_element_QueryDomainInfo2_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12976 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
12978 return offset;
12981 static int
12982 samr_dissect_element_QueryDomainInfo2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12984 offset = samr_dissect_enum_DomainInfoClass(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDomainInfo2_level, 0);
12986 return offset;
12989 static int
12990 samr_dissect_element_QueryDomainInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
12992 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDomainInfo2_info_, NDR_POINTER_REF, "Pointer to Info (samr_DomainInfo)",hf_samr_samr_QueryDomainInfo2_info);
12994 return offset;
12997 static int
12998 samr_dissect_element_QueryDomainInfo2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13000 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDomainInfo2_info__, NDR_POINTER_UNIQUE, "Pointer to Info (samr_DomainInfo)",hf_samr_samr_QueryDomainInfo2_info);
13002 return offset;
13005 static int
13006 samr_dissect_element_QueryDomainInfo2_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13008 offset = samr_dissect_DomainInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDomainInfo2_info, 0);
13010 return offset;
13013 /* IDL: NTSTATUS samr_QueryDomainInfo2( */
13014 /* IDL: [in] [ref] policy_handle *domain_handle, */
13015 /* IDL: [in] samr_DomainInfoClass level, */
13016 /* IDL: [out] [ref] [switch_is(level)] samr_DomainInfo **info */
13017 /* IDL: ); */
13019 static int
13020 samr_dissect_QueryDomainInfo2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13022 guint32 status;
13024 pinfo->dcerpc_procedure_name="QueryDomainInfo2";
13025 offset = samr_dissect_element_QueryDomainInfo2_info(tvb, offset, pinfo, tree, di, drep);
13026 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13028 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13030 if (status != 0)
13031 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
13033 return offset;
13036 static int
13037 samr_dissect_QueryDomainInfo2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13039 pinfo->dcerpc_procedure_name="QueryDomainInfo2";
13040 offset = samr_dissect_element_QueryDomainInfo2_domain_handle(tvb, offset, pinfo, tree, di, drep);
13041 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13042 offset = samr_dissect_element_QueryDomainInfo2_level(tvb, offset, pinfo, tree, di, drep);
13043 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13044 return offset;
13047 static int
13048 samr_dissect_element_QueryUserInfo2_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13050 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryUserInfo2_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
13052 return offset;
13055 static int
13056 samr_dissect_element_QueryUserInfo2_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13058 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
13060 return offset;
13063 static int
13064 samr_dissect_element_QueryUserInfo2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13066 offset = samr_dissect_enum_UserInfoLevel(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryUserInfo2_level, 0);
13068 return offset;
13071 static int
13072 samr_dissect_element_QueryUserInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13074 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryUserInfo2_info_, NDR_POINTER_REF, "Pointer to Info (samr_UserInfo)",hf_samr_samr_QueryUserInfo2_info);
13076 return offset;
13079 static int
13080 samr_dissect_element_QueryUserInfo2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13082 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryUserInfo2_info__, NDR_POINTER_UNIQUE, "Pointer to Info (samr_UserInfo)",hf_samr_samr_QueryUserInfo2_info);
13084 return offset;
13087 static int
13088 samr_dissect_element_QueryUserInfo2_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13090 offset = samr_dissect_UserInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryUserInfo2_info, 0);
13092 return offset;
13095 /* IDL: NTSTATUS samr_QueryUserInfo2( */
13096 /* IDL: [in] [ref] policy_handle *user_handle, */
13097 /* IDL: [in] samr_UserInfoLevel level, */
13098 /* IDL: [out] [ref] [switch_is(level)] samr_UserInfo **info */
13099 /* IDL: ); */
13101 static int
13102 samr_dissect_QueryUserInfo2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13104 guint32 status;
13106 pinfo->dcerpc_procedure_name="QueryUserInfo2";
13107 offset = samr_dissect_element_QueryUserInfo2_info(tvb, offset, pinfo, tree, di, drep);
13108 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13110 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13112 if (status != 0)
13113 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
13115 return offset;
13118 static int
13119 samr_dissect_QueryUserInfo2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13121 pinfo->dcerpc_procedure_name="QueryUserInfo2";
13122 offset = samr_dissect_element_QueryUserInfo2_user_handle(tvb, offset, pinfo, tree, di, drep);
13123 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13124 offset = samr_dissect_element_QueryUserInfo2_level(tvb, offset, pinfo, tree, di, drep);
13125 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13126 return offset;
13129 static int
13130 samr_dissect_element_QueryDisplayInfo2_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13132 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo2_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
13134 return offset;
13137 static int
13138 samr_dissect_element_QueryDisplayInfo2_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13140 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
13142 return offset;
13145 static int
13146 samr_dissect_element_QueryDisplayInfo2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13148 offset = samr_dissect_enum_DomainDisplayInformation(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_level, 0);
13150 return offset;
13153 static int
13154 samr_dissect_element_QueryDisplayInfo2_start_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13156 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_start_idx, 0);
13158 return offset;
13161 static int
13162 samr_dissect_element_QueryDisplayInfo2_max_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13164 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_max_entries, 0);
13166 return offset;
13169 static int
13170 samr_dissect_element_QueryDisplayInfo2_buf_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13172 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_buf_size, 0);
13174 return offset;
13177 static int
13178 samr_dissect_element_QueryDisplayInfo2_total_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13180 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo2_total_size_, NDR_POINTER_REF, "Pointer to Total Size (uint32)",hf_samr_samr_QueryDisplayInfo2_total_size);
13182 return offset;
13185 static int
13186 samr_dissect_element_QueryDisplayInfo2_total_size_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13188 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_total_size, 0);
13190 return offset;
13193 static int
13194 samr_dissect_element_QueryDisplayInfo2_returned_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13196 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo2_returned_size_, NDR_POINTER_REF, "Pointer to Returned Size (uint32)",hf_samr_samr_QueryDisplayInfo2_returned_size);
13198 return offset;
13201 static int
13202 samr_dissect_element_QueryDisplayInfo2_returned_size_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13204 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_returned_size, 0);
13206 return offset;
13209 static int
13210 samr_dissect_element_QueryDisplayInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13212 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo2_info_, NDR_POINTER_REF, "Pointer to Info (samr_DispInfo)",hf_samr_samr_QueryDisplayInfo2_info);
13214 return offset;
13217 static int
13218 samr_dissect_element_QueryDisplayInfo2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13220 offset = samr_dissect_DispInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_info, 0);
13222 return offset;
13225 /* IDL: NTSTATUS samr_QueryDisplayInfo2( */
13226 /* IDL: [in] [ref] policy_handle *domain_handle, */
13227 /* IDL: [in] samr_DomainDisplayInformation level, */
13228 /* IDL: [in] uint32 start_idx, */
13229 /* IDL: [in] uint32 max_entries, */
13230 /* IDL: [in] uint32 buf_size, */
13231 /* IDL: [out] [ref] uint32 *total_size, */
13232 /* IDL: [out] [ref] uint32 *returned_size, */
13233 /* IDL: [out] [ref] [switch_is(level)] samr_DispInfo *info */
13234 /* IDL: ); */
13236 static int
13237 samr_dissect_QueryDisplayInfo2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13239 guint32 status;
13241 pinfo->dcerpc_procedure_name="QueryDisplayInfo2";
13242 offset = samr_dissect_element_QueryDisplayInfo2_total_size(tvb, offset, pinfo, tree, di, drep);
13243 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13245 offset = samr_dissect_element_QueryDisplayInfo2_returned_size(tvb, offset, pinfo, tree, di, drep);
13246 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13248 offset = samr_dissect_element_QueryDisplayInfo2_info(tvb, offset, pinfo, tree, di, drep);
13249 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13251 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13253 if (status != 0)
13254 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
13256 return offset;
13259 static int
13260 samr_dissect_QueryDisplayInfo2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13262 pinfo->dcerpc_procedure_name="QueryDisplayInfo2";
13263 offset = samr_dissect_element_QueryDisplayInfo2_domain_handle(tvb, offset, pinfo, tree, di, drep);
13264 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13265 offset = samr_dissect_element_QueryDisplayInfo2_level(tvb, offset, pinfo, tree, di, drep);
13266 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13267 offset = samr_dissect_element_QueryDisplayInfo2_start_idx(tvb, offset, pinfo, tree, di, drep);
13268 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13269 offset = samr_dissect_element_QueryDisplayInfo2_max_entries(tvb, offset, pinfo, tree, di, drep);
13270 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13271 offset = samr_dissect_element_QueryDisplayInfo2_buf_size(tvb, offset, pinfo, tree, di, drep);
13272 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13273 return offset;
13276 static int
13277 samr_dissect_element_GetDisplayEnumerationIndex2_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13279 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetDisplayEnumerationIndex2_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
13281 return offset;
13284 static int
13285 samr_dissect_element_GetDisplayEnumerationIndex2_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13287 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
13289 return offset;
13292 static int
13293 samr_dissect_element_GetDisplayEnumerationIndex2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13295 offset = samr_dissect_enum_DomainDisplayInformation(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GetDisplayEnumerationIndex2_level, 0);
13297 return offset;
13300 static int
13301 samr_dissect_element_GetDisplayEnumerationIndex2_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13303 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetDisplayEnumerationIndex2_name_, NDR_POINTER_REF, "Pointer to Name (lsa_String)",hf_samr_samr_GetDisplayEnumerationIndex2_name);
13305 return offset;
13308 static int
13309 samr_dissect_element_GetDisplayEnumerationIndex2_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13311 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GetDisplayEnumerationIndex2_name);
13313 return offset;
13316 static int
13317 samr_dissect_element_GetDisplayEnumerationIndex2_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13319 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetDisplayEnumerationIndex2_idx_, NDR_POINTER_REF, "Pointer to Idx (uint32)",hf_samr_samr_GetDisplayEnumerationIndex2_idx);
13321 return offset;
13324 static int
13325 samr_dissect_element_GetDisplayEnumerationIndex2_idx_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13327 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GetDisplayEnumerationIndex2_idx, 0);
13329 return offset;
13332 /* IDL: NTSTATUS samr_GetDisplayEnumerationIndex2( */
13333 /* IDL: [in] [ref] policy_handle *domain_handle, */
13334 /* IDL: [in] samr_DomainDisplayInformation level, */
13335 /* IDL: [in] [ref] lsa_String *name, */
13336 /* IDL: [out] [ref] uint32 *idx */
13337 /* IDL: ); */
13339 static int
13340 samr_dissect_GetDisplayEnumerationIndex2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13342 guint32 status;
13344 pinfo->dcerpc_procedure_name="GetDisplayEnumerationIndex2";
13345 offset = samr_dissect_element_GetDisplayEnumerationIndex2_idx(tvb, offset, pinfo, tree, di, drep);
13346 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13348 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13350 if (status != 0)
13351 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
13353 return offset;
13356 static int
13357 samr_dissect_GetDisplayEnumerationIndex2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13359 pinfo->dcerpc_procedure_name="GetDisplayEnumerationIndex2";
13360 offset = samr_dissect_element_GetDisplayEnumerationIndex2_domain_handle(tvb, offset, pinfo, tree, di, drep);
13361 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13362 offset = samr_dissect_element_GetDisplayEnumerationIndex2_level(tvb, offset, pinfo, tree, di, drep);
13363 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13364 offset = samr_dissect_element_GetDisplayEnumerationIndex2_name(tvb, offset, pinfo, tree, di, drep);
13365 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13366 return offset;
13369 static int
13370 samr_dissect_element_CreateUser2_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13372 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser2_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
13374 return offset;
13377 static int
13378 samr_dissect_element_CreateUser2_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13380 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
13382 return offset;
13385 static int
13386 samr_dissect_element_CreateUser2_account_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13388 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser2_account_name_, NDR_POINTER_REF, "Pointer to Account Name (lsa_String)",hf_samr_samr_CreateUser2_account_name);
13390 return offset;
13393 static int
13394 samr_dissect_element_CreateUser2_account_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13396 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 3|PIDL_SET_COL_INFO|PIDL_STR_SAVE, hf_samr_samr_CreateUser2_account_name);
13398 return offset;
13401 static int
13402 samr_dissect_element_CreateUser2_acct_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13404 offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_CreateUser2_acct_flags, 0);
13406 return offset;
13409 static int
13410 samr_dissect_element_CreateUser2_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13412 offset = samr_dissect_bitmap_UserAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_user_access_mask, 0);
13414 return offset;
13417 static int
13418 samr_dissect_element_CreateUser2_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13420 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser2_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
13422 return offset;
13425 static int
13426 samr_dissect_element_CreateUser2_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13428 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_USER);
13430 return offset;
13433 static int
13434 samr_dissect_element_CreateUser2_access_granted(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13436 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser2_access_granted_, NDR_POINTER_REF, "Pointer to Access Granted (uint32)",hf_samr_samr_CreateUser2_access_granted);
13438 return offset;
13441 static int
13442 samr_dissect_element_CreateUser2_access_granted_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13444 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_CreateUser2_access_granted, 0);
13446 return offset;
13449 static int
13450 samr_dissect_element_CreateUser2_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13452 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_CreateUser2_rid_, NDR_POINTER_REF, "Pointer to Rid (uint32)",hf_samr_rid);
13454 return offset;
13457 static int
13458 samr_dissect_element_CreateUser2_rid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13460 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
13462 return offset;
13465 /* IDL: NTSTATUS samr_CreateUser2( */
13466 /* IDL: [in] [ref] policy_handle *domain_handle, */
13467 /* IDL: [in] [ref] lsa_String *account_name, */
13468 /* IDL: [in] samr_AcctFlags acct_flags, */
13469 /* IDL: [in] samr_UserAccessMask access_mask, */
13470 /* IDL: [out] [ref] policy_handle *user_handle, */
13471 /* IDL: [out] [ref] uint32 *access_granted, */
13472 /* IDL: [out] [ref] uint32 *rid */
13473 /* IDL: ); */
13475 static int
13476 samr_dissect_CreateUser2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13478 guint32 status;
13480 pinfo->dcerpc_procedure_name="CreateUser2";
13481 offset = samr_dissect_element_CreateUser2_user_handle(tvb, offset, pinfo, tree, di, drep);
13482 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13484 offset = samr_dissect_element_CreateUser2_access_granted(tvb, offset, pinfo, tree, di, drep);
13485 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13487 offset = samr_dissect_element_CreateUser2_rid(tvb, offset, pinfo, tree, di, drep);
13488 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13490 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13492 if (status != 0)
13493 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
13495 return offset;
13498 static int
13499 samr_dissect_CreateUser2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13501 pinfo->dcerpc_procedure_name="CreateUser2";
13502 offset = samr_dissect_element_CreateUser2_domain_handle(tvb, offset, pinfo, tree, di, drep);
13503 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13504 offset = samr_dissect_element_CreateUser2_account_name(tvb, offset, pinfo, tree, di, drep);
13505 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13506 offset = samr_dissect_element_CreateUser2_acct_flags(tvb, offset, pinfo, tree, di, drep);
13507 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13508 offset = samr_dissect_element_CreateUser2_access_mask(tvb, offset, pinfo, tree, di, drep);
13509 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13510 return offset;
13513 static int
13514 samr_dissect_element_QueryDisplayInfo3_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13516 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo3_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
13518 return offset;
13521 static int
13522 samr_dissect_element_QueryDisplayInfo3_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13524 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
13526 return offset;
13529 static int
13530 samr_dissect_element_QueryDisplayInfo3_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13532 offset = samr_dissect_enum_DomainDisplayInformation(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_level, 0);
13534 return offset;
13537 static int
13538 samr_dissect_element_QueryDisplayInfo3_start_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13540 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_start_idx, 0);
13542 return offset;
13545 static int
13546 samr_dissect_element_QueryDisplayInfo3_max_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13548 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_max_entries, 0);
13550 return offset;
13553 static int
13554 samr_dissect_element_QueryDisplayInfo3_buf_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13556 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_buf_size, 0);
13558 return offset;
13561 static int
13562 samr_dissect_element_QueryDisplayInfo3_total_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13564 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo3_total_size_, NDR_POINTER_REF, "Pointer to Total Size (uint32)",hf_samr_samr_QueryDisplayInfo3_total_size);
13566 return offset;
13569 static int
13570 samr_dissect_element_QueryDisplayInfo3_total_size_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13572 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_total_size, 0);
13574 return offset;
13577 static int
13578 samr_dissect_element_QueryDisplayInfo3_returned_size(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13580 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo3_returned_size_, NDR_POINTER_REF, "Pointer to Returned Size (uint32)",hf_samr_samr_QueryDisplayInfo3_returned_size);
13582 return offset;
13585 static int
13586 samr_dissect_element_QueryDisplayInfo3_returned_size_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13588 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_returned_size, 0);
13590 return offset;
13593 static int
13594 samr_dissect_element_QueryDisplayInfo3_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13596 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_QueryDisplayInfo3_info_, NDR_POINTER_REF, "Pointer to Info (samr_DispInfo)",hf_samr_samr_QueryDisplayInfo3_info);
13598 return offset;
13601 static int
13602 samr_dissect_element_QueryDisplayInfo3_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13604 offset = samr_dissect_DispInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_info, 0);
13606 return offset;
13609 /* IDL: NTSTATUS samr_QueryDisplayInfo3( */
13610 /* IDL: [in] [ref] policy_handle *domain_handle, */
13611 /* IDL: [in] samr_DomainDisplayInformation level, */
13612 /* IDL: [in] uint32 start_idx, */
13613 /* IDL: [in] uint32 max_entries, */
13614 /* IDL: [in] uint32 buf_size, */
13615 /* IDL: [out] [ref] uint32 *total_size, */
13616 /* IDL: [out] [ref] uint32 *returned_size, */
13617 /* IDL: [out] [ref] [switch_is(level)] samr_DispInfo *info */
13618 /* IDL: ); */
13620 static int
13621 samr_dissect_QueryDisplayInfo3_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13623 guint32 status;
13625 pinfo->dcerpc_procedure_name="QueryDisplayInfo3";
13626 offset = samr_dissect_element_QueryDisplayInfo3_total_size(tvb, offset, pinfo, tree, di, drep);
13627 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13629 offset = samr_dissect_element_QueryDisplayInfo3_returned_size(tvb, offset, pinfo, tree, di, drep);
13630 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13632 offset = samr_dissect_element_QueryDisplayInfo3_info(tvb, offset, pinfo, tree, di, drep);
13633 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13635 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13637 if (status != 0)
13638 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
13640 return offset;
13643 static int
13644 samr_dissect_QueryDisplayInfo3_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13646 pinfo->dcerpc_procedure_name="QueryDisplayInfo3";
13647 offset = samr_dissect_element_QueryDisplayInfo3_domain_handle(tvb, offset, pinfo, tree, di, drep);
13648 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13649 offset = samr_dissect_element_QueryDisplayInfo3_level(tvb, offset, pinfo, tree, di, drep);
13650 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13651 offset = samr_dissect_element_QueryDisplayInfo3_start_idx(tvb, offset, pinfo, tree, di, drep);
13652 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13653 offset = samr_dissect_element_QueryDisplayInfo3_max_entries(tvb, offset, pinfo, tree, di, drep);
13654 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13655 offset = samr_dissect_element_QueryDisplayInfo3_buf_size(tvb, offset, pinfo, tree, di, drep);
13656 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13657 return offset;
13660 static int
13661 samr_dissect_element_AddMultipleMembersToAlias_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13663 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_AddMultipleMembersToAlias_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
13665 return offset;
13668 static int
13669 samr_dissect_element_AddMultipleMembersToAlias_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13671 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
13673 return offset;
13676 static int
13677 samr_dissect_element_AddMultipleMembersToAlias_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13679 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_AddMultipleMembersToAlias_sids_, NDR_POINTER_REF, "Pointer to Sids (lsa_SidArray)",hf_samr_samr_AddMultipleMembersToAlias_sids);
13681 return offset;
13684 static int
13685 samr_dissect_element_AddMultipleMembersToAlias_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13687 offset=cnf_dissect_lsa_SidArray(tvb, offset, pinfo, tree, di, drep);
13689 return offset;
13692 /* IDL: NTSTATUS samr_AddMultipleMembersToAlias( */
13693 /* IDL: [in] [ref] policy_handle *alias_handle, */
13694 /* IDL: [in] [ref] lsa_SidArray *sids */
13695 /* IDL: ); */
13697 static int
13698 samr_dissect_AddMultipleMembersToAlias_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13700 guint32 status;
13702 pinfo->dcerpc_procedure_name="AddMultipleMembersToAlias";
13703 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13705 if (status != 0)
13706 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
13708 return offset;
13711 static int
13712 samr_dissect_AddMultipleMembersToAlias_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13714 pinfo->dcerpc_procedure_name="AddMultipleMembersToAlias";
13715 offset = samr_dissect_element_AddMultipleMembersToAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
13716 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13717 offset = samr_dissect_element_AddMultipleMembersToAlias_sids(tvb, offset, pinfo, tree, di, drep);
13718 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13719 return offset;
13722 static int
13723 samr_dissect_element_RemoveMultipleMembersFromAlias_alias_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13725 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RemoveMultipleMembersFromAlias_alias_handle_, NDR_POINTER_REF, "Pointer to Alias Handle (policy_handle)",hf_samr_alias_handle);
13727 return offset;
13730 static int
13731 samr_dissect_element_RemoveMultipleMembersFromAlias_alias_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13733 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
13735 return offset;
13738 static int
13739 samr_dissect_element_RemoveMultipleMembersFromAlias_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13741 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RemoveMultipleMembersFromAlias_sids_, NDR_POINTER_REF, "Pointer to Sids (lsa_SidArray)",hf_samr_samr_RemoveMultipleMembersFromAlias_sids);
13743 return offset;
13746 static int
13747 samr_dissect_element_RemoveMultipleMembersFromAlias_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13749 offset=cnf_dissect_lsa_SidArray(tvb, offset, pinfo, tree, di, drep);
13751 return offset;
13754 /* IDL: NTSTATUS samr_RemoveMultipleMembersFromAlias( */
13755 /* IDL: [in] [ref] policy_handle *alias_handle, */
13756 /* IDL: [in] [ref] lsa_SidArray *sids */
13757 /* IDL: ); */
13759 static int
13760 samr_dissect_RemoveMultipleMembersFromAlias_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13762 guint32 status;
13764 pinfo->dcerpc_procedure_name="RemoveMultipleMembersFromAlias";
13765 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13767 if (status != 0)
13768 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
13770 return offset;
13773 static int
13774 samr_dissect_RemoveMultipleMembersFromAlias_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13776 pinfo->dcerpc_procedure_name="RemoveMultipleMembersFromAlias";
13777 offset = samr_dissect_element_RemoveMultipleMembersFromAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
13778 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13779 offset = samr_dissect_element_RemoveMultipleMembersFromAlias_sids(tvb, offset, pinfo, tree, di, drep);
13780 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13781 return offset;
13784 static int
13785 samr_dissect_element_OemChangePasswordUser2_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13787 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OemChangePasswordUser2_server_, NDR_POINTER_UNIQUE, "Pointer to Server (lsa_AsciiString)",hf_samr_samr_OemChangePasswordUser2_server);
13789 return offset;
13792 static int
13793 samr_dissect_element_OemChangePasswordUser2_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13795 offset=cnf_dissect_lsa_AsciiString(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_OemChangePasswordUser2_server);
13797 return offset;
13800 static int
13801 samr_dissect_element_OemChangePasswordUser2_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13803 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OemChangePasswordUser2_account_, NDR_POINTER_REF, "Pointer to Account (lsa_AsciiString)",hf_samr_samr_OemChangePasswordUser2_account);
13805 return offset;
13808 static int
13809 samr_dissect_element_OemChangePasswordUser2_account_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13811 offset=cnf_dissect_lsa_AsciiString(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_OemChangePasswordUser2_account);
13813 return offset;
13816 static int
13817 samr_dissect_element_OemChangePasswordUser2_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13819 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OemChangePasswordUser2_password_, NDR_POINTER_UNIQUE, "Pointer to Password (samr_CryptPassword)",hf_samr_samr_OemChangePasswordUser2_password);
13821 return offset;
13824 static int
13825 samr_dissect_element_OemChangePasswordUser2_password_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13827 offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_OemChangePasswordUser2_password,0);
13829 return offset;
13832 static int
13833 samr_dissect_element_OemChangePasswordUser2_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13835 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_OemChangePasswordUser2_hash_, NDR_POINTER_UNIQUE, "Pointer to Hash (samr_Password)",hf_samr_samr_OemChangePasswordUser2_hash);
13837 return offset;
13840 static int
13841 samr_dissect_element_OemChangePasswordUser2_hash_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13843 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_OemChangePasswordUser2_hash,0);
13845 return offset;
13848 /* IDL: NTSTATUS samr_OemChangePasswordUser2( */
13849 /* IDL: [unique(1)] [in] lsa_AsciiString *server, */
13850 /* IDL: [in] [ref] lsa_AsciiString *account, */
13851 /* IDL: [unique(1)] [in] samr_CryptPassword *password, */
13852 /* IDL: [unique(1)] [in] samr_Password *hash */
13853 /* IDL: ); */
13855 static int
13856 samr_dissect_OemChangePasswordUser2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13858 guint32 status;
13860 pinfo->dcerpc_procedure_name="OemChangePasswordUser2";
13861 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13863 if (status != 0)
13864 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
13866 return offset;
13869 static int
13870 samr_dissect_OemChangePasswordUser2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13872 pinfo->dcerpc_procedure_name="OemChangePasswordUser2";
13873 offset = samr_dissect_element_OemChangePasswordUser2_server(tvb, offset, pinfo, tree, di, drep);
13874 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13875 offset = samr_dissect_element_OemChangePasswordUser2_account(tvb, offset, pinfo, tree, di, drep);
13876 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13877 offset = samr_dissect_element_OemChangePasswordUser2_password(tvb, offset, pinfo, tree, di, drep);
13878 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13879 offset = samr_dissect_element_OemChangePasswordUser2_hash(tvb, offset, pinfo, tree, di, drep);
13880 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13881 return offset;
13884 static int
13885 samr_dissect_element_ChangePasswordUser2_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13887 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser2_server_, NDR_POINTER_UNIQUE, "Pointer to Server (lsa_String)",hf_samr_samr_ChangePasswordUser2_server);
13889 return offset;
13892 static int
13893 samr_dissect_element_ChangePasswordUser2_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13895 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ChangePasswordUser2_server);
13897 return offset;
13900 static int
13901 samr_dissect_element_ChangePasswordUser2_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13903 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser2_account_, NDR_POINTER_REF, "Pointer to Account (lsa_String)",hf_samr_samr_ChangePasswordUser2_account);
13905 return offset;
13908 static int
13909 samr_dissect_element_ChangePasswordUser2_account_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13911 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ChangePasswordUser2_account);
13913 return offset;
13916 static int
13917 samr_dissect_element_ChangePasswordUser2_nt_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13919 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser2_nt_password_, NDR_POINTER_UNIQUE, "Pointer to Nt Password (samr_CryptPassword)",hf_samr_samr_ChangePasswordUser2_nt_password);
13921 return offset;
13924 static int
13925 samr_dissect_element_ChangePasswordUser2_nt_password_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13927 offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser2_nt_password,0);
13929 return offset;
13932 static int
13933 samr_dissect_element_ChangePasswordUser2_nt_verifier(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13935 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser2_nt_verifier_, NDR_POINTER_UNIQUE, "Pointer to Nt Verifier (samr_Password)",hf_samr_samr_ChangePasswordUser2_nt_verifier);
13937 return offset;
13940 static int
13941 samr_dissect_element_ChangePasswordUser2_nt_verifier_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13943 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser2_nt_verifier,0);
13945 return offset;
13948 static int
13949 samr_dissect_element_ChangePasswordUser2_lm_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13951 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser2_lm_change, 0);
13953 return offset;
13956 static int
13957 samr_dissect_element_ChangePasswordUser2_lm_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13959 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser2_lm_password_, NDR_POINTER_UNIQUE, "Pointer to Lm Password (samr_CryptPassword)",hf_samr_samr_ChangePasswordUser2_lm_password);
13961 return offset;
13964 static int
13965 samr_dissect_element_ChangePasswordUser2_lm_password_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13967 offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser2_lm_password,0);
13969 return offset;
13972 static int
13973 samr_dissect_element_ChangePasswordUser2_lm_verifier(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13975 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser2_lm_verifier_, NDR_POINTER_UNIQUE, "Pointer to Lm Verifier (samr_Password)",hf_samr_samr_ChangePasswordUser2_lm_verifier);
13977 return offset;
13980 static int
13981 samr_dissect_element_ChangePasswordUser2_lm_verifier_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
13983 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser2_lm_verifier,0);
13985 return offset;
13988 /* IDL: NTSTATUS samr_ChangePasswordUser2( */
13989 /* IDL: [unique(1)] [in] lsa_String *server, */
13990 /* IDL: [in] [ref] lsa_String *account, */
13991 /* IDL: [unique(1)] [in] samr_CryptPassword *nt_password, */
13992 /* IDL: [unique(1)] [in] samr_Password *nt_verifier, */
13993 /* IDL: [in] uint8 lm_change, */
13994 /* IDL: [unique(1)] [in] samr_CryptPassword *lm_password, */
13995 /* IDL: [unique(1)] [in] samr_Password *lm_verifier */
13996 /* IDL: ); */
13998 static int
13999 samr_dissect_ChangePasswordUser2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14001 guint32 status;
14003 pinfo->dcerpc_procedure_name="ChangePasswordUser2";
14004 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14006 if (status != 0)
14007 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
14009 return offset;
14012 static int
14013 samr_dissect_ChangePasswordUser2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14015 pinfo->dcerpc_procedure_name="ChangePasswordUser2";
14016 offset = samr_dissect_element_ChangePasswordUser2_server(tvb, offset, pinfo, tree, di, drep);
14017 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14018 offset = samr_dissect_element_ChangePasswordUser2_account(tvb, offset, pinfo, tree, di, drep);
14019 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14020 offset = samr_dissect_element_ChangePasswordUser2_nt_password(tvb, offset, pinfo, tree, di, drep);
14021 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14022 offset = samr_dissect_element_ChangePasswordUser2_nt_verifier(tvb, offset, pinfo, tree, di, drep);
14023 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14024 offset = samr_dissect_element_ChangePasswordUser2_lm_change(tvb, offset, pinfo, tree, di, drep);
14025 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14026 offset = samr_dissect_element_ChangePasswordUser2_lm_password(tvb, offset, pinfo, tree, di, drep);
14027 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14028 offset = samr_dissect_element_ChangePasswordUser2_lm_verifier(tvb, offset, pinfo, tree, di, drep);
14029 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14030 return offset;
14033 static int
14034 samr_dissect_element_GetDomPwInfo_domain_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14036 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetDomPwInfo_domain_name_, NDR_POINTER_UNIQUE, "Pointer to Domain Name (lsa_String)",hf_samr_samr_GetDomPwInfo_domain_name);
14038 return offset;
14041 static int
14042 samr_dissect_element_GetDomPwInfo_domain_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14044 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 3|PIDL_SET_COL_INFO, hf_samr_samr_GetDomPwInfo_domain_name);
14046 return offset;
14049 static int
14050 samr_dissect_element_GetDomPwInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14052 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetDomPwInfo_info_, NDR_POINTER_REF, "Pointer to Info (samr_PwInfo)",hf_samr_samr_GetDomPwInfo_info);
14054 return offset;
14057 static int
14058 samr_dissect_element_GetDomPwInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14060 offset = samr_dissect_struct_PwInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GetDomPwInfo_info,0);
14062 return offset;
14065 /* IDL: NTSTATUS samr_GetDomPwInfo( */
14066 /* IDL: [unique(1)] [in] lsa_String *domain_name, */
14067 /* IDL: [out] [ref] samr_PwInfo *info */
14068 /* IDL: ); */
14070 static int
14071 samr_dissect_GetDomPwInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14073 guint32 status;
14075 pinfo->dcerpc_procedure_name="GetDomPwInfo";
14076 offset = samr_dissect_element_GetDomPwInfo_info(tvb, offset, pinfo, tree, di, drep);
14077 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14079 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14081 if (status != 0)
14082 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
14084 return offset;
14087 static int
14088 samr_dissect_GetDomPwInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14090 pinfo->dcerpc_procedure_name="GetDomPwInfo";
14091 offset = samr_dissect_element_GetDomPwInfo_domain_name(tvb, offset, pinfo, tree, di, drep);
14092 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14093 return offset;
14096 static int
14097 samr_dissect_element_Connect2_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14099 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect2_system_name_, NDR_POINTER_UNIQUE, "Pointer to System Name (uint16)",hf_samr_samr_Connect2_system_name);
14101 return offset;
14104 static int
14105 samr_dissect_element_Connect2_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14107 char *data;
14109 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_samr_samr_Connect2_system_name, FALSE, &data);
14110 proto_item_append_text(tree, ": %s", data);
14112 return offset;
14115 static int
14116 samr_dissect_element_Connect2_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14118 offset = samr_dissect_bitmap_ConnectAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask, 0);
14120 return offset;
14123 static int
14124 samr_dissect_element_Connect2_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14126 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect2_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
14128 return offset;
14131 static int
14132 samr_dissect_element_Connect2_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14134 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_CONNECT);
14136 return offset;
14139 /* IDL: NTSTATUS samr_Connect2( */
14140 /* IDL: [unique(1)] [in] [charset(UTF16)] uint16 *system_name, */
14141 /* IDL: [in] samr_ConnectAccessMask access_mask, */
14142 /* IDL: [out] [ref] policy_handle *connect_handle */
14143 /* IDL: ); */
14145 static int
14146 samr_dissect_Connect2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14148 guint32 status;
14150 pinfo->dcerpc_procedure_name="Connect2";
14151 offset = samr_dissect_element_Connect2_connect_handle(tvb, offset, pinfo, tree, di, drep);
14152 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14154 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14156 if (status != 0)
14157 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
14159 return offset;
14162 static int
14163 samr_dissect_Connect2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14165 pinfo->dcerpc_procedure_name="Connect2";
14166 offset = samr_dissect_element_Connect2_system_name(tvb, offset, pinfo, tree, di, drep);
14167 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14168 offset = samr_dissect_element_Connect2_access_mask(tvb, offset, pinfo, tree, di, drep);
14169 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14170 return offset;
14173 static int
14174 samr_dissect_element_SetUserInfo2_user_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14176 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetUserInfo2_user_handle_, NDR_POINTER_REF, "Pointer to User Handle (policy_handle)",hf_samr_user_handle);
14178 return offset;
14181 static int
14182 samr_dissect_element_SetUserInfo2_user_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14184 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
14186 return offset;
14189 static int
14190 samr_dissect_element_SetUserInfo2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14192 offset = samr_dissect_enum_UserInfoLevel(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetUserInfo2_level, 0);
14194 return offset;
14197 static int
14198 samr_dissect_element_SetUserInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14200 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetUserInfo2_info_, NDR_POINTER_REF, "Pointer to Info (samr_UserInfo)",hf_samr_samr_SetUserInfo2_info);
14202 return offset;
14205 static int
14206 samr_dissect_element_SetUserInfo2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14208 offset = samr_dissect_UserInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetUserInfo2_info, 0);
14210 return offset;
14213 /* IDL: NTSTATUS samr_SetUserInfo2( */
14214 /* IDL: [in] [ref] policy_handle *user_handle, */
14215 /* IDL: [in] samr_UserInfoLevel level, */
14216 /* IDL: [ref] [in] [switch_is(level)] samr_UserInfo *info */
14217 /* IDL: ); */
14219 static int
14220 samr_dissect_SetUserInfo2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14222 guint32 status;
14224 pinfo->dcerpc_procedure_name="SetUserInfo2";
14225 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14227 if (status != 0)
14228 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
14230 return offset;
14233 static int
14234 samr_dissect_SetUserInfo2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14236 pinfo->dcerpc_procedure_name="SetUserInfo2";
14237 offset = samr_dissect_element_SetUserInfo2_user_handle(tvb, offset, pinfo, tree, di, drep);
14238 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14239 offset = samr_dissect_element_SetUserInfo2_level(tvb, offset, pinfo, tree, di, drep);
14240 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14241 offset = samr_dissect_element_SetUserInfo2_info(tvb, offset, pinfo, tree, di, drep);
14242 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14243 return offset;
14246 static int
14247 samr_dissect_element_SetBootKeyInformation_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14249 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetBootKeyInformation_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
14251 return offset;
14254 static int
14255 samr_dissect_element_SetBootKeyInformation_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14257 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, 0);
14259 return offset;
14262 static int
14263 samr_dissect_element_SetBootKeyInformation_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14265 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetBootKeyInformation_unknown1, 0);
14267 return offset;
14270 static int
14271 samr_dissect_element_SetBootKeyInformation_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14273 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetBootKeyInformation_unknown2, 0);
14275 return offset;
14278 static int
14279 samr_dissect_element_SetBootKeyInformation_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14281 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetBootKeyInformation_unknown3, 0);
14283 return offset;
14286 /* IDL: NTSTATUS samr_SetBootKeyInformation( */
14287 /* IDL: [in] [ref] policy_handle *connect_handle, */
14288 /* IDL: [in] uint32 unknown1, */
14289 /* IDL: [in] uint32 unknown2, */
14290 /* IDL: [in] uint32 unknown3 */
14291 /* IDL: ); */
14293 static int
14294 samr_dissect_SetBootKeyInformation_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14296 guint32 status;
14298 pinfo->dcerpc_procedure_name="SetBootKeyInformation";
14299 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14301 if (status != 0)
14302 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
14304 return offset;
14307 static int
14308 samr_dissect_SetBootKeyInformation_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14310 pinfo->dcerpc_procedure_name="SetBootKeyInformation";
14311 offset = samr_dissect_element_SetBootKeyInformation_connect_handle(tvb, offset, pinfo, tree, di, drep);
14312 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14313 offset = samr_dissect_element_SetBootKeyInformation_unknown1(tvb, offset, pinfo, tree, di, drep);
14314 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14315 offset = samr_dissect_element_SetBootKeyInformation_unknown2(tvb, offset, pinfo, tree, di, drep);
14316 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14317 offset = samr_dissect_element_SetBootKeyInformation_unknown3(tvb, offset, pinfo, tree, di, drep);
14318 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14319 return offset;
14322 static int
14323 samr_dissect_element_GetBootKeyInformation_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14325 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetBootKeyInformation_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_samr_GetBootKeyInformation_domain_handle);
14327 return offset;
14330 static int
14331 samr_dissect_element_GetBootKeyInformation_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14333 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GetBootKeyInformation_domain_handle, 0);
14335 return offset;
14338 static int
14339 samr_dissect_element_GetBootKeyInformation_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14341 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_GetBootKeyInformation_unknown_, NDR_POINTER_REF, "Pointer to Unknown (uint32)",hf_samr_samr_GetBootKeyInformation_unknown);
14343 return offset;
14346 static int
14347 samr_dissect_element_GetBootKeyInformation_unknown_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14349 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GetBootKeyInformation_unknown, 0);
14351 return offset;
14354 /* IDL: NTSTATUS samr_GetBootKeyInformation( */
14355 /* IDL: [in] [ref] policy_handle *domain_handle, */
14356 /* IDL: [out] [ref] uint32 *unknown */
14357 /* IDL: ); */
14359 static int
14360 samr_dissect_GetBootKeyInformation_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14362 guint32 status;
14364 pinfo->dcerpc_procedure_name="GetBootKeyInformation";
14365 offset = samr_dissect_element_GetBootKeyInformation_unknown(tvb, offset, pinfo, tree, di, drep);
14366 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14368 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14370 if (status != 0)
14371 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
14373 return offset;
14376 static int
14377 samr_dissect_GetBootKeyInformation_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14379 pinfo->dcerpc_procedure_name="GetBootKeyInformation";
14380 offset = samr_dissect_element_GetBootKeyInformation_domain_handle(tvb, offset, pinfo, tree, di, drep);
14381 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14382 return offset;
14385 static int
14386 samr_dissect_element_Connect3_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14388 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect3_system_name_, NDR_POINTER_UNIQUE, "Pointer to System Name (uint16)",hf_samr_samr_Connect3_system_name);
14390 return offset;
14393 static int
14394 samr_dissect_element_Connect3_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14396 char *data;
14398 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_samr_samr_Connect3_system_name, FALSE, &data);
14399 proto_item_append_text(tree, ": %s", data);
14401 return offset;
14404 static int
14405 samr_dissect_element_Connect3_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14407 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect3_unknown, 0);
14409 return offset;
14412 static int
14413 samr_dissect_element_Connect3_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14415 offset = samr_dissect_bitmap_ConnectAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask, 0);
14417 return offset;
14420 static int
14421 samr_dissect_element_Connect3_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14423 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect3_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
14425 return offset;
14428 static int
14429 samr_dissect_element_Connect3_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14431 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_CONNECT);
14433 return offset;
14436 /* IDL: NTSTATUS samr_Connect3( */
14437 /* IDL: [unique(1)] [in] [charset(UTF16)] uint16 *system_name, */
14438 /* IDL: [in] uint32 unknown, */
14439 /* IDL: [in] samr_ConnectAccessMask access_mask, */
14440 /* IDL: [out] [ref] policy_handle *connect_handle */
14441 /* IDL: ); */
14443 static int
14444 samr_dissect_Connect3_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14446 guint32 status;
14448 pinfo->dcerpc_procedure_name="Connect3";
14449 offset = samr_dissect_element_Connect3_connect_handle(tvb, offset, pinfo, tree, di, drep);
14450 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14452 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14454 if (status != 0)
14455 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
14457 return offset;
14460 static int
14461 samr_dissect_Connect3_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14463 pinfo->dcerpc_procedure_name="Connect3";
14464 offset = samr_dissect_element_Connect3_system_name(tvb, offset, pinfo, tree, di, drep);
14465 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14466 offset = samr_dissect_element_Connect3_unknown(tvb, offset, pinfo, tree, di, drep);
14467 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14468 offset = samr_dissect_element_Connect3_access_mask(tvb, offset, pinfo, tree, di, drep);
14469 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14470 return offset;
14473 static int
14474 samr_dissect_element_Connect4_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14476 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect4_system_name_, NDR_POINTER_UNIQUE, "Pointer to System Name (uint16)",hf_samr_samr_Connect4_system_name);
14478 return offset;
14481 static int
14482 samr_dissect_element_Connect4_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14484 char *data;
14486 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_samr_samr_Connect4_system_name, FALSE, &data);
14487 proto_item_append_text(tree, ": %s", data);
14489 return offset;
14492 static int
14493 samr_dissect_element_Connect4_client_version(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14495 offset = samr_dissect_enum_ConnectVersion(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect4_client_version, 0);
14497 return offset;
14500 static int
14501 samr_dissect_element_Connect4_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14503 offset = samr_dissect_bitmap_ConnectAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask, 0);
14505 return offset;
14508 static int
14509 samr_dissect_element_Connect4_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14511 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect4_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
14513 return offset;
14516 static int
14517 samr_dissect_element_Connect4_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14519 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_CONNECT);
14521 return offset;
14524 /* IDL: NTSTATUS samr_Connect4( */
14525 /* IDL: [unique(1)] [in] [charset(UTF16)] uint16 *system_name, */
14526 /* IDL: [in] samr_ConnectVersion client_version, */
14527 /* IDL: [in] samr_ConnectAccessMask access_mask, */
14528 /* IDL: [out] [ref] policy_handle *connect_handle */
14529 /* IDL: ); */
14531 static int
14532 samr_dissect_Connect4_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14534 guint32 status;
14536 pinfo->dcerpc_procedure_name="Connect4";
14537 offset = samr_dissect_element_Connect4_connect_handle(tvb, offset, pinfo, tree, di, drep);
14538 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14540 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14542 if (status != 0)
14543 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
14545 return offset;
14548 static int
14549 samr_dissect_Connect4_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14551 pinfo->dcerpc_procedure_name="Connect4";
14552 offset = samr_dissect_element_Connect4_system_name(tvb, offset, pinfo, tree, di, drep);
14553 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14554 offset = samr_dissect_element_Connect4_client_version(tvb, offset, pinfo, tree, di, drep);
14555 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14556 offset = samr_dissect_element_Connect4_access_mask(tvb, offset, pinfo, tree, di, drep);
14557 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14558 return offset;
14561 static int
14562 samr_dissect_element_ChangePasswordUser3_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14564 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_server_, NDR_POINTER_UNIQUE, "Pointer to Server (lsa_String)",hf_samr_samr_ChangePasswordUser3_server);
14566 return offset;
14569 static int
14570 samr_dissect_element_ChangePasswordUser3_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14572 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ChangePasswordUser3_server);
14574 return offset;
14577 static int
14578 samr_dissect_element_ChangePasswordUser3_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14580 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_account_, NDR_POINTER_REF, "Pointer to Account (lsa_String)",hf_samr_samr_ChangePasswordUser3_account);
14582 return offset;
14585 static int
14586 samr_dissect_element_ChangePasswordUser3_account_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14588 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ChangePasswordUser3_account);
14590 return offset;
14593 static int
14594 samr_dissect_element_ChangePasswordUser3_nt_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14596 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_nt_password_, NDR_POINTER_UNIQUE, "Pointer to Nt Password (samr_CryptPassword)",hf_samr_samr_ChangePasswordUser3_nt_password);
14598 return offset;
14601 static int
14602 samr_dissect_element_ChangePasswordUser3_nt_password_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14604 offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_nt_password,0);
14606 return offset;
14609 static int
14610 samr_dissect_element_ChangePasswordUser3_nt_verifier(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14612 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_nt_verifier_, NDR_POINTER_UNIQUE, "Pointer to Nt Verifier (samr_Password)",hf_samr_samr_ChangePasswordUser3_nt_verifier);
14614 return offset;
14617 static int
14618 samr_dissect_element_ChangePasswordUser3_nt_verifier_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14620 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_nt_verifier,0);
14622 return offset;
14625 static int
14626 samr_dissect_element_ChangePasswordUser3_lm_change(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14628 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser3_lm_change, 0);
14630 return offset;
14633 static int
14634 samr_dissect_element_ChangePasswordUser3_lm_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14636 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_lm_password_, NDR_POINTER_UNIQUE, "Pointer to Lm Password (samr_CryptPassword)",hf_samr_samr_ChangePasswordUser3_lm_password);
14638 return offset;
14641 static int
14642 samr_dissect_element_ChangePasswordUser3_lm_password_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14644 offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_lm_password,0);
14646 return offset;
14649 static int
14650 samr_dissect_element_ChangePasswordUser3_lm_verifier(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14652 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_lm_verifier_, NDR_POINTER_UNIQUE, "Pointer to Lm Verifier (samr_Password)",hf_samr_samr_ChangePasswordUser3_lm_verifier);
14654 return offset;
14657 static int
14658 samr_dissect_element_ChangePasswordUser3_lm_verifier_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14660 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_lm_verifier,0);
14662 return offset;
14665 static int
14666 samr_dissect_element_ChangePasswordUser3_password3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14668 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_password3_, NDR_POINTER_UNIQUE, "Pointer to Password3 (samr_CryptPassword)",hf_samr_samr_ChangePasswordUser3_password3);
14670 return offset;
14673 static int
14674 samr_dissect_element_ChangePasswordUser3_password3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14676 offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_password3,0);
14678 return offset;
14681 static int
14682 samr_dissect_element_ChangePasswordUser3_dominfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14684 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_dominfo_, NDR_POINTER_REF, "Pointer to Dominfo (samr_DomInfo1)",hf_samr_samr_ChangePasswordUser3_dominfo);
14686 return offset;
14689 static int
14690 samr_dissect_element_ChangePasswordUser3_dominfo_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14692 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_dominfo__, NDR_POINTER_UNIQUE, "Pointer to Dominfo (samr_DomInfo1)",hf_samr_samr_ChangePasswordUser3_dominfo);
14694 return offset;
14697 static int
14698 samr_dissect_element_ChangePasswordUser3_dominfo__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14700 offset = samr_dissect_struct_DomInfo1(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_dominfo,0);
14702 return offset;
14705 static int
14706 samr_dissect_element_ChangePasswordUser3_reject(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14708 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_reject_, NDR_POINTER_REF, "Pointer to Reject (samr_ChangeReject)",hf_samr_samr_ChangePasswordUser3_reject);
14710 return offset;
14713 static int
14714 samr_dissect_element_ChangePasswordUser3_reject_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14716 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_reject__, NDR_POINTER_UNIQUE, "Pointer to Reject (samr_ChangeReject)",hf_samr_samr_ChangePasswordUser3_reject);
14718 return offset;
14721 static int
14722 samr_dissect_element_ChangePasswordUser3_reject__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14724 offset = samr_dissect_struct_ChangeReject(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_reject,0);
14726 return offset;
14729 /* IDL: NTSTATUS samr_ChangePasswordUser3( */
14730 /* IDL: [unique(1)] [in] lsa_String *server, */
14731 /* IDL: [in] [ref] lsa_String *account, */
14732 /* IDL: [unique(1)] [in] samr_CryptPassword *nt_password, */
14733 /* IDL: [unique(1)] [in] samr_Password *nt_verifier, */
14734 /* IDL: [in] uint8 lm_change, */
14735 /* IDL: [unique(1)] [in] samr_CryptPassword *lm_password, */
14736 /* IDL: [unique(1)] [in] samr_Password *lm_verifier, */
14737 /* IDL: [unique(1)] [in] samr_CryptPassword *password3, */
14738 /* IDL: [out] [ref] samr_DomInfo1 **dominfo, */
14739 /* IDL: [out] [ref] samr_ChangeReject **reject */
14740 /* IDL: ); */
14742 static int
14743 samr_dissect_ChangePasswordUser3_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14745 guint32 status;
14747 pinfo->dcerpc_procedure_name="ChangePasswordUser3";
14748 offset = samr_dissect_element_ChangePasswordUser3_dominfo(tvb, offset, pinfo, tree, di, drep);
14749 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14751 offset = samr_dissect_element_ChangePasswordUser3_reject(tvb, offset, pinfo, tree, di, drep);
14752 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14754 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14756 if (status != 0)
14757 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
14759 return offset;
14762 static int
14763 samr_dissect_ChangePasswordUser3_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14765 pinfo->dcerpc_procedure_name="ChangePasswordUser3";
14766 offset = samr_dissect_element_ChangePasswordUser3_server(tvb, offset, pinfo, tree, di, drep);
14767 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14768 offset = samr_dissect_element_ChangePasswordUser3_account(tvb, offset, pinfo, tree, di, drep);
14769 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14770 offset = samr_dissect_element_ChangePasswordUser3_nt_password(tvb, offset, pinfo, tree, di, drep);
14771 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14772 offset = samr_dissect_element_ChangePasswordUser3_nt_verifier(tvb, offset, pinfo, tree, di, drep);
14773 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14774 offset = samr_dissect_element_ChangePasswordUser3_lm_change(tvb, offset, pinfo, tree, di, drep);
14775 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14776 offset = samr_dissect_element_ChangePasswordUser3_lm_password(tvb, offset, pinfo, tree, di, drep);
14777 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14778 offset = samr_dissect_element_ChangePasswordUser3_lm_verifier(tvb, offset, pinfo, tree, di, drep);
14779 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14780 offset = samr_dissect_element_ChangePasswordUser3_password3(tvb, offset, pinfo, tree, di, drep);
14781 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14782 return offset;
14785 static int
14786 samr_dissect_element_Connect5_system_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14788 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect5_system_name_, NDR_POINTER_UNIQUE, "Pointer to System Name (uint16)",hf_samr_samr_Connect5_system_name);
14790 return offset;
14793 static int
14794 samr_dissect_element_Connect5_system_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14796 char *data;
14798 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(guint16), hf_samr_samr_Connect5_system_name, FALSE, &data);
14799 proto_item_append_text(tree, ": %s", data);
14801 return offset;
14804 static int
14805 samr_dissect_element_Connect5_access_mask(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14807 offset = samr_dissect_bitmap_ConnectAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask, 0);
14809 return offset;
14812 static int
14813 samr_dissect_element_Connect5_level_in(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14815 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect5_level_in, 0);
14817 return offset;
14820 static int
14821 samr_dissect_element_Connect5_info_in(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14823 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect5_info_in_, NDR_POINTER_REF, "Pointer to Info In (samr_ConnectInfo)",hf_samr_samr_Connect5_info_in);
14825 return offset;
14828 static int
14829 samr_dissect_element_Connect5_info_in_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14831 offset = samr_dissect_ConnectInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect5_info_in, 0);
14833 return offset;
14836 static int
14837 samr_dissect_element_Connect5_level_out(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14839 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect5_level_out_, NDR_POINTER_REF, "Pointer to Level Out (uint32)",hf_samr_samr_Connect5_level_out);
14841 return offset;
14844 static int
14845 samr_dissect_element_Connect5_level_out_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14847 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect5_level_out, 0);
14849 return offset;
14852 static int
14853 samr_dissect_element_Connect5_info_out(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14855 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect5_info_out_, NDR_POINTER_REF, "Pointer to Info Out (samr_ConnectInfo)",hf_samr_samr_Connect5_info_out);
14857 return offset;
14860 static int
14861 samr_dissect_element_Connect5_info_out_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14863 offset = samr_dissect_ConnectInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect5_info_out, 0);
14865 return offset;
14868 static int
14869 samr_dissect_element_Connect5_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14871 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Connect5_connect_handle_, NDR_POINTER_REF, "Pointer to Connect Handle (policy_handle)",hf_samr_connect_handle);
14873 return offset;
14876 static int
14877 samr_dissect_element_Connect5_connect_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14879 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_CONNECT);
14881 return offset;
14884 /* IDL: NTSTATUS samr_Connect5( */
14885 /* IDL: [unique(1)] [in] [charset(UTF16)] uint16 *system_name, */
14886 /* IDL: [in] samr_ConnectAccessMask access_mask, */
14887 /* IDL: [in] uint32 level_in, */
14888 /* IDL: [ref] [in] [switch_is(level_in)] samr_ConnectInfo *info_in, */
14889 /* IDL: [out] [ref] uint32 *level_out, */
14890 /* IDL: [out] [ref] [switch_is(*level_out)] samr_ConnectInfo *info_out, */
14891 /* IDL: [out] [ref] policy_handle *connect_handle */
14892 /* IDL: ); */
14894 static int
14895 samr_dissect_Connect5_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14897 guint32 status;
14899 pinfo->dcerpc_procedure_name="Connect5";
14900 offset = samr_dissect_element_Connect5_level_out(tvb, offset, pinfo, tree, di, drep);
14901 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14903 offset = samr_dissect_element_Connect5_info_out(tvb, offset, pinfo, tree, di, drep);
14904 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14906 offset = samr_dissect_element_Connect5_connect_handle(tvb, offset, pinfo, tree, di, drep);
14907 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14909 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14911 if (status != 0)
14912 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
14914 return offset;
14917 static int
14918 samr_dissect_Connect5_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14920 pinfo->dcerpc_procedure_name="Connect5";
14921 offset = samr_dissect_element_Connect5_system_name(tvb, offset, pinfo, tree, di, drep);
14922 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14923 offset = samr_dissect_element_Connect5_access_mask(tvb, offset, pinfo, tree, di, drep);
14924 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14925 offset = samr_dissect_element_Connect5_level_in(tvb, offset, pinfo, tree, di, drep);
14926 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14927 offset = samr_dissect_element_Connect5_info_in(tvb, offset, pinfo, tree, di, drep);
14928 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14929 return offset;
14932 static int
14933 samr_dissect_element_RidToSid_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14935 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidToSid_domain_handle_, NDR_POINTER_REF, "Pointer to Domain Handle (policy_handle)",hf_samr_domain_handle);
14937 return offset;
14940 static int
14941 samr_dissect_element_RidToSid_domain_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14943 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
14945 return offset;
14948 static int
14949 samr_dissect_element_RidToSid_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14951 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
14953 return offset;
14956 static int
14957 samr_dissect_element_RidToSid_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14959 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidToSid_sid_, NDR_POINTER_REF, "Pointer to Sid (dom_sid2)",hf_samr_samr_RidToSid_sid);
14961 return offset;
14964 static int
14965 samr_dissect_element_RidToSid_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14967 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidToSid_sid__, NDR_POINTER_UNIQUE, "Pointer to Sid (dom_sid2)",hf_samr_samr_RidToSid_sid);
14969 return offset;
14972 static int
14973 samr_dissect_element_RidToSid_sid__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14975 offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
14977 return offset;
14980 /* IDL: NTSTATUS samr_RidToSid( */
14981 /* IDL: [in] [ref] policy_handle *domain_handle, */
14982 /* IDL: [in] uint32 rid, */
14983 /* IDL: [out] [ref] dom_sid2 **sid */
14984 /* IDL: ); */
14986 static int
14987 samr_dissect_RidToSid_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
14989 guint32 status;
14991 pinfo->dcerpc_procedure_name="RidToSid";
14992 offset = samr_dissect_element_RidToSid_sid(tvb, offset, pinfo, tree, di, drep);
14993 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14995 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14997 if (status != 0)
14998 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
15000 return offset;
15003 static int
15004 samr_dissect_RidToSid_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
15006 pinfo->dcerpc_procedure_name="RidToSid";
15007 offset = samr_dissect_element_RidToSid_domain_handle(tvb, offset, pinfo, tree, di, drep);
15008 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
15009 offset = samr_dissect_element_RidToSid_rid(tvb, offset, pinfo, tree, di, drep);
15010 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
15011 return offset;
15014 static int
15015 samr_dissect_element_SetDsrmPassword_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
15017 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetDsrmPassword_name_, NDR_POINTER_UNIQUE, "Pointer to Name (lsa_String)",hf_samr_samr_SetDsrmPassword_name);
15019 return offset;
15022 static int
15023 samr_dissect_element_SetDsrmPassword_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
15025 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_SetDsrmPassword_name);
15027 return offset;
15030 static int
15031 samr_dissect_element_SetDsrmPassword_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
15033 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetDsrmPassword_unknown, 0);
15035 return offset;
15038 static int
15039 samr_dissect_element_SetDsrmPassword_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
15041 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SetDsrmPassword_hash_, NDR_POINTER_UNIQUE, "Pointer to Hash (samr_Password)",hf_samr_samr_SetDsrmPassword_hash);
15043 return offset;
15046 static int
15047 samr_dissect_element_SetDsrmPassword_hash_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
15049 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_SetDsrmPassword_hash,0);
15051 return offset;
15054 /* IDL: NTSTATUS samr_SetDsrmPassword( */
15055 /* IDL: [unique(1)] [in] lsa_String *name, */
15056 /* IDL: [in] uint32 unknown, */
15057 /* IDL: [unique(1)] [in] samr_Password *hash */
15058 /* IDL: ); */
15060 static int
15061 samr_dissect_SetDsrmPassword_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
15063 guint32 status;
15065 pinfo->dcerpc_procedure_name="SetDsrmPassword";
15066 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
15068 if (status != 0)
15069 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
15071 return offset;
15074 static int
15075 samr_dissect_SetDsrmPassword_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
15077 pinfo->dcerpc_procedure_name="SetDsrmPassword";
15078 offset = samr_dissect_element_SetDsrmPassword_name(tvb, offset, pinfo, tree, di, drep);
15079 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
15080 offset = samr_dissect_element_SetDsrmPassword_unknown(tvb, offset, pinfo, tree, di, drep);
15081 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
15082 offset = samr_dissect_element_SetDsrmPassword_hash(tvb, offset, pinfo, tree, di, drep);
15083 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
15084 return offset;
15087 static int
15088 samr_dissect_element_ValidatePassword_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
15090 offset = samr_dissect_enum_ValidatePasswordLevel(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePassword_level, 0);
15092 return offset;
15095 static int
15096 samr_dissect_element_ValidatePassword_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
15098 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ValidatePassword_req_, NDR_POINTER_REF, "Pointer to Req (samr_ValidatePasswordReq)",hf_samr_samr_ValidatePassword_req);
15100 return offset;
15103 static int
15104 samr_dissect_element_ValidatePassword_req_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
15106 offset = samr_dissect_ValidatePasswordReq(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePassword_req, 0);
15108 return offset;
15111 static int
15112 samr_dissect_element_ValidatePassword_rep(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
15114 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ValidatePassword_rep_, NDR_POINTER_REF, "Pointer to Rep (samr_ValidatePasswordRep)",hf_samr_samr_ValidatePassword_rep);
15116 return offset;
15119 static int
15120 samr_dissect_element_ValidatePassword_rep_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
15122 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ValidatePassword_rep__, NDR_POINTER_UNIQUE, "Pointer to Rep (samr_ValidatePasswordRep)",hf_samr_samr_ValidatePassword_rep);
15124 return offset;
15127 static int
15128 samr_dissect_element_ValidatePassword_rep__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
15130 offset = samr_dissect_ValidatePasswordRep(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePassword_rep, 0);
15132 return offset;
15135 /* IDL: NTSTATUS samr_ValidatePassword( */
15136 /* IDL: [in] samr_ValidatePasswordLevel level, */
15137 /* IDL: [ref] [in] [switch_is(level)] samr_ValidatePasswordReq *req, */
15138 /* IDL: [out] [ref] [switch_is(level)] samr_ValidatePasswordRep **rep */
15139 /* IDL: ); */
15141 static int
15142 samr_dissect_ValidatePassword_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
15144 guint32 status;
15146 pinfo->dcerpc_procedure_name="ValidatePassword";
15147 offset = samr_dissect_element_ValidatePassword_rep(tvb, offset, pinfo, tree, di, drep);
15148 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
15150 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
15152 if (status != 0)
15153 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str(status, NT_errors, "Unknown NT status 0x%08x"));
15155 return offset;
15158 static int
15159 samr_dissect_ValidatePassword_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_)
15161 pinfo->dcerpc_procedure_name="ValidatePassword";
15162 offset = samr_dissect_element_ValidatePassword_level(tvb, offset, pinfo, tree, di, drep);
15163 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
15164 offset = samr_dissect_element_ValidatePassword_req(tvb, offset, pinfo, tree, di, drep);
15165 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
15166 return offset;
15170 static dcerpc_sub_dissector samr_dissectors[] = {
15171 { 0, "Connect",
15172 samr_dissect_Connect_request, samr_dissect_Connect_response},
15173 { 1, "Close",
15174 samr_dissect_Close_request, samr_dissect_Close_response},
15175 { 2, "SetSecurity",
15176 samr_dissect_SetSecurity_request, samr_dissect_SetSecurity_response},
15177 { 3, "QuerySecurity",
15178 samr_dissect_QuerySecurity_request, samr_dissect_QuerySecurity_response},
15179 { 4, "Shutdown",
15180 samr_dissect_Shutdown_request, samr_dissect_Shutdown_response},
15181 { 5, "LookupDomain",
15182 samr_dissect_LookupDomain_request, samr_dissect_LookupDomain_response},
15183 { 6, "EnumDomains",
15184 samr_dissect_EnumDomains_request, samr_dissect_EnumDomains_response},
15185 { 7, "OpenDomain",
15186 samr_dissect_OpenDomain_request, samr_dissect_OpenDomain_response},
15187 { 8, "QueryDomainInfo",
15188 samr_dissect_QueryDomainInfo_request, samr_dissect_QueryDomainInfo_response},
15189 { 9, "SetDomainInfo",
15190 samr_dissect_SetDomainInfo_request, samr_dissect_SetDomainInfo_response},
15191 { 10, "CreateDomainGroup",
15192 samr_dissect_CreateDomainGroup_request, samr_dissect_CreateDomainGroup_response},
15193 { 11, "EnumDomainGroups",
15194 samr_dissect_EnumDomainGroups_request, samr_dissect_EnumDomainGroups_response},
15195 { 12, "CreateUser",
15196 samr_dissect_CreateUser_request, samr_dissect_CreateUser_response},
15197 { 13, "EnumDomainUsers",
15198 samr_dissect_EnumDomainUsers_request, samr_dissect_EnumDomainUsers_response},
15199 { 14, "CreateDomAlias",
15200 samr_dissect_CreateDomAlias_request, samr_dissect_CreateDomAlias_response},
15201 { 15, "EnumDomainAliases",
15202 samr_dissect_EnumDomainAliases_request, samr_dissect_EnumDomainAliases_response},
15203 { 16, "GetAliasMembership",
15204 samr_dissect_GetAliasMembership_request, samr_dissect_GetAliasMembership_response},
15205 { 17, "LookupNames",
15206 samr_dissect_LookupNames_request, samr_dissect_LookupNames_response},
15207 { 18, "LookupRids",
15208 samr_dissect_LookupRids_request, samr_dissect_LookupRids_response},
15209 { 19, "OpenGroup",
15210 samr_dissect_OpenGroup_request, samr_dissect_OpenGroup_response},
15211 { 20, "QueryGroupInfo",
15212 samr_dissect_QueryGroupInfo_request, samr_dissect_QueryGroupInfo_response},
15213 { 21, "SetGroupInfo",
15214 samr_dissect_SetGroupInfo_request, samr_dissect_SetGroupInfo_response},
15215 { 22, "AddGroupMember",
15216 samr_dissect_AddGroupMember_request, samr_dissect_AddGroupMember_response},
15217 { 23, "DeleteDomainGroup",
15218 samr_dissect_DeleteDomainGroup_request, samr_dissect_DeleteDomainGroup_response},
15219 { 24, "DeleteGroupMember",
15220 samr_dissect_DeleteGroupMember_request, samr_dissect_DeleteGroupMember_response},
15221 { 25, "QueryGroupMember",
15222 samr_dissect_QueryGroupMember_request, samr_dissect_QueryGroupMember_response},
15223 { 26, "SetMemberAttributesOfGroup",
15224 samr_dissect_SetMemberAttributesOfGroup_request, samr_dissect_SetMemberAttributesOfGroup_response},
15225 { 27, "OpenAlias",
15226 samr_dissect_OpenAlias_request, samr_dissect_OpenAlias_response},
15227 { 28, "QueryAliasInfo",
15228 samr_dissect_QueryAliasInfo_request, samr_dissect_QueryAliasInfo_response},
15229 { 29, "SetAliasInfo",
15230 samr_dissect_SetAliasInfo_request, samr_dissect_SetAliasInfo_response},
15231 { 30, "DeleteDomAlias",
15232 samr_dissect_DeleteDomAlias_request, samr_dissect_DeleteDomAlias_response},
15233 { 31, "AddAliasMember",
15234 samr_dissect_AddAliasMember_request, samr_dissect_AddAliasMember_response},
15235 { 32, "DeleteAliasMember",
15236 samr_dissect_DeleteAliasMember_request, samr_dissect_DeleteAliasMember_response},
15237 { 33, "GetMembersInAlias",
15238 samr_dissect_GetMembersInAlias_request, samr_dissect_GetMembersInAlias_response},
15239 { 34, "OpenUser",
15240 samr_dissect_OpenUser_request, samr_dissect_OpenUser_response},
15241 { 35, "DeleteUser",
15242 samr_dissect_DeleteUser_request, samr_dissect_DeleteUser_response},
15243 { 36, "QueryUserInfo",
15244 samr_dissect_QueryUserInfo_request, samr_dissect_QueryUserInfo_response},
15245 { 37, "SetUserInfo",
15246 samr_dissect_SetUserInfo_request, samr_dissect_SetUserInfo_response},
15247 { 38, "ChangePasswordUser",
15248 samr_dissect_ChangePasswordUser_request, samr_dissect_ChangePasswordUser_response},
15249 { 39, "GetGroupsForUser",
15250 samr_dissect_GetGroupsForUser_request, samr_dissect_GetGroupsForUser_response},
15251 { 40, "QueryDisplayInfo",
15252 samr_dissect_QueryDisplayInfo_request, samr_dissect_QueryDisplayInfo_response},
15253 { 41, "GetDisplayEnumerationIndex",
15254 samr_dissect_GetDisplayEnumerationIndex_request, samr_dissect_GetDisplayEnumerationIndex_response},
15255 { 42, "TestPrivateFunctionsDomain",
15256 samr_dissect_TestPrivateFunctionsDomain_request, samr_dissect_TestPrivateFunctionsDomain_response},
15257 { 43, "TestPrivateFunctionsUser",
15258 samr_dissect_TestPrivateFunctionsUser_request, samr_dissect_TestPrivateFunctionsUser_response},
15259 { 44, "GetUserPwInfo",
15260 samr_dissect_GetUserPwInfo_request, samr_dissect_GetUserPwInfo_response},
15261 { 45, "RemoveMemberFromForeignDomain",
15262 samr_dissect_RemoveMemberFromForeignDomain_request, samr_dissect_RemoveMemberFromForeignDomain_response},
15263 { 46, "QueryDomainInfo2",
15264 samr_dissect_QueryDomainInfo2_request, samr_dissect_QueryDomainInfo2_response},
15265 { 47, "QueryUserInfo2",
15266 samr_dissect_QueryUserInfo2_request, samr_dissect_QueryUserInfo2_response},
15267 { 48, "QueryDisplayInfo2",
15268 samr_dissect_QueryDisplayInfo2_request, samr_dissect_QueryDisplayInfo2_response},
15269 { 49, "GetDisplayEnumerationIndex2",
15270 samr_dissect_GetDisplayEnumerationIndex2_request, samr_dissect_GetDisplayEnumerationIndex2_response},
15271 { 50, "CreateUser2",
15272 samr_dissect_CreateUser2_request, samr_dissect_CreateUser2_response},
15273 { 51, "QueryDisplayInfo3",
15274 samr_dissect_QueryDisplayInfo3_request, samr_dissect_QueryDisplayInfo3_response},
15275 { 52, "AddMultipleMembersToAlias",
15276 samr_dissect_AddMultipleMembersToAlias_request, samr_dissect_AddMultipleMembersToAlias_response},
15277 { 53, "RemoveMultipleMembersFromAlias",
15278 samr_dissect_RemoveMultipleMembersFromAlias_request, samr_dissect_RemoveMultipleMembersFromAlias_response},
15279 { 54, "OemChangePasswordUser2",
15280 samr_dissect_OemChangePasswordUser2_request, samr_dissect_OemChangePasswordUser2_response},
15281 { 55, "ChangePasswordUser2",
15282 samr_dissect_ChangePasswordUser2_request, samr_dissect_ChangePasswordUser2_response},
15283 { 56, "GetDomPwInfo",
15284 samr_dissect_GetDomPwInfo_request, samr_dissect_GetDomPwInfo_response},
15285 { 57, "Connect2",
15286 samr_dissect_Connect2_request, samr_dissect_Connect2_response},
15287 { 58, "SetUserInfo2",
15288 samr_dissect_SetUserInfo2_request, samr_dissect_SetUserInfo2_response},
15289 { 59, "SetBootKeyInformation",
15290 samr_dissect_SetBootKeyInformation_request, samr_dissect_SetBootKeyInformation_response},
15291 { 60, "GetBootKeyInformation",
15292 samr_dissect_GetBootKeyInformation_request, samr_dissect_GetBootKeyInformation_response},
15293 { 61, "Connect3",
15294 samr_dissect_Connect3_request, samr_dissect_Connect3_response},
15295 { 62, "Connect4",
15296 samr_dissect_Connect4_request, samr_dissect_Connect4_response},
15297 { 63, "ChangePasswordUser3",
15298 samr_dissect_ChangePasswordUser3_request, samr_dissect_ChangePasswordUser3_response},
15299 { 64, "Connect5",
15300 samr_dissect_Connect5_request, samr_dissect_Connect5_response},
15301 { 65, "RidToSid",
15302 samr_dissect_RidToSid_request, samr_dissect_RidToSid_response},
15303 { 66, "SetDsrmPassword",
15304 samr_dissect_SetDsrmPassword_request, samr_dissect_SetDsrmPassword_response},
15305 { 67, "ValidatePassword",
15306 samr_dissect_ValidatePassword_request, samr_dissect_ValidatePassword_response},
15307 { 0, NULL, NULL, NULL }
15310 void proto_register_dcerpc_samr(void)
15312 static hf_register_info hf[] = {
15313 { &hf_samr_samr_QueryDisplayInfo2_level,
15314 { "Level", "samr.samr_QueryDisplayInfo2.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainDisplayInformation_vals), 0, NULL, HFILL }},
15315 { &hf_samr_rid,
15316 { "RID", "samr.rid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15317 { &hf_samr_samr_Connect2_system_name,
15318 { "System Name", "samr.samr_Connect2.system_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15319 { &hf_samr_samr_AcctFlags_ACB_DONT_REQUIRE_PREAUTH,
15320 { "Acb Dont Require Preauth", "samr.samr_AcctFlags.ACB_DONT_REQUIRE_PREAUTH", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_DONT_REQUIRE_PREAUTH_tfs), ( 0x00010000 ), NULL, HFILL }},
15321 { &hf_samr_group_access_mask,
15322 { "Access Mask", "samr.group.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15323 { &hf_samr_samr_DomainInfo_oem,
15324 { "Oem", "samr.samr_DomainInfo.oem", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15325 { &hf_samr_samr_DispInfoAscii_entries,
15326 { "Entries", "samr.samr_DispInfoAscii.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15327 { &hf_samr_samr_QueryAliasInfo_level,
15328 { "Level", "samr.samr_QueryAliasInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_AliasInfoEnum_vals), 0, NULL, HFILL }},
15329 { &hf_samr_samr_DispEntryFullGroup_idx,
15330 { "Idx", "samr.samr_DispEntryFullGroup.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15331 { &hf_samr_samr_QueryGroupInfo_info,
15332 { "Info", "samr.samr_QueryGroupInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15333 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_SCRIPT,
15334 { "Samr Field Logon Script", "samr.samr_FieldsPresent.SAMR_FIELD_LOGON_SCRIPT", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_LOGON_SCRIPT_tfs), ( 0x00000100 ), NULL, HFILL }},
15335 { &hf_samr_samr_UserInfo21_primary_gid,
15336 { "Primary Gid", "samr.samr_UserInfo21.primary_gid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15337 { &hf_samr_samr_DomGeneralInformation2_lockout_duration,
15338 { "Lockout Duration", "samr.samr_DomGeneralInformation2.lockout_duration", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15339 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_EXPIRY,
15340 { "Samr Field Acct Expiry", "samr.samr_FieldsPresent.SAMR_FIELD_ACCT_EXPIRY", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_ACCT_EXPIRY_tfs), ( 0x00080000 ), NULL, HFILL }},
15341 { &hf_samr_samr_DispInfoGeneral_count,
15342 { "Count", "samr.samr_DispInfoGeneral.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15343 { &hf_samr_samr_QueryDisplayInfo3_total_size,
15344 { "Total Size", "samr.samr_QueryDisplayInfo3.total_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15345 { &hf_samr_samr_GetDomPwInfo_info,
15346 { "Info", "samr.samr_GetDomPwInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15347 { &hf_samr_samr_QuerySecurity_sdbuf,
15348 { "Sdbuf", "samr.samr_QuerySecurity.sdbuf", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15349 { &hf_samr_samr_UserInfo3_workstations,
15350 { "Workstations", "samr.samr_UserInfo3.workstations", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15351 { &hf_samr_samr_QueryUserInfo2_info,
15352 { "Info", "samr.samr_QueryUserInfo2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15353 { &hf_samr_samr_QueryDisplayInfo3_start_idx,
15354 { "Start Idx", "samr.samr_QueryDisplayInfo3.start_idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15355 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_PARAMETERS,
15356 { "Samr Field Parameters", "samr.samr_FieldsPresent.SAMR_FIELD_PARAMETERS", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_PARAMETERS_tfs), ( 0x00200000 ), NULL, HFILL }},
15357 { &hf_samr_samr_DomGeneralInformation_num_users,
15358 { "Num Users", "samr.samr_DomGeneralInformation.num_users", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15359 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS,
15360 { "Samr Domain Access Lookup Alias", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS_tfs), ( 0x00000080 ), NULL, HFILL }},
15361 { &hf_samr_samr_UserInfo21_acct_flags,
15362 { "Acct Flags", "samr.samr_UserInfo21.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15363 { &hf_samr_samr_UserInfo5_profile_path,
15364 { "Profile Path", "samr.samr_UserInfo5.profile_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15365 { &hf_samr_samr_AcctFlags_ACB_PW_EXPIRED,
15366 { "Acb Pw Expired", "samr.samr_AcctFlags.ACB_PW_EXPIRED", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_PW_EXPIRED_tfs), ( 0x00020000 ), NULL, HFILL }},
15367 { &hf_samr_samr_ValidatePasswordReq3_hash,
15368 { "Hash", "samr.samr_ValidatePasswordReq3.hash", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15369 { &hf_samr_samr_QueryDomainInfo_info,
15370 { "Info", "samr.samr_QueryDomainInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15371 { &hf_samr_samr_UserInfo_info16,
15372 { "Info16", "samr.samr_UserInfo.info16", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15373 { &hf_samr_samr_SetBootKeyInformation_unknown1,
15374 { "Unknown1", "samr.samr_SetBootKeyInformation.unknown1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15375 { &hf_samr_samr_GroupInfo_attributes,
15376 { "Attributes", "samr.samr_GroupInfo.attributes", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15377 { &hf_samr_samr_DomInfo3_force_logoff_time,
15378 { "Force Logoff Time", "samr.samr_DomInfo3.force_logoff_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15379 { &hf_samr_samr_ChangePasswordUser_new_nt_crypted,
15380 { "New Nt Crypted", "samr.samr_ChangePasswordUser.new_nt_crypted", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15381 { &hf_samr_samr_ChangePasswordUser3_reject,
15382 { "Reject", "samr.samr_ChangePasswordUser3.reject", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15383 { &hf_samr_samr_QueryDomainInfo2_info,
15384 { "Info", "samr.samr_QueryDomainInfo2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15385 { &hf_samr_samr_UserInfo1_description,
15386 { "Description", "samr.samr_UserInfo1.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15387 { &hf_samr_samr_SetAliasInfo_info,
15388 { "Info", "samr.samr_SetAliasInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15389 { &hf_samr_samr_ChangePasswordUser_cross1_present,
15390 { "Cross1 Present", "samr.samr_ChangePasswordUser.cross1_present", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15391 { &hf_samr_samr_UserInfo5_primary_gid,
15392 { "Primary Gid", "samr.samr_UserInfo5.primary_gid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15393 { &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_CLEAR_CHANGE,
15394 { "Domain Password No Clear Change", "samr.samr_PasswordProperties.DOMAIN_PASSWORD_NO_CLEAR_CHANGE", FT_BOOLEAN, 32, TFS(&samr_PasswordProperties_DOMAIN_PASSWORD_NO_CLEAR_CHANGE_tfs), ( 0x00000004 ), NULL, HFILL }},
15395 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT,
15396 { "Samr Domain Access Open Account", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT_tfs), ( 0x00000200 ), NULL, HFILL }},
15397 { &hf_samr_samr_Connect4_system_name,
15398 { "System Name", "samr.samr_Connect4.system_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15399 { &hf_samr_samr_QueryDisplayInfo3_buf_size,
15400 { "Buf Size", "samr.samr_QueryDisplayInfo3.buf_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15401 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_NUM_LOGONS,
15402 { "Samr Field Num Logons", "samr.samr_FieldsPresent.SAMR_FIELD_NUM_LOGONS", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_NUM_LOGONS_tfs), ( 0x00008000 ), NULL, HFILL }},
15403 { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT,
15404 { "Samr Validate Field Bad Password Count", "samr.samr_ValidateFieldsPresent.SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT", FT_BOOLEAN, 32, TFS(&samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT_tfs), ( 0x00000008 ), NULL, HFILL }},
15405 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_PWD_CHANGE,
15406 { "Samr Field Last Pwd Change", "samr.samr_FieldsPresent.SAMR_FIELD_LAST_PWD_CHANGE", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_LAST_PWD_CHANGE_tfs), ( 0x00040000 ), NULL, HFILL }},
15407 { &hf_samr_samr_UserInfo20_parameters,
15408 { "Parameters", "samr.samr_UserInfo20.parameters", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15409 { &hf_samr_samr_UserInfo18_lm_pwd,
15410 { "Lm Pwd", "samr.samr_UserInfo18.lm_pwd", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15411 { &hf_samr_samr_UserInfo1_account_name,
15412 { "Account Name", "samr.samr_UserInfo1.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15413 { &hf_samr_samr_ChangePasswordUser2_lm_change,
15414 { "Lm Change", "samr.samr_ChangePasswordUser2.lm_change", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15415 { &hf_samr_samr_UserInfo21_description,
15416 { "Description", "samr.samr_UserInfo21.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15417 { &hf_samr_samr_UserInfo21_profile_path,
15418 { "Profile Path", "samr.samr_UserInfo21.profile_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15419 { &hf_samr_samr_ValidatePassword_req,
15420 { "Req", "samr.samr_ValidatePassword.req", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15421 { &hf_samr_samr_AcctFlags_ACB_DISABLED,
15422 { "Acb Disabled", "samr.samr_AcctFlags.ACB_DISABLED", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_DISABLED_tfs), ( 0x00000001 ), NULL, HFILL }},
15423 { &hf_samr_samr_ChangePasswordUser_nt_cross,
15424 { "Nt Cross", "samr.samr_ChangePasswordUser.nt_cross", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15425 { &hf_samr_samr_ChangeReject_unknown2,
15426 { "Unknown2", "samr.samr_ChangeReject.unknown2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15427 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCOUNT_NAME,
15428 { "Samr Field Account Name", "samr.samr_FieldsPresent.SAMR_FIELD_ACCOUNT_NAME", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_ACCOUNT_NAME_tfs), ( 0x00000001 ), NULL, HFILL }},
15429 { &hf_samr_samr_UserInfo2_unknown,
15430 { "Unknown", "samr.samr_UserInfo2.unknown", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15431 { &hf_samr_samr_ValidatePasswordReq3_password,
15432 { "Password", "samr.samr_ValidatePasswordReq3.password", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15433 { &hf_samr_samr_UserInfo5_logon_script,
15434 { "Logon Script", "samr.samr_UserInfo5.logon_script", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15435 { &hf_samr_samr_RidWithAttributeArray_count,
15436 { "Count", "samr.samr_RidWithAttributeArray.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15437 { &hf_samr_samr_ValidatePasswordInfo_pwd_history_len,
15438 { "Pwd History Len", "samr.samr_ValidatePasswordInfo.pwd_history_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15439 { &hf_samr_samr_DispInfoFullGroups_entries,
15440 { "Entries", "samr.samr_DispInfoFullGroups.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15441 { &hf_samr_samr_UserInfo5_bad_password_count,
15442 { "Bad Password Count", "samr.samr_UserInfo5.bad_password_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15443 { &hf_samr_samr_DomainInfo_info5,
15444 { "Info5", "samr.samr_DomainInfo.info5", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15445 { &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_ADD_MEMBER,
15446 { "Samr Alias Access Add Member", "samr.samr_AliasAccessMask.SAMR_ALIAS_ACCESS_ADD_MEMBER", FT_BOOLEAN, 32, TFS(&samr_AliasAccessMask_SAMR_ALIAS_ACCESS_ADD_MEMBER_tfs), ( 0x00000001 ), NULL, HFILL }},
15447 { &hf_samr_samr_UserInfo_info6,
15448 { "Info6", "samr.samr_UserInfo.info6", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15449 { &hf_samr_samr_Connect5_info_out,
15450 { "Info Out", "samr.samr_Connect5.info_out", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15451 { &hf_samr_samr_UserInfo3_logon_script,
15452 { "Logon Script", "samr.samr_UserInfo3.logon_script", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15453 { &hf_samr_samr_SetUserInfo_level,
15454 { "Level", "samr.samr_SetUserInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_UserInfoLevel_vals), 0, NULL, HFILL }},
15455 { &hf_samr_samr_UserInfo21_last_logon,
15456 { "Last Logon", "samr.samr_UserInfo21.last_logon", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15457 { &hf_samr_samr_GetBootKeyInformation_domain_handle,
15458 { "Domain Handle", "samr.samr_GetBootKeyInformation.domain_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
15459 { &hf_samr_samr_UserInfo21_lm_password,
15460 { "Lm Password", "samr.samr_UserInfo21.lm_password", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15461 { &hf_samr_samr_QueryDisplayInfo3_returned_size,
15462 { "Returned Size", "samr.samr_QueryDisplayInfo3.returned_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15463 { &hf_samr_samr_ValidatePasswordReq3_account,
15464 { "Account", "samr.samr_ValidatePasswordReq3.account", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15465 { &hf_samr_samr_UserInfo7_account_name,
15466 { "Account Name", "samr.samr_UserInfo7.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15467 { &hf_samr_samr_UserInfo23_info,
15468 { "Info", "samr.samr_UserInfo23.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15469 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_1,
15470 { "Samr Domain Access Set Info 1", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_SET_INFO_1", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_1_tfs), ( 0x00000002 ), NULL, HFILL }},
15471 { &hf_samr_samr_UserInfo3_last_logon,
15472 { "Last Logon", "samr.samr_UserInfo3.last_logon", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15473 { &hf_samr_samr_UserInfo_info10,
15474 { "Info10", "samr.samr_UserInfo.info10", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15475 { &hf_samr_samr_EnumDomainGroups_max_size,
15476 { "Max Size", "samr.samr_EnumDomainGroups.max_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15477 { &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_ANON_CHANGE,
15478 { "Domain Password No Anon Change", "samr.samr_PasswordProperties.DOMAIN_PASSWORD_NO_ANON_CHANGE", FT_BOOLEAN, 32, TFS(&samr_PasswordProperties_DOMAIN_PASSWORD_NO_ANON_CHANGE_tfs), ( 0x00000002 ), NULL, HFILL }},
15479 { &hf_samr_samr_UserInfo3_full_name,
15480 { "Full Name", "samr.samr_UserInfo3.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15481 { &hf_samr_samr_DispEntryAscii_account_name,
15482 { "Account Name", "samr.samr_DispEntryAscii.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15483 { &hf_samr_samr_UserInfo11_logon_script,
15484 { "Logon Script", "samr.samr_UserInfo11.logon_script", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15485 { &hf_samr_samr_AcctFlags_ACB_TRUST_AUTH_DELEGAT,
15486 { "Acb Trust Auth Delegat", "samr.samr_AcctFlags.ACB_TRUST_AUTH_DELEGAT", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_TRUST_AUTH_DELEGAT_tfs), ( 0x00040000 ), NULL, HFILL }},
15487 { &hf_samr_samr_ChangePasswordUser_lm_present,
15488 { "Lm Present", "samr.samr_ChangePasswordUser.lm_present", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15489 { &hf_samr_samr_AddMultipleMembersToAlias_sids,
15490 { "Sids", "samr.samr_AddMultipleMembersToAlias.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15491 { &hf_samr_samr_DomInfo13_sequence_num,
15492 { "Sequence Num", "samr.samr_DomInfo13.sequence_num", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15493 { &hf_samr_samr_UserInfo_info21,
15494 { "Info21", "samr.samr_UserInfo.info21", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15495 { &hf_samr_samr_ValidatePasswordReq_req1,
15496 { "Req1", "samr.samr_ValidatePasswordReq.req1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15497 { &hf_samr_samr_AcctFlags_ACB_MNS,
15498 { "Acb Mns", "samr.samr_AcctFlags.ACB_MNS", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_MNS_tfs), ( 0x00000020 ), NULL, HFILL }},
15499 { &hf_samr_samr_DispEntryFullGroup_description,
15500 { "Description", "samr.samr_DispEntryFullGroup.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15501 { &hf_samr_samr_SetSecurity_sdbuf,
15502 { "Sdbuf", "samr.samr_SetSecurity.sdbuf", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15503 { &hf_samr_samr_ValidatePasswordReq2_account,
15504 { "Account", "samr.samr_ValidatePasswordReq2.account", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15505 { &hf_samr_samr_LookupNames_names,
15506 { "Names", "samr.samr_LookupNames.names", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15507 { &hf_samr_samr_PasswordProperties_DOMAIN_REFUSE_PASSWORD_CHANGE,
15508 { "Domain Refuse Password Change", "samr.samr_PasswordProperties.DOMAIN_REFUSE_PASSWORD_CHANGE", FT_BOOLEAN, 32, TFS(&samr_PasswordProperties_DOMAIN_REFUSE_PASSWORD_CHANGE_tfs), ( 0x00000020 ), NULL, HFILL }},
15509 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP,
15510 { "Samr User Access Change Group Membership", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP_tfs), ( 0x00000400 ), NULL, HFILL }},
15511 { &hf_samr_samr_PwInfo_password_properties,
15512 { "Password Properties", "samr.samr_PwInfo.password_properties", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15513 { &hf_samr_samr_ValidatePasswordReq_req2,
15514 { "Req2", "samr.samr_ValidatePasswordReq.req2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15515 { &hf_samr_samr_DomGeneralInformation2_lockout_window,
15516 { "Lockout Window", "samr.samr_DomGeneralInformation2.lockout_window", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15517 { &hf_samr_samr_QueryDisplayInfo2_returned_size,
15518 { "Returned Size", "samr.samr_QueryDisplayInfo2.returned_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15519 { &hf_samr_samr_SetBootKeyInformation_unknown2,
15520 { "Unknown2", "samr.samr_SetBootKeyInformation.unknown2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15521 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGON,
15522 { "Samr Field Last Logon", "samr.samr_FieldsPresent.SAMR_FIELD_LAST_LOGON", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_LAST_LOGON_tfs), ( 0x00000800 ), NULL, HFILL }},
15523 { &hf_samr_samr_Ids_count,
15524 { "Count", "samr.samr_Ids.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15525 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_LOC_COM,
15526 { "Samr User Access Set Loc Com", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_SET_LOC_COM", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_SET_LOC_COM_tfs), ( 0x00000004 ), NULL, HFILL }},
15527 { &hf_samr_samr_AcctFlags_ACB_SMARTCARD_REQUIRED,
15528 { "Acb Smartcard Required", "samr.samr_AcctFlags.ACB_SMARTCARD_REQUIRED", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_SMARTCARD_REQUIRED_tfs), ( 0x00001000 ), NULL, HFILL }},
15529 { &hf_samr_samr_ChangePasswordUser3_nt_verifier,
15530 { "Nt Verifier", "samr.samr_ChangePasswordUser3.nt_verifier", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15531 { &hf_samr_samr_UserInfo_info17,
15532 { "Info17", "samr.samr_UserInfo.info17", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15533 { &hf_samr_samr_LookupRids_types,
15534 { "Types", "samr.samr_LookupRids.types", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15535 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_PROFILE_PATH,
15536 { "Samr Field Profile Path", "samr.samr_FieldsPresent.SAMR_FIELD_PROFILE_PATH", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_PROFILE_PATH_tfs), ( 0x00000200 ), NULL, HFILL }},
15537 { &hf_samr_samr_ChangePasswordUser3_lm_change,
15538 { "Lm Change", "samr.samr_ChangePasswordUser3.lm_change", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15539 { &hf_samr_samr_UserInfo1_primary_gid,
15540 { "Primary Gid", "samr.samr_UserInfo1.primary_gid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15541 { &hf_samr_samr_ValidatePasswordReq1_info,
15542 { "Info", "samr.samr_ValidatePasswordReq1.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15543 { &hf_samr_samr_UserInfo21_home_drive,
15544 { "Home Drive", "samr.samr_UserInfo21.home_drive", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15545 { &hf_samr_samr_AcctFlags_ACB_PWNOEXP,
15546 { "Acb Pwnoexp", "samr.samr_AcctFlags.ACB_PWNOEXP", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_PWNOEXP_tfs), ( 0x00000200 ), NULL, HFILL }},
15547 { &hf_samr_samr_DomOEMInformation_oem_information,
15548 { "Oem Information", "samr.samr_DomOEMInformation.oem_information", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15549 { &hf_samr_group_handle,
15550 { "Group Handle", "samr.group_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
15551 { &hf_samr_samr_EnumDomainAliases_num_entries,
15552 { "Num Entries", "samr.samr_EnumDomainAliases.num_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15553 { &hf_samr_samr_AcctFlags_ACB_SVRTRUST,
15554 { "Acb Svrtrust", "samr.samr_AcctFlags.ACB_SVRTRUST", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_SVRTRUST_tfs), ( 0x00000100 ), NULL, HFILL }},
15555 { &hf_samr_samr_DomGeneralInformation_oem_information,
15556 { "Oem Information", "samr.samr_DomGeneralInformation.oem_information", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15557 { &hf_samr_samr_UserInfo_info8,
15558 { "Info8", "samr.samr_UserInfo.info8", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15559 { &hf_samr_samr_UserInfo25_info,
15560 { "Info", "samr.samr_UserInfo25.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15561 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP,
15562 { "Samr User Access Get Group Membership", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP_tfs), ( 0x00000200 ), NULL, HFILL }},
15563 { &hf_samr_samr_CreateDomainGroup_name,
15564 { "Name", "samr.samr_CreateDomainGroup.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15565 { &hf_samr_samr_DomGeneralInformation_num_groups,
15566 { "Num Groups", "samr.samr_DomGeneralInformation.num_groups", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15567 { &hf_samr_samr_SetGroupInfo_info,
15568 { "Info", "samr.samr_SetGroupInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15569 { &hf_samr_lsa_Strings_names,
15570 { "Names", "samr.lsa_Strings.names", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15571 { &hf_samr_samr_EnumDomainAliases_resume_handle,
15572 { "Resume Handle", "samr.samr_EnumDomainAliases.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15573 { &hf_samr_samr_DomGeneralInformation_num_aliases,
15574 { "Num Aliases", "samr.samr_DomGeneralInformation.num_aliases", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15575 { &hf_samr_samr_EnumDomainAliases_max_size,
15576 { "Max Size", "samr.samr_EnumDomainAliases.max_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15577 { &hf_samr_samr_UserInfo21_full_name,
15578 { "Full Name", "samr.samr_UserInfo21.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15579 { &hf_samr_samr_GetDomPwInfo_domain_name,
15580 { "Domain Name", "samr.samr_GetDomPwInfo.domain_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15581 { &hf_samr_samr_UserInfo3_primary_gid,
15582 { "Primary Gid", "samr.samr_UserInfo3.primary_gid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15583 { &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_LOOKUP_INFO,
15584 { "Samr Alias Access Lookup Info", "samr.samr_AliasAccessMask.SAMR_ALIAS_ACCESS_LOOKUP_INFO", FT_BOOLEAN, 32, TFS(&samr_AliasAccessMask_SAMR_ALIAS_ACCESS_LOOKUP_INFO_tfs), ( 0x00000008 ), NULL, HFILL }},
15585 { &hf_samr_samr_UserInfo_info5,
15586 { "Info5", "samr.samr_UserInfo.info5", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15587 { &hf_samr_samr_UserInfo3_home_directory,
15588 { "Home Directory", "samr.samr_UserInfo3.home_directory", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15589 { &hf_samr_samr_ChangePasswordUser_cross2_present,
15590 { "Cross2 Present", "samr.samr_ChangePasswordUser.cross2_present", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15591 { &hf_samr_samr_DeleteAliasMember_sid,
15592 { "Sid", "samr.samr_DeleteAliasMember.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15593 { &hf_samr_samr_ValidatePassword_rep,
15594 { "Rep", "samr.samr_ValidatePassword.rep", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15595 { &hf_samr_samr_ValidatePasswordInfo_fields_present,
15596 { "Fields Present", "samr.samr_ValidatePasswordInfo.fields_present", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15597 { &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_REMOVE_MEMBER,
15598 { "Samr Group Access Remove Member", "samr.samr_GroupAccessMask.SAMR_GROUP_ACCESS_REMOVE_MEMBER", FT_BOOLEAN, 32, TFS(&samr_GroupAccessMask_SAMR_GROUP_ACCESS_REMOVE_MEMBER_tfs), ( 0x00000008 ), NULL, HFILL }},
15599 { &hf_samr_samr_SetMemberAttributesOfGroup_unknown1,
15600 { "Unknown1", "samr.samr_SetMemberAttributesOfGroup.unknown1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15601 { &hf_samr_samr_GetDisplayEnumerationIndex2_level,
15602 { "Level", "samr.samr_GetDisplayEnumerationIndex2.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainDisplayInformation_vals), 0, NULL, HFILL }},
15603 { &hf_samr_samr_AcctFlags_ACB_ENC_TXT_PWD_ALLOWED,
15604 { "Acb Enc Txt Pwd Allowed", "samr.samr_AcctFlags.ACB_ENC_TXT_PWD_ALLOWED", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_ENC_TXT_PWD_ALLOWED_tfs), ( 0x00000800 ), NULL, HFILL }},
15605 { &hf_samr_samr_AliasInfo_description,
15606 { "Description", "samr.samr_AliasInfo.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15607 { &hf_samr_samr_QueryDisplayInfo_info,
15608 { "Info", "samr.samr_QueryDisplayInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15609 { &hf_samr_samr_GroupInfoAll_num_members,
15610 { "Num Members", "samr.samr_GroupInfoAll.num_members", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15611 { &hf_samr_status,
15612 { "NT Error", "samr.status", FT_UINT32, BASE_HEX, VALS(NT_errors), 0, NULL, HFILL }},
15613 { &hf_samr_samr_UserInfo12_profile_path,
15614 { "Profile Path", "samr.samr_UserInfo12.profile_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15615 { &hf_samr_samr_UserInfo21_comment,
15616 { "Comment", "samr.samr_UserInfo21.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15617 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_2,
15618 { "Samr Domain Access Set Info 2", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_SET_INFO_2", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_2_tfs), ( 0x00000008 ), NULL, HFILL }},
15619 { &hf_samr_samr_UserInfo_info14,
15620 { "Info14", "samr.samr_UserInfo.info14", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15621 { &hf_samr_samr_CreateUser2_access_granted,
15622 { "Access Granted", "samr.samr_CreateUser2.access_granted", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15623 { &hf_samr_samr_ConnectInfo1_client_version,
15624 { "Client Version", "samr.samr_ConnectInfo1.client_version", FT_UINT32, BASE_DEC, VALS(samr_samr_ConnectVersion_vals), 0, NULL, HFILL }},
15625 { &hf_samr_samr_UserInfo5_acct_flags,
15626 { "Acct Flags", "samr.samr_UserInfo5.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15627 { &hf_samr_samr_UserInfo24_password_expired,
15628 { "Password Expired", "samr.samr_UserInfo24.password_expired", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15629 { &hf_samr_samr_AcctFlags_ACB_NOT_DELEGATED,
15630 { "Acb Not Delegated", "samr.samr_AcctFlags.ACB_NOT_DELEGATED", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_NOT_DELEGATED_tfs), ( 0x00004000 ), NULL, HFILL }},
15631 { &hf_samr_samr_SetDsrmPassword_name,
15632 { "Name", "samr.samr_SetDsrmPassword.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15633 { &hf_samr_samr_Connect_system_name,
15634 { "System Name", "samr.samr_Connect.system_name", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15635 { &hf_samr_samr_DomInfo1_min_password_age,
15636 { "Min Password Age", "samr.samr_DomInfo1.min_password_age", FT_INT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15637 { &hf_samr_samr_LookupRids_num_rids,
15638 { "Num Rids", "samr.samr_LookupRids.num_rids", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15639 { &hf_samr_samr_GroupInfoDescription_description,
15640 { "Description", "samr.samr_GroupInfoDescription.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15641 { &hf_samr_samr_QueryUserInfo_level,
15642 { "Level", "samr.samr_QueryUserInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_UserInfoLevel_vals), 0, NULL, HFILL }},
15643 { &hf_samr_samr_GroupAttrs_SE_GROUP_LOGON_ID,
15644 { "Se Group Logon Id", "samr.samr_GroupAttrs.SE_GROUP_LOGON_ID", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_LOGON_ID_tfs), ( 0xC0000000 ), NULL, HFILL }},
15645 { &hf_samr_samr_DispEntryGeneral_account_name,
15646 { "Account Name", "samr.samr_DispEntryGeneral.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15647 { &hf_samr_samr_AcctFlags_ACB_HOMDIRREQ,
15648 { "Acb Homdirreq", "samr.samr_AcctFlags.ACB_HOMDIRREQ", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_HOMDIRREQ_tfs), ( 0x00000002 ), NULL, HFILL }},
15649 { &hf_samr_samr_CryptPasswordEx_data,
15650 { "Data", "samr.samr_CryptPasswordEx.data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15651 { &hf_samr_samr_ValidatePasswordInfo_bad_password_time,
15652 { "Bad Password Time", "samr.samr_ValidatePasswordInfo.bad_password_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15653 { &hf_samr_samr_AcctFlags_ACB_USE_DES_KEY_ONLY,
15654 { "Acb Use Des Key Only", "samr.samr_AcctFlags.ACB_USE_DES_KEY_ONLY", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_USE_DES_KEY_ONLY_tfs), ( 0x00008000 ), NULL, HFILL }},
15655 { &hf_samr_samr_DispInfo_info1,
15656 { "Info1", "samr.samr_DispInfo.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15657 { &hf_samr_samr_SetDomainInfo_level,
15658 { "Level", "samr.samr_SetDomainInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainInfoClass_vals), 0, NULL, HFILL }},
15659 { &hf_samr_samr_DispInfo_info4,
15660 { "Info4", "samr.samr_DispInfo.info4", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15661 { &hf_samr_samr_DomInfo8_domain_create_time,
15662 { "Domain Create Time", "samr.samr_DomInfo8.domain_create_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15663 { &hf_samr_samr_UserInfo21_private,
15664 { "Private", "samr.samr_UserInfo21.private", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15665 { &hf_samr_samr_ChangePasswordUser_old_nt_crypted,
15666 { "Old Nt Crypted", "samr.samr_ChangePasswordUser.old_nt_crypted", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15667 { &hf_samr_samr_DomGeneralInformation_force_logoff_time,
15668 { "Force Logoff Time", "samr.samr_DomGeneralInformation.force_logoff_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15669 { &hf_samr_samr_DomInfo12_lockout_threshold,
15670 { "Lockout Threshold", "samr.samr_DomInfo12.lockout_threshold", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15671 { &hf_samr_samr_GroupInfoAttributes_attributes,
15672 { "Attributes", "samr.samr_GroupInfoAttributes.attributes", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15673 { &hf_samr_samr_SamArray_entries,
15674 { "Entries", "samr.samr_SamArray.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15675 { &hf_samr_samr_UserInfo_info9,
15676 { "Info9", "samr.samr_UserInfo.info9", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15677 { &hf_samr_samr_ChangePasswordUser2_lm_password,
15678 { "Lm Password", "samr.samr_ChangePasswordUser2.lm_password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15679 { &hf_samr_samr_DispEntryGeneral_full_name,
15680 { "Full Name", "samr.samr_DispEntryGeneral.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15681 { &hf_samr_domain_handle,
15682 { "Domain Handle", "samr.domain_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
15683 { &hf_samr_samr_DomGeneralInformation2_general,
15684 { "General", "samr.samr_DomGeneralInformation2.general", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15685 { &hf_samr_samr_AliasInfoAll_num_members,
15686 { "Num Members", "samr.samr_AliasInfoAll.num_members", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15687 { &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_SET_INFO,
15688 { "Samr Group Access Set Info", "samr.samr_GroupAccessMask.SAMR_GROUP_ACCESS_SET_INFO", FT_BOOLEAN, 32, TFS(&samr_GroupAccessMask_SAMR_GROUP_ACCESS_SET_INFO_tfs), ( 0x00000002 ), NULL, HFILL }},
15689 { &hf_samr_samr_DispEntryFull_description,
15690 { "Description", "samr.samr_DispEntryFull.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15691 { &hf_samr_samr_LookupDomain_domain_name,
15692 { "Domain Name", "samr.samr_LookupDomain.domain_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15693 { &hf_samr_samr_ValidatePasswordRep_ctr3,
15694 { "Ctr3", "samr.samr_ValidatePasswordRep.ctr3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15695 { &hf_samr_user_handle,
15696 { "User Handle", "samr.user_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
15697 { &hf_samr_samr_QueryDisplayInfo3_max_entries,
15698 { "Max Entries", "samr.samr_QueryDisplayInfo3.max_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15699 { &hf_samr_samr_DomInfo6_primary,
15700 { "Primary", "samr.samr_DomInfo6.primary", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15701 { &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_COMPLEX,
15702 { "Domain Password Complex", "samr.samr_PasswordProperties.DOMAIN_PASSWORD_COMPLEX", FT_BOOLEAN, 32, TFS(&samr_PasswordProperties_DOMAIN_PASSWORD_COMPLEX_tfs), ( 0x00000001 ), NULL, HFILL }},
15703 { &hf_samr_domain_access_mask,
15704 { "Access Mask", "samr.domain.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15705 { &hf_samr_samr_Connect5_system_name,
15706 { "System Name", "samr.samr_Connect5.system_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15707 { &hf_samr_samr_UserInfo21_bad_password_count,
15708 { "Bad Password Count", "samr.samr_UserInfo21.bad_password_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15709 { &hf_samr_samr_UserInfo21_acct_expiry,
15710 { "Acct Expiry", "samr.samr_UserInfo21.acct_expiry", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15711 { &hf_samr_samr_EnumDomainUsers_max_size,
15712 { "Max Size", "samr.samr_EnumDomainUsers.max_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15713 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_ALLOW_PWD_CHANGE,
15714 { "Samr Field Allow Pwd Change", "samr.samr_FieldsPresent.SAMR_FIELD_ALLOW_PWD_CHANGE", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_ALLOW_PWD_CHANGE_tfs), ( 0x00010000 ), NULL, HFILL }},
15715 { &hf_samr_samr_LookupNames_rids,
15716 { "Rids", "samr.samr_LookupNames.rids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15717 { &hf_samr_samr_DomInfo1_min_password_length,
15718 { "Min Password Length", "samr.samr_DomInfo1.min_password_length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15719 { &hf_samr_samr_ValidatePasswordReq3_pwd_must_change_at_next_logon,
15720 { "Pwd Must Change At Next Logon", "samr.samr_ValidatePasswordReq3.pwd_must_change_at_next_logon", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15721 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_WORKSTATIONS,
15722 { "Samr Field Workstations", "samr.samr_FieldsPresent.SAMR_FIELD_WORKSTATIONS", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_WORKSTATIONS_tfs), ( 0x00000400 ), NULL, HFILL }},
15723 { &hf_samr_samr_GetDisplayEnumerationIndex_idx,
15724 { "Idx", "samr.samr_GetDisplayEnumerationIndex.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15725 { &hf_samr_samr_DomInfo9_domain_server_state,
15726 { "Domain Server State", "samr.samr_DomInfo9.domain_server_state", FT_UINT32, BASE_DEC, VALS(samr_samr_DomainServerState_vals), 0, NULL, HFILL }},
15727 { &hf_samr_samr_Connect5_level_out,
15728 { "Level Out", "samr.samr_Connect5.level_out", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15729 { &hf_samr_samr_UserInfo5_last_logon,
15730 { "Last Logon", "samr.samr_UserInfo5.last_logon", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15731 { &hf_samr_samr_ChangePasswordUser2_server,
15732 { "Server", "samr.samr_ChangePasswordUser2.server", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15733 { &hf_samr_samr_SetDomainInfo_info,
15734 { "Info", "samr.samr_SetDomainInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15735 { &hf_samr_samr_SamArray_count,
15736 { "Count", "samr.samr_SamArray.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15737 { &hf_samr_samr_UserInfo24_password,
15738 { "Password", "samr.samr_UserInfo24.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15739 { &hf_samr_samr_DispEntryFull_idx,
15740 { "Idx", "samr.samr_DispEntryFull.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15741 { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_INITIALIZE_SERVER,
15742 { "Samr Access Initialize Server", "samr.samr_ConnectAccessMask.SAMR_ACCESS_INITIALIZE_SERVER", FT_BOOLEAN, 32, TFS(&samr_ConnectAccessMask_SAMR_ACCESS_INITIALIZE_SERVER_tfs), ( 0x00000004 ), NULL, HFILL }},
15743 { &hf_samr_samr_DispEntryFull_acct_flags,
15744 { "Acct Flags", "samr.samr_DispEntryFull.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15745 { &hf_samr_samr_DomInfo13_modified_count_at_last_promotion,
15746 { "Modified Count At Last Promotion", "samr.samr_DomInfo13.modified_count_at_last_promotion", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15747 { &hf_samr_samr_GetAliasMembership_sids,
15748 { "Sids", "samr.samr_GetAliasMembership.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15749 { &hf_samr_samr_UserInfo_info1,
15750 { "Info1", "samr.samr_UserInfo.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15751 { &hf_samr_samr_GroupAttrs_SE_GROUP_RESOURCE,
15752 { "Se Group Resource", "samr.samr_GroupAttrs.SE_GROUP_RESOURCE", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_RESOURCE_tfs), ( 0x20000000 ), NULL, HFILL }},
15753 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_DESCRIPTION,
15754 { "Samr Field Description", "samr.samr_FieldsPresent.SAMR_FIELD_DESCRIPTION", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_DESCRIPTION_tfs), ( 0x00000010 ), NULL, HFILL }},
15755 { &hf_samr_samr_UserInfo18_nt_pwd,
15756 { "Nt Pwd", "samr.samr_UserInfo18.nt_pwd", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15757 { &hf_samr_samr_UserInfo23_password,
15758 { "Password", "samr.samr_UserInfo23.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15759 { &hf_samr_samr_UserInfo21_last_logoff,
15760 { "Last Logoff", "samr.samr_UserInfo21.last_logoff", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15761 { &hf_samr_samr_DispInfo_info2,
15762 { "Info2", "samr.samr_DispInfo.info2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15763 { &hf_samr_samr_EnumDomainUsers_resume_handle,
15764 { "Resume Handle", "samr.samr_EnumDomainUsers.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15765 { &hf_samr_samr_ValidatePasswordRepCtr_status,
15766 { "Status", "samr.samr_ValidatePasswordRepCtr.status", FT_UINT1632, BASE_DEC, VALS(samr_samr_ValidationStatus_vals), 0, NULL, HFILL }},
15767 { &hf_samr_samr_SetMemberAttributesOfGroup_unknown2,
15768 { "Unknown2", "samr.samr_SetMemberAttributesOfGroup.unknown2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15769 { &hf_samr_samr_DomainInfo_general2,
15770 { "General2", "samr.samr_DomainInfo.general2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15771 { &hf_samr_samr_DispInfoFull_count,
15772 { "Count", "samr.samr_DispInfoFull.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15773 { &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_GET_MEMBERS,
15774 { "Samr Group Access Get Members", "samr.samr_GroupAccessMask.SAMR_GROUP_ACCESS_GET_MEMBERS", FT_BOOLEAN, 32, TFS(&samr_GroupAccessMask_SAMR_GROUP_ACCESS_GET_MEMBERS_tfs), ( 0x00000010 ), NULL, HFILL }},
15775 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_COUNTRY_CODE,
15776 { "Samr Field Country Code", "samr.samr_FieldsPresent.SAMR_FIELD_COUNTRY_CODE", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_COUNTRY_CODE_tfs), ( 0x00400000 ), NULL, HFILL }},
15777 { &hf_samr_samr_ValidatePasswordReq2_password,
15778 { "Password", "samr.samr_ValidatePasswordReq2.password", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15779 { &hf_samr_samr_UserInfo5_logon_hours,
15780 { "Logon Hours", "samr.samr_UserInfo5.logon_hours", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15781 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DIRECTORY,
15782 { "Samr Field Home Directory", "samr.samr_FieldsPresent.SAMR_FIELD_HOME_DIRECTORY", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_HOME_DIRECTORY_tfs), ( 0x00000040 ), NULL, HFILL }},
15783 { &hf_samr_samr_AcctFlags_ACB_NO_AUTH_DATA_REQD,
15784 { "Acb No Auth Data Reqd", "samr.samr_AcctFlags.ACB_NO_AUTH_DATA_REQD", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_NO_AUTH_DATA_REQD_tfs), ( 0x00080000 ), NULL, HFILL }},
15785 { &hf_samr_samr_QueryDomainInfo_level,
15786 { "Level", "samr.samr_QueryDomainInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainInfoClass_vals), 0, NULL, HFILL }},
15787 { &hf_samr_samr_UserInfo26_password,
15788 { "Password", "samr.samr_UserInfo26.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15789 { &hf_samr_samr_ValidatePasswordReq1_password_matched,
15790 { "Password Matched", "samr.samr_ValidatePasswordReq1.password_matched", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15791 { &hf_samr_samr_UserInfo21_account_name,
15792 { "Account Name", "samr.samr_UserInfo21.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15793 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_ATTRIBUTES,
15794 { "Samr User Access Get Attributes", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_GET_ATTRIBUTES", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_GET_ATTRIBUTES_tfs), ( 0x00000010 ), NULL, HFILL }},
15795 { &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_SET_INFO,
15796 { "Samr Alias Access Set Info", "samr.samr_AliasAccessMask.SAMR_ALIAS_ACCESS_SET_INFO", FT_BOOLEAN, 32, TFS(&samr_AliasAccessMask_SAMR_ALIAS_ACCESS_SET_INFO_tfs), ( 0x00000010 ), NULL, HFILL }},
15797 { &hf_samr_samr_UserInfo2_comment,
15798 { "Comment", "samr.samr_UserInfo2.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15799 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_RID,
15800 { "Samr Field Rid", "samr.samr_FieldsPresent.SAMR_FIELD_RID", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_RID_tfs), ( 0x00000004 ), NULL, HFILL }},
15801 { &hf_samr_samr_UserInfo_info23,
15802 { "Info23", "samr.samr_UserInfo.info23", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15803 { &hf_samr_samr_UserInfo18_password_expired,
15804 { "Password Expired", "samr.samr_UserInfo18.password_expired", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15805 { &hf_samr_samr_QueryDisplayInfo2_total_size,
15806 { "Total Size", "samr.samr_QueryDisplayInfo2.total_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15807 { &hf_samr_samr_UserInfo25_password,
15808 { "Password", "samr.samr_UserInfo25.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15809 { &hf_samr_samr_ChangePasswordUser2_lm_verifier,
15810 { "Lm Verifier", "samr.samr_ChangePasswordUser2.lm_verifier", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15811 { &hf_samr_samr_UserInfo4_logon_hours,
15812 { "Logon Hours", "samr.samr_UserInfo4.logon_hours", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15813 { &hf_samr_samr_UserInfo5_home_directory,
15814 { "Home Directory", "samr.samr_UserInfo5.home_directory", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15815 { &hf_samr_samr_DomInfo12_lockout_duration,
15816 { "Lockout Duration", "samr.samr_DomInfo12.lockout_duration", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15817 { &hf_samr_samr_CreateUser_account_name,
15818 { "Account Name", "samr.samr_CreateUser.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15819 { &hf_samr_samr_UserInfo9_primary_gid,
15820 { "Primary Gid", "samr.samr_UserInfo9.primary_gid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15821 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOGONINFO,
15822 { "Samr User Access Get Logoninfo", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_GET_LOGONINFO", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOGONINFO_tfs), ( 0x00000008 ), NULL, HFILL }},
15823 { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET,
15824 { "Samr Validate Field Password Last Set", "samr.samr_ValidateFieldsPresent.SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET", FT_BOOLEAN, 32, TFS(&samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET_tfs), ( 0x00000001 ), NULL, HFILL }},
15825 { &hf_samr_samr_DomGeneralInformation_domain_name,
15826 { "Domain Name", "samr.samr_DomGeneralInformation.domain_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15827 { &hf_samr_samr_CreateUser2_account_name,
15828 { "Account Name", "samr.samr_CreateUser2.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15829 { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CREATE_DOMAIN,
15830 { "Samr Access Create Domain", "samr.samr_ConnectAccessMask.SAMR_ACCESS_CREATE_DOMAIN", FT_BOOLEAN, 32, TFS(&samr_ConnectAccessMask_SAMR_ACCESS_CREATE_DOMAIN_tfs), ( 0x00000008 ), NULL, HFILL }},
15831 { &hf_samr_samr_LookupDomain_sid,
15832 { "Sid", "samr.samr_LookupDomain.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15833 { &hf_samr_samr_AddAliasMember_sid,
15834 { "Sid", "samr.samr_AddAliasMember.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15835 { &hf_samr_samr_QueryAliasInfo_info,
15836 { "Info", "samr.samr_QueryAliasInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15837 { &hf_samr_samr_ValidatePasswordReq2_hash,
15838 { "Hash", "samr.samr_ValidatePasswordReq2.hash", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15839 { &hf_samr_samr_UserInfo21_fields_present,
15840 { "Fields Present", "samr.samr_UserInfo21.fields_present", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15841 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_EXPIRED_FLAG,
15842 { "Samr Field Expired Flag", "samr.samr_FieldsPresent.SAMR_FIELD_EXPIRED_FLAG", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_EXPIRED_FLAG_tfs), ( 0x08000000 ), NULL, HFILL }},
15843 { &hf_samr_samr_ValidatePasswordReq2_password_matched,
15844 { "Password Matched", "samr.samr_ValidatePasswordReq2.password_matched", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15845 { &hf_samr_samr_QuerySecurity_sec_info,
15846 { "Sec Info", "samr.samr_QuerySecurity.sec_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15847 { &hf_samr_samr_DomainInfo_info12,
15848 { "Info12", "samr.samr_DomainInfo.info12", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15849 { &hf_samr_samr_QueryDisplayInfo_max_entries,
15850 { "Max Entries", "samr.samr_QueryDisplayInfo.max_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15851 { &hf_samr_samr_EnumDomains_resume_handle,
15852 { "Resume Handle", "samr.samr_EnumDomains.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15853 { &hf_samr_samr_UserInfo_info7,
15854 { "Info7", "samr.samr_UserInfo.info7", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15855 { &hf_samr_samr_GroupInfo_all2,
15856 { "All2", "samr.samr_GroupInfo.all2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15857 { &hf_samr_samr_UserInfo1_full_name,
15858 { "Full Name", "samr.samr_UserInfo1.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15859 { &hf_samr_samr_EnumDomainGroups_resume_handle,
15860 { "Resume Handle", "samr.samr_EnumDomainGroups.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15861 { &hf_samr_samr_SetUserInfo2_info,
15862 { "Info", "samr.samr_SetUserInfo2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15863 { &hf_samr_samr_ChangePasswordUser3_nt_password,
15864 { "Nt Password", "samr.samr_ChangePasswordUser3.nt_password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15865 { &hf_samr_samr_UserInfo21_buf_count,
15866 { "Buf Count", "samr.samr_UserInfo21.buf_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15867 { &hf_samr_samr_PwInfo_min_password_length,
15868 { "Min Password Length", "samr.samr_PwInfo.min_password_length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15869 { &hf_samr_user_access_mask,
15870 { "Access Mask", "samr.user.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15871 { &hf_samr_samr_DomGeneralInformation_sequence_num,
15872 { "Sequence Num", "samr.samr_DomGeneralInformation.sequence_num", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15873 { &hf_samr_samr_UserInfo26_password_expired,
15874 { "Password Expired", "samr.samr_UserInfo26.password_expired", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15875 { &hf_samr_samr_ChangePasswordUser_old_lm_crypted,
15876 { "Old Lm Crypted", "samr.samr_ChangePasswordUser.old_lm_crypted", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15877 { &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_GET_MEMBERS,
15878 { "Samr Alias Access Get Members", "samr.samr_AliasAccessMask.SAMR_ALIAS_ACCESS_GET_MEMBERS", FT_BOOLEAN, 32, TFS(&samr_AliasAccessMask_SAMR_ALIAS_ACCESS_GET_MEMBERS_tfs), ( 0x00000004 ), NULL, HFILL }},
15879 { &hf_samr_samr_AcctFlags_ACB_NORMAL,
15880 { "Acb Normal", "samr.samr_AcctFlags.ACB_NORMAL", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_NORMAL_tfs), ( 0x00000010 ), NULL, HFILL }},
15881 { &hf_samr_samr_GroupInfo_all,
15882 { "All", "samr.samr_GroupInfo.all", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15883 { &hf_samr_samr_UserInfo16_acct_flags,
15884 { "Acct Flags", "samr.samr_UserInfo16.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15885 { &hf_samr_samr_UserInfo2_country_code,
15886 { "Country Code", "samr.samr_UserInfo2.country_code", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15887 { &hf_samr_samr_AddGroupMember_flags,
15888 { "Flags", "samr.samr_AddGroupMember.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15889 { &hf_samr_samr_UserInfo10_home_directory,
15890 { "Home Directory", "samr.samr_UserInfo10.home_directory", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15891 { &hf_samr_samr_OemChangePasswordUser2_server,
15892 { "Server", "samr.samr_OemChangePasswordUser2.server", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15893 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_PASSWORD,
15894 { "Samr User Access Change Password", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_CHANGE_PASSWORD", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_PASSWORD_tfs), ( 0x00000040 ), NULL, HFILL }},
15895 { &hf_samr_samr_AliasInfo_all,
15896 { "All", "samr.samr_AliasInfo.all", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15897 { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME,
15898 { "Samr Validate Field Bad Password Time", "samr.samr_ValidateFieldsPresent.SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME", FT_BOOLEAN, 32, TFS(&samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME_tfs), ( 0x00000002 ), NULL, HFILL }},
15899 { &hf_samr_samr_ChangeReject_reason,
15900 { "Reason", "samr.samr_ChangeReject.reason", FT_UINT32, BASE_DEC, VALS(samr_samr_RejectReason_vals), 0, NULL, HFILL }},
15901 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_NAME_ETC,
15902 { "Samr User Access Get Name Etc", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_GET_NAME_ETC", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_GET_NAME_ETC_tfs), ( 0x00000001 ), NULL, HFILL }},
15903 { &hf_samr_samr_ChangePasswordUser3_password3,
15904 { "Password3", "samr.samr_ChangePasswordUser3.password3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15905 { &hf_samr_samr_UserInfo13_description,
15906 { "Description", "samr.samr_UserInfo13.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15907 { &hf_samr_samr_UserInfo21_lm_password_set,
15908 { "Lm Password Set", "samr.samr_UserInfo21.lm_password_set", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15909 { &hf_samr_samr_UserInfo_info2,
15910 { "Info2", "samr.samr_UserInfo.info2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15911 { &hf_samr_samr_LogonHours_bits,
15912 { "Bits", "samr.samr_LogonHours.bits", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15913 { &hf_samr_handle,
15914 { "Handle", "samr.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
15915 { &hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED_BY_DEFAULT,
15916 { "Se Group Enabled By Default", "samr.samr_GroupAttrs.SE_GROUP_ENABLED_BY_DEFAULT", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_ENABLED_BY_DEFAULT_tfs), ( 0x00000002 ), NULL, HFILL }},
15917 { &hf_samr_samr_EnumDomainGroups_sam,
15918 { "Sam", "samr.samr_EnumDomainGroups.sam", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15919 { &hf_samr_samr_GroupInfoAll_name,
15920 { "Name", "samr.samr_GroupInfoAll.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15921 { &hf_samr_samr_ValidatePasswordRep_ctr2,
15922 { "Ctr2", "samr.samr_ValidatePasswordRep.ctr2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15923 { &hf_samr_samr_UserInfo_info24,
15924 { "Info24", "samr.samr_UserInfo.info24", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15925 { &hf_samr_samr_DomainInfo_info3,
15926 { "Info3", "samr.samr_DomainInfo.info3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15927 { &hf_samr_samr_EnumDomainGroups_num_entries,
15928 { "Num Entries", "samr.samr_EnumDomainGroups.num_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15929 { &hf_samr_samr_AcctFlags_ACB_PWNOTREQ,
15930 { "Acb Pwnotreq", "samr.samr_AcctFlags.ACB_PWNOTREQ", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_PWNOTREQ_tfs), ( 0x00000004 ), NULL, HFILL }},
15931 { &hf_samr_samr_UserInfo3_bad_password_count,
15932 { "Bad Password Count", "samr.samr_UserInfo3.bad_password_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15933 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_CODE_PAGE,
15934 { "Samr Field Code Page", "samr.samr_FieldsPresent.SAMR_FIELD_CODE_PAGE", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_CODE_PAGE_tfs), ( 0x00800000 ), NULL, HFILL }},
15935 { &hf_samr_samr_ChangePasswordUser_new_lm_crypted,
15936 { "New Lm Crypted", "samr.samr_ChangePasswordUser.new_lm_crypted", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15937 { &hf_samr_samr_LookupNames_types,
15938 { "Types", "samr.samr_LookupNames.types", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15939 { &hf_samr_samr_SamEntry_idx,
15940 { "Idx", "samr.samr_SamEntry.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15941 { &hf_samr_samr_UserInfo3_logon_hours,
15942 { "Logon Hours", "samr.samr_UserInfo3.logon_hours", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15943 { &hf_samr_samr_ChangeReject_unknown1,
15944 { "Unknown1", "samr.samr_ChangeReject.unknown1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15945 { &hf_samr_samr_ChangePasswordUser3_account,
15946 { "Account", "samr.samr_ChangePasswordUser3.account", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15947 { &hf_samr_samr_DomInfo8_sequence_num,
15948 { "Sequence Num", "samr.samr_DomInfo8.sequence_num", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15949 { &hf_samr_samr_ValidatePasswordInfo_pwd_history,
15950 { "Pwd History", "samr.samr_ValidatePasswordInfo.pwd_history", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15951 { &hf_samr_samr_Connect3_unknown,
15952 { "Unknown", "samr.samr_Connect3.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15953 { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_LOOKUP_DOMAIN,
15954 { "Samr Access Lookup Domain", "samr.samr_ConnectAccessMask.SAMR_ACCESS_LOOKUP_DOMAIN", FT_BOOLEAN, 32, TFS(&samr_ConnectAccessMask_SAMR_ACCESS_LOOKUP_DOMAIN_tfs), ( 0x00000020 ), NULL, HFILL }},
15955 { &hf_samr_samr_GetDisplayEnumerationIndex2_idx,
15956 { "Idx", "samr.samr_GetDisplayEnumerationIndex2.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15957 { &hf_samr_samr_ConnectInfo1_unknown2,
15958 { "Unknown2", "samr.samr_ConnectInfo1.unknown2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15959 { &hf_samr_samr_AliasInfoAll_name,
15960 { "Name", "samr.samr_AliasInfoAll.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15961 { &hf_samr_samr_GroupInfo_description,
15962 { "Description", "samr.samr_GroupInfo.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15963 { &hf_samr_samr_GroupAttrs_SE_GROUP_OWNER,
15964 { "Se Group Owner", "samr.samr_GroupAttrs.SE_GROUP_OWNER", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_OWNER_tfs), ( 0x00000008 ), NULL, HFILL }},
15965 { &hf_samr_samr_EnumDomainAliases_sam,
15966 { "Sam", "samr.samr_EnumDomainAliases.sam", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15967 { &hf_samr_samr_LogonHours_units_per_week,
15968 { "Units Per Week", "samr.samr_LogonHours.units_per_week", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15969 { &hf_samr_samr_DomGeneralInformation_role,
15970 { "Role", "samr.samr_DomGeneralInformation.role", FT_UINT32, BASE_DEC, VALS(samr_samr_Role_vals), 0, NULL, HFILL }},
15971 { &hf_samr_samr_DomainInfo_info13,
15972 { "Info13", "samr.samr_DomainInfo.info13", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15973 { &hf_samr_samr_SetSecurity_sec_info,
15974 { "Sec Info", "samr.samr_SetSecurity.sec_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15975 { &hf_samr_samr_QueryDisplayInfo2_buf_size,
15976 { "Buf Size", "samr.samr_QueryDisplayInfo2.buf_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15977 { &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_STORE_CLEARTEXT,
15978 { "Domain Password Store Cleartext", "samr.samr_PasswordProperties.DOMAIN_PASSWORD_STORE_CLEARTEXT", FT_BOOLEAN, 32, TFS(&samr_PasswordProperties_DOMAIN_PASSWORD_STORE_CLEARTEXT_tfs), ( 0x00000010 ), NULL, HFILL }},
15979 { &hf_samr_samr_DomGeneralInformation2_lockout_threshold,
15980 { "Lockout Threshold", "samr.samr_DomGeneralInformation2.lockout_threshold", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15981 { &hf_samr_samr_UserInfo21_last_password_change,
15982 { "Last Password Change", "samr.samr_UserInfo21.last_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15983 { &hf_samr_samr_ChangePasswordUser2_account,
15984 { "Account", "samr.samr_ChangePasswordUser2.account", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15985 { &hf_samr_samr_ChangePasswordUser3_lm_password,
15986 { "Lm Password", "samr.samr_ChangePasswordUser3.lm_password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15987 { &hf_samr_samr_UserInfo3_account_name,
15988 { "Account Name", "samr.samr_UserInfo3.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15989 { &hf_samr_samr_Connect3_system_name,
15990 { "System Name", "samr.samr_Connect3.system_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15991 { &hf_samr_samr_UserInfo_info11,
15992 { "Info11", "samr.samr_UserInfo.info11", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15993 { &hf_samr_samr_DomainInfo_info9,
15994 { "Info9", "samr.samr_DomainInfo.info9", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15995 { &hf_samr_samr_SamEntry_name,
15996 { "Name", "samr.samr_SamEntry.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15997 { &hf_samr_lsa_Strings_count,
15998 { "Count", "samr.lsa_Strings.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15999 { &hf_samr_samr_UserInfo3_acct_flags,
16000 { "Acct Flags", "samr.samr_UserInfo3.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16001 { &hf_samr_samr_UserInfo3_allow_password_change,
16002 { "Allow Password Change", "samr.samr_UserInfo3.allow_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16003 { &hf_samr_samr_QueryDomainInfo2_level,
16004 { "Level", "samr.samr_QueryDomainInfo2.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainInfoClass_vals), 0, NULL, HFILL }},
16005 { &hf_samr_samr_GetDisplayEnumerationIndex_name,
16006 { "Name", "samr.samr_GetDisplayEnumerationIndex.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16007 { &hf_samr_samr_ValidatePasswordReq3_info,
16008 { "Info", "samr.samr_ValidatePasswordReq3.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16009 { &hf_samr_samr_ValidatePasswordInfo_lockout_time,
16010 { "Lockout Time", "samr.samr_ValidatePasswordInfo.lockout_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16011 { &hf_samr_samr_UserInfo17_acct_expiry,
16012 { "Acct Expiry", "samr.samr_UserInfo17.acct_expiry", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16013 { &hf_samr_samr_DomInfo1_password_history_length,
16014 { "Password History Length", "samr.samr_DomInfo1.password_history_length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16015 { &hf_samr_samr_QueryUserInfo_info,
16016 { "Info", "samr.samr_QueryUserInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16017 { &hf_samr_samr_DomGeneralInformation_primary,
16018 { "Primary", "samr.samr_DomGeneralInformation.primary", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16019 { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_SHUTDOWN_SERVER,
16020 { "Samr Access Shutdown Server", "samr.samr_ConnectAccessMask.SAMR_ACCESS_SHUTDOWN_SERVER", FT_BOOLEAN, 32, TFS(&samr_ConnectAccessMask_SAMR_ACCESS_SHUTDOWN_SERVER_tfs), ( 0x00000002 ), NULL, HFILL }},
16021 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LM_PASSWORD_PRESENT,
16022 { "Samr Field Lm Password Present", "samr.samr_FieldsPresent.SAMR_FIELD_LM_PASSWORD_PRESENT", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_LM_PASSWORD_PRESENT_tfs), ( 0x02000000 ), NULL, HFILL }},
16023 { &hf_samr_samr_UserInfo5_home_drive,
16024 { "Home Drive", "samr.samr_UserInfo5.home_drive", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16025 { &hf_samr_samr_RemoveMemberFromForeignDomain_sid,
16026 { "Sid", "samr.samr_RemoveMemberFromForeignDomain.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16027 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_FORCE_PWD_CHANGE,
16028 { "Samr Field Force Pwd Change", "samr.samr_FieldsPresent.SAMR_FIELD_FORCE_PWD_CHANGE", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_FORCE_PWD_CHANGE_tfs), ( 0x00020000 ), NULL, HFILL }},
16029 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGOFF,
16030 { "Samr Field Last Logoff", "samr.samr_FieldsPresent.SAMR_FIELD_LAST_LOGOFF", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_LAST_LOGOFF_tfs), ( 0x00001000 ), NULL, HFILL }},
16031 { &hf_samr_samr_RidWithAttributeArray_rids,
16032 { "Rids", "samr.samr_RidWithAttributeArray.rids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16033 { &hf_samr_samr_Password_hash,
16034 { "Hash", "samr.samr_Password.hash", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16035 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_OWF_PWD,
16036 { "Samr Field Owf Pwd", "samr.samr_FieldsPresent.SAMR_FIELD_OWF_PWD", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_OWF_PWD_tfs), ( 0x20000000 ), NULL, HFILL }},
16037 { &hf_samr_samr_UserInfo_info25,
16038 { "Info25", "samr.samr_UserInfo.info25", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16039 { &hf_samr_samr_UserInfo3_home_drive,
16040 { "Home Drive", "samr.samr_UserInfo3.home_drive", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16041 { &hf_samr_samr_QueryDisplayInfo_start_idx,
16042 { "Start Idx", "samr.samr_QueryDisplayInfo.start_idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16043 { &hf_samr_samr_UserInfo_info13,
16044 { "Info13", "samr.samr_UserInfo.info13", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16045 { &hf_samr_samr_ChangePasswordUser2_nt_password,
16046 { "Nt Password", "samr.samr_ChangePasswordUser2.nt_password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16047 { &hf_samr_samr_ValidatePasswordInfo_bad_pwd_count,
16048 { "Bad Pwd Count", "samr.samr_ValidatePasswordInfo.bad_pwd_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16049 { &hf_samr_samr_QueryGroupMember_rids,
16050 { "Rids", "samr.samr_QueryGroupMember.rids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16051 { &hf_samr_samr_UserInfo21_password_expired,
16052 { "Password Expired", "samr.samr_UserInfo21.password_expired", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16053 { &hf_samr_samr_EnumDomains_buf_size,
16054 { "Buf Size", "samr.samr_EnumDomains.buf_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16055 { &hf_samr_samr_DomInfo1_max_password_age,
16056 { "Max Password Age", "samr.samr_DomInfo1.max_password_age", FT_INT64, BASE_DEC, NULL, 0, NULL, HFILL }},
16057 { &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_ADD_MEMBER,
16058 { "Samr Group Access Add Member", "samr.samr_GroupAccessMask.SAMR_GROUP_ACCESS_ADD_MEMBER", FT_BOOLEAN, 32, TFS(&samr_GroupAccessMask_SAMR_GROUP_ACCESS_ADD_MEMBER_tfs), ( 0x00000004 ), NULL, HFILL }},
16059 { &hf_samr_samr_GroupInfoAll_description,
16060 { "Description", "samr.samr_GroupInfoAll.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16061 { &hf_samr_samr_UserInfo3_logon_count,
16062 { "Logon Count", "samr.samr_UserInfo3.logon_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16063 { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY,
16064 { "Samr Validate Field Password History", "samr.samr_ValidateFieldsPresent.SAMR_VALIDATE_FIELD_PASSWORD_HISTORY", FT_BOOLEAN, 32, TFS(&samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_tfs), ( 0x00000020 ), NULL, HFILL }},
16065 { &hf_samr_samr_GroupInfo_name,
16066 { "Name", "samr.samr_GroupInfo.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16067 { &hf_samr_samr_UserInfo3_force_password_change,
16068 { "Force Password Change", "samr.samr_UserInfo3.force_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16069 { &hf_samr_samr_ChangePasswordUser_nt_present,
16070 { "Nt Present", "samr.samr_ChangePasswordUser.nt_present", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16071 { &hf_samr_samr_UserInfo21_home_directory,
16072 { "Home Directory", "samr.samr_UserInfo21.home_directory", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16073 { &hf_samr_samr_UserInfo_info12,
16074 { "Info12", "samr.samr_UserInfo.info12", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16075 { &hf_samr_samr_OemChangePasswordUser2_password,
16076 { "Password", "samr.samr_OemChangePasswordUser2.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16077 { &hf_samr_samr_RidTypeArray_types,
16078 { "Types", "samr.samr_RidTypeArray.types", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16079 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_ALIAS,
16080 { "Samr Domain Access Create Alias", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_CREATE_ALIAS", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_ALIAS_tfs), ( 0x00000040 ), NULL, HFILL }},
16081 { &hf_samr_opnum,
16082 { "Operation", "samr.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16083 { &hf_samr_samr_ChangePasswordUser3_server,
16084 { "Server", "samr.samr_ChangePasswordUser3.server", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16085 { &hf_samr_samr_GetDisplayEnumerationIndex2_name,
16086 { "Name", "samr.samr_GetDisplayEnumerationIndex2.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16087 { &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_LOOKUP_INFO,
16088 { "Samr Group Access Lookup Info", "samr.samr_GroupAccessMask.SAMR_GROUP_ACCESS_LOOKUP_INFO", FT_BOOLEAN, 32, TFS(&samr_GroupAccessMask_SAMR_GROUP_ACCESS_LOOKUP_INFO_tfs), ( 0x00000001 ), NULL, HFILL }},
16089 { &hf_samr_samr_UserInfo14_workstations,
16090 { "Workstations", "samr.samr_UserInfo14.workstations", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16091 { &hf_samr_samr_DispInfo_info3,
16092 { "Info3", "samr.samr_DispInfo.info3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16093 { &hf_samr_samr_DomainInfo_info8,
16094 { "Info8", "samr.samr_DomainInfo.info8", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16095 { &hf_samr_samr_DispInfoGeneral_entries,
16096 { "Entries", "samr.samr_DispInfoGeneral.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16097 { &hf_samr_samr_UserInfo8_full_name,
16098 { "Full Name", "samr.samr_UserInfo8.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16099 { &hf_samr_samr_UserInfo21_logon_count,
16100 { "Logon Count", "samr.samr_UserInfo21.logon_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16101 { &hf_samr_samr_UserInfo21_code_page,
16102 { "Code Page", "samr.samr_UserInfo21.code_page", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16103 { &hf_samr_samr_DispEntryFullGroup_acct_flags,
16104 { "Acct Flags", "samr.samr_DispEntryFullGroup.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16105 { &hf_samr_samr_SetUserInfo_info,
16106 { "Info", "samr.samr_SetUserInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16107 { &hf_samr_samr_OpenDomain_sid,
16108 { "Sid", "samr.samr_OpenDomain.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16109 { &hf_samr_samr_DispEntryFull_account_name,
16110 { "Account Name", "samr.samr_DispEntryFull.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16111 { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH,
16112 { "Samr Validate Field Password History Length", "samr.samr_ValidateFieldsPresent.SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH", FT_BOOLEAN, 32, TFS(&samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH_tfs), ( 0x00000010 ), NULL, HFILL }},
16113 { &hf_samr_samr_CreateUser2_acct_flags,
16114 { "Acct Flags", "samr.samr_CreateUser2.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16115 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DRIVE,
16116 { "Samr Field Home Drive", "samr.samr_FieldsPresent.SAMR_FIELD_HOME_DRIVE", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_HOME_DRIVE_tfs), ( 0x00000080 ), NULL, HFILL }},
16117 { &hf_samr_samr_DomainInfo_info1,
16118 { "Info1", "samr.samr_DomainInfo.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16119 { &hf_samr_samr_ValidatePasswordRep_ctr1,
16120 { "Ctr1", "samr.samr_ValidatePasswordRep.ctr1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16121 { &hf_samr_samr_UserInfo18_nt_pwd_active,
16122 { "Nt Pwd Active", "samr.samr_UserInfo18.nt_pwd_active", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16123 { &hf_samr_samr_AcctFlags_ACB_DOMTRUST,
16124 { "Acb Domtrust", "samr.samr_AcctFlags.ACB_DOMTRUST", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_DOMTRUST_tfs), ( 0x00000040 ), NULL, HFILL }},
16125 { &hf_samr_samr_ChangePasswordUser_lm_cross,
16126 { "Lm Cross", "samr.samr_ChangePasswordUser.lm_cross", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16127 { &hf_samr_samr_UserInfo3_profile_path,
16128 { "Profile Path", "samr.samr_UserInfo3.profile_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16129 { &hf_samr_samr_UserInfo21_unknown4,
16130 { "Unknown4", "samr.samr_UserInfo21.unknown4", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16131 { &hf_samr_samr_DomInfo13_domain_create_time,
16132 { "Domain Create Time", "samr.samr_DomInfo13.domain_create_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16133 { &hf_samr_samr_AcctFlags_ACB_WSTRUST,
16134 { "Acb Wstrust", "samr.samr_AcctFlags.ACB_WSTRUST", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_WSTRUST_tfs), ( 0x00000080 ), NULL, HFILL }},
16135 { &hf_samr_samr_DispEntryAscii_idx,
16136 { "Idx", "samr.samr_DispEntryAscii.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16137 { &hf_samr_samr_DomInfo5_domain_name,
16138 { "Domain Name", "samr.samr_DomInfo5.domain_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16139 { &hf_samr_samr_UserInfo5_logon_count,
16140 { "Logon Count", "samr.samr_UserInfo5.logon_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16141 { &hf_samr_samr_UserInfo5_last_logoff,
16142 { "Last Logoff", "samr.samr_UserInfo5.last_logoff", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16143 { &hf_samr_samr_ValidatePassword_level,
16144 { "Level", "samr.samr_ValidatePassword.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_ValidatePasswordLevel_vals), 0, NULL, HFILL }},
16145 { &hf_samr_samr_UserInfo6_full_name,
16146 { "Full Name", "samr.samr_UserInfo6.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16147 { &hf_samr_samr_LookupRids_names,
16148 { "Names", "samr.samr_LookupRids.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16149 { &hf_samr_samr_UserInfo10_home_drive,
16150 { "Home Drive", "samr.samr_UserInfo10.home_drive", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16151 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_FLAGS,
16152 { "Samr Field Acct Flags", "samr.samr_FieldsPresent.SAMR_FIELD_ACCT_FLAGS", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_ACCT_FLAGS_tfs), ( 0x00100000 ), NULL, HFILL }},
16153 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUPS,
16154 { "Samr User Access Get Groups", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_GET_GROUPS", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUPS_tfs), ( 0x00000100 ), NULL, HFILL }},
16155 { &hf_samr_samr_RemoveMultipleMembersFromAlias_sids,
16156 { "Sids", "samr.samr_RemoveMultipleMembersFromAlias.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16157 { &hf_samr_samr_OemChangePasswordUser2_account,
16158 { "Account", "samr.samr_OemChangePasswordUser2.account", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16159 { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_ENUM_DOMAINS,
16160 { "Samr Access Enum Domains", "samr.samr_ConnectAccessMask.SAMR_ACCESS_ENUM_DOMAINS", FT_BOOLEAN, 32, TFS(&samr_ConnectAccessMask_SAMR_ACCESS_ENUM_DOMAINS_tfs), ( 0x00000010 ), NULL, HFILL }},
16161 { &hf_samr_samr_UserInfo_info4,
16162 { "Info4", "samr.samr_UserInfo.info4", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16163 { &hf_samr_samr_QueryDisplayInfo2_info,
16164 { "Info", "samr.samr_QueryDisplayInfo2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16165 { &hf_samr_samr_DomInfo1_password_properties,
16166 { "Password Properties", "samr.samr_DomInfo1.password_properties", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16167 { &hf_samr_samr_UserInfo21_logon_script,
16168 { "Logon Script", "samr.samr_UserInfo21.logon_script", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16169 { &hf_samr_samr_AcctFlags_ACB_AUTOLOCK,
16170 { "Acb Autolock", "samr.samr_AcctFlags.ACB_AUTOLOCK", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_AUTOLOCK_tfs), ( 0x00000400 ), NULL, HFILL }},
16171 { &hf_samr_samr_GetBootKeyInformation_unknown,
16172 { "Unknown", "samr.samr_GetBootKeyInformation.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16173 { &hf_samr_samr_RidWithAttribute_attributes,
16174 { "Attributes", "samr.samr_RidWithAttribute.attributes", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16175 { &hf_samr_samr_CryptPassword_data,
16176 { "Data", "samr.samr_CryptPassword.data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16177 { &hf_samr_samr_AliasInfo_name,
16178 { "Name", "samr.samr_AliasInfo.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16179 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_USER,
16180 { "Samr Domain Access Create User", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_CREATE_USER", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_USER_tfs), ( 0x00000010 ), NULL, HFILL }},
16181 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_COMMENT,
16182 { "Samr Field Comment", "samr.samr_FieldsPresent.SAMR_FIELD_COMMENT", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_COMMENT_tfs), ( 0x00000020 ), NULL, HFILL }},
16183 { &hf_samr_samr_UserInfo3_last_password_change,
16184 { "Last Password Change", "samr.samr_UserInfo3.last_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16185 { &hf_samr_samr_Shutdown_connect_handle,
16186 { "Connect Handle", "samr.samr_Shutdown.connect_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
16187 { &hf_samr_sec_desc_buf_len,
16188 { "Sec Desc Buf Len", "samr.sec_desc_buf_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16189 { &hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED,
16190 { "Se Group Enabled", "samr.samr_GroupAttrs.SE_GROUP_ENABLED", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_ENABLED_tfs), ( 0x00000004 ), NULL, HFILL }},
16191 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2,
16192 { "Samr Domain Access Lookup Info 2", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2_tfs), ( 0x00000004 ), NULL, HFILL }},
16193 { &hf_samr_samr_ValidationBlob_length,
16194 { "Length", "samr.samr_ValidationBlob.length", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16195 { &hf_samr_samr_DispEntryGeneral_idx,
16196 { "Idx", "samr.samr_DispEntryGeneral.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16197 { &hf_samr_samr_QueryDisplayInfo2_start_idx,
16198 { "Start Idx", "samr.samr_QueryDisplayInfo2.start_idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16199 { &hf_samr_samr_UserInfo21_logon_hours,
16200 { "Logon Hours", "samr.samr_UserInfo21.logon_hours", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16201 { &hf_samr_samr_UserInfo21_country_code,
16202 { "Country Code", "samr.samr_UserInfo21.country_code", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16203 { &hf_samr_samr_SetDsrmPassword_hash,
16204 { "Hash", "samr.samr_SetDsrmPassword.hash", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16205 { &hf_samr_samr_DomainInfo_general,
16206 { "General", "samr.samr_DomainInfo.general", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16207 { &hf_samr_samr_GroupAttrs_SE_GROUP_MANDATORY,
16208 { "Se Group Mandatory", "samr.samr_GroupAttrs.SE_GROUP_MANDATORY", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_MANDATORY_tfs), ( 0x00000001 ), NULL, HFILL }},
16209 { &hf_samr_samr_UserInfo5_description,
16210 { "Description", "samr.samr_UserInfo5.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16211 { &hf_samr_samr_DomInfo7_role,
16212 { "Role", "samr.samr_DomInfo7.role", FT_UINT32, BASE_DEC, VALS(samr_samr_Role_vals), 0, NULL, HFILL }},
16213 { &hf_samr_samr_UserInfo21_workstations,
16214 { "Workstations", "samr.samr_UserInfo21.workstations", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16215 { &hf_samr_samr_DispEntryGeneral_description,
16216 { "Description", "samr.samr_DispEntryGeneral.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16217 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIVATE_DATA,
16218 { "Samr Field Private Data", "samr.samr_FieldsPresent.SAMR_FIELD_PRIVATE_DATA", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_PRIVATE_DATA_tfs), ( 0x04000000 ), NULL, HFILL }},
16219 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS,
16220 { "Samr Domain Access Enum Accounts", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS_tfs), ( 0x00000100 ), NULL, HFILL }},
16221 { &hf_samr_samr_ValidatePasswordReq_req3,
16222 { "Req3", "samr.samr_ValidatePasswordReq.req3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16223 { &hf_samr_alias_access_mask,
16224 { "Access Mask", "samr.alias.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16225 { &hf_samr_samr_ChangePasswordUser2_nt_verifier,
16226 { "Nt Verifier", "samr.samr_ChangePasswordUser2.nt_verifier", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16227 { &hf_samr_samr_AcctFlags_ACB_TRUSTED_FOR_DELEGATION,
16228 { "Acb Trusted For Delegation", "samr.samr_AcctFlags.ACB_TRUSTED_FOR_DELEGATION", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_TRUSTED_FOR_DELEGATION_tfs), ( 0x00002000 ), NULL, HFILL }},
16229 { &hf_samr_samr_EnumDomains_connect_handle,
16230 { "Connect Handle", "samr.samr_EnumDomains.connect_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
16231 { &hf_samr_samr_UserInfo_info18,
16232 { "Info18", "samr.samr_UserInfo.info18", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16233 { &hf_samr_samr_UserInfo21_force_password_change,
16234 { "Force Password Change", "samr.samr_UserInfo21.force_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16235 { &hf_samr_samr_UserInfo21_nt_password,
16236 { "Nt Password", "samr.samr_UserInfo21.nt_password", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16237 { &hf_samr_samr_DomGeneralInformation_domain_server_state,
16238 { "Domain Server State", "samr.samr_DomGeneralInformation.domain_server_state", FT_UINT32, BASE_DEC, VALS(samr_samr_DomainServerState_vals), 0, NULL, HFILL }},
16239 { &hf_samr_samr_SetBootKeyInformation_unknown3,
16240 { "Unknown3", "samr.samr_SetBootKeyInformation.unknown3", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16241 { &hf_samr_samr_EnumDomainUsers_num_entries,
16242 { "Num Entries", "samr.samr_EnumDomainUsers.num_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16243 { &hf_samr_samr_ValidatePasswordReq2_info,
16244 { "Info", "samr.samr_ValidatePasswordReq2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16245 { &hf_samr_samr_LookupNames_num_names,
16246 { "Num Names", "samr.samr_LookupNames.num_names", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16247 { &hf_samr_samr_QueryDisplayInfo3_level,
16248 { "Level", "samr.samr_QueryDisplayInfo3.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainDisplayInformation_vals), 0, NULL, HFILL }},
16249 { &hf_samr_samr_RidTypeArray_count,
16250 { "Count", "samr.samr_RidTypeArray.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16251 { &hf_samr_samr_QueryDisplayInfo2_max_entries,
16252 { "Max Entries", "samr.samr_QueryDisplayInfo2.max_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16253 { &hf_samr_samr_ValidatePasswordInfo_last_password_change,
16254 { "Last Password Change", "samr.samr_ValidatePasswordInfo.last_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16255 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOCALE,
16256 { "Samr User Access Get Locale", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_GET_LOCALE", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOCALE_tfs), ( 0x00000002 ), NULL, HFILL }},
16257 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_HOURS,
16258 { "Samr Field Logon Hours", "samr.samr_FieldsPresent.SAMR_FIELD_LOGON_HOURS", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_LOGON_HOURS_tfs), ( 0x00002000 ), NULL, HFILL }},
16259 { &hf_samr_samr_ChangePasswordUser3_dominfo,
16260 { "Dominfo", "samr.samr_ChangePasswordUser3.dominfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16261 { &hf_samr_samr_ValidationBlob_data,
16262 { "Data", "samr.samr_ValidationBlob.data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16263 { &hf_samr_samr_UserInfo18_lm_pwd_active,
16264 { "Lm Pwd Active", "samr.samr_UserInfo18.lm_pwd_active", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16265 { &hf_samr_samr_UserInfo_info26,
16266 { "Info26", "samr.samr_UserInfo.info26", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16267 { &hf_samr_samr_GroupInfoAll_attributes,
16268 { "Attributes", "samr.samr_GroupInfoAll.attributes", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16269 { &hf_samr_samr_DomainInfo_info7,
16270 { "Info7", "samr.samr_DomainInfo.info7", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16271 { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CONNECT_TO_SERVER,
16272 { "Samr Access Connect To Server", "samr.samr_ConnectAccessMask.SAMR_ACCESS_CONNECT_TO_SERVER", FT_BOOLEAN, 32, TFS(&samr_ConnectAccessMask_SAMR_ACCESS_CONNECT_TO_SERVER_tfs), ( 0x00000001 ), NULL, HFILL }},
16273 { &hf_samr_samr_EnumDomains_num_entries,
16274 { "Num Entries", "samr.samr_EnumDomains.num_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16275 { &hf_samr_samr_UserInfo21_parameters,
16276 { "Parameters", "samr.samr_UserInfo21.parameters", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16277 { &hf_samr_samr_DispEntryGeneral_acct_flags,
16278 { "Acct Flags", "samr.samr_DispEntryGeneral.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16279 { &hf_samr_connect_handle,
16280 { "Connect Handle", "samr.connect_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
16281 { &hf_samr_samr_AcctFlags_ACB_TEMPDUP,
16282 { "Acb Tempdup", "samr.samr_AcctFlags.ACB_TEMPDUP", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_TEMPDUP_tfs), ( 0x00000008 ), NULL, HFILL }},
16283 { &hf_samr_samr_DispInfoFullGroups_count,
16284 { "Count", "samr.samr_DispInfoFullGroups.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16285 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1,
16286 { "Samr Domain Access Lookup Info 1", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1_tfs), ( 0x00000001 ), NULL, HFILL }},
16287 { &hf_samr_samr_GetAliasMembership_rids,
16288 { "Rids", "samr.samr_GetAliasMembership.rids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16289 { &hf_samr_samr_UserInfo6_account_name,
16290 { "Account Name", "samr.samr_UserInfo6.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16291 { &hf_samr_connect_access_mask,
16292 { "Access Mask", "samr.connect.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16293 { &hf_samr_samr_UserInfo_info3,
16294 { "Info3", "samr.samr_UserInfo.info3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16295 { &hf_samr_samr_Connect5_level_in,
16296 { "Level In", "samr.samr_Connect5.level_in", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16297 { &hf_samr_samr_DomInfo12_lockout_window,
16298 { "Lockout Window", "samr.samr_DomInfo12.lockout_window", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
16299 { &hf_samr_samr_RidToSid_sid,
16300 { "Sid", "samr.samr_RidToSid.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16301 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_SEC_DESC,
16302 { "Samr Field Sec Desc", "samr.samr_FieldsPresent.SAMR_FIELD_SEC_DESC", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_SEC_DESC_tfs), ( 0x10000000 ), NULL, HFILL }},
16303 { &hf_samr_samr_GetUserPwInfo_info,
16304 { "Info", "samr.samr_GetUserPwInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16305 { &hf_samr_samr_EnumDomainUsers_acct_flags,
16306 { "Acct Flags", "samr.samr_EnumDomainUsers.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16307 { &hf_samr_samr_DomainInfo_info6,
16308 { "Info6", "samr.samr_DomainInfo.info6", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16309 { &hf_samr_samr_CreateDomAlias_alias_name,
16310 { "Alias Name", "samr.samr_CreateDomAlias.alias_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16311 { &hf_samr_samr_EnumDomainUsers_sam,
16312 { "Sam", "samr.samr_EnumDomainUsers.sam", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16313 { &hf_samr_samr_DispInfo_info5,
16314 { "Info5", "samr.samr_DispInfo.info5", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16315 { &hf_samr_samr_GetGroupsForUser_rids,
16316 { "Rids", "samr.samr_GetGroupsForUser.rids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16317 { &hf_samr_samr_UserInfo3_last_logoff,
16318 { "Last Logoff", "samr.samr_UserInfo3.last_logoff", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16319 { &hf_samr_samr_ValidatePasswordRepCtr_info,
16320 { "Info", "samr.samr_ValidatePasswordRepCtr.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16321 { &hf_samr_samr_SetGroupInfo_level,
16322 { "Level", "samr.samr_SetGroupInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_GroupInfoEnum_vals), 0, NULL, HFILL }},
16323 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_NT_PASSWORD_PRESENT,
16324 { "Samr Field Nt Password Present", "samr.samr_FieldsPresent.SAMR_FIELD_NT_PASSWORD_PRESENT", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_NT_PASSWORD_PRESENT_tfs), ( 0x01000000 ), NULL, HFILL }},
16325 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_PASSWORD,
16326 { "Samr User Access Set Password", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_SET_PASSWORD", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_SET_PASSWORD_tfs), ( 0x00000080 ), NULL, HFILL }},
16327 { &hf_samr_samr_SetUserInfo2_level,
16328 { "Level", "samr.samr_SetUserInfo2.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_UserInfoLevel_vals), 0, NULL, HFILL }},
16329 { &hf_samr_samr_UserInfo5_acct_expiry,
16330 { "Acct Expiry", "samr.samr_UserInfo5.acct_expiry", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16331 { &hf_samr_samr_Connect5_info_in,
16332 { "Info In", "samr.samr_Connect5.info_in", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16333 { &hf_samr_samr_UserInfo21_nt_password_set,
16334 { "Nt Password Set", "samr.samr_UserInfo21.nt_password_set", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16335 { &hf_samr_samr_UserInfo_info20,
16336 { "Info20", "samr.samr_UserInfo.info20", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16337 { &hf_samr_alias_handle,
16338 { "Alias Handle", "samr.alias_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
16339 { &hf_samr_samr_UserInfo5_account_name,
16340 { "Account Name", "samr.samr_UserInfo5.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16341 { &hf_samr_samr_DispInfoFull_entries,
16342 { "Entries", "samr.samr_DispInfoFull.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16343 { &hf_samr_samr_UserInfo5_full_name,
16344 { "Full Name", "samr.samr_UserInfo5.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16345 { &hf_samr_samr_ChangePasswordUser3_lm_verifier,
16346 { "Lm Verifier", "samr.samr_ChangePasswordUser3.lm_verifier", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16347 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIMARY_GID,
16348 { "Samr Field Primary Gid", "samr.samr_FieldsPresent.SAMR_FIELD_PRIMARY_GID", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_PRIMARY_GID_tfs), ( 0x00000008 ), NULL, HFILL }},
16349 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_3,
16350 { "Samr Domain Access Set Info 3", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_SET_INFO_3", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_3_tfs), ( 0x00000400 ), NULL, HFILL }},
16351 { &hf_samr_samr_GroupAttrs_SE_GROUP_USE_FOR_DENY_ONLY,
16352 { "Se Group Use For Deny Only", "samr.samr_GroupAttrs.SE_GROUP_USE_FOR_DENY_ONLY", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_USE_FOR_DENY_ONLY_tfs), ( 0x00000010 ), NULL, HFILL }},
16353 { &hf_samr_samr_DispInfoAscii_count,
16354 { "Count", "samr.samr_DispInfoAscii.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16355 { &hf_samr_samr_GetMembersInAlias_sids,
16356 { "Sids", "samr.samr_GetMembersInAlias.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16357 { &hf_samr_samr_QueryDisplayInfo3_info,
16358 { "Info", "samr.samr_QueryDisplayInfo3.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16359 { &hf_samr_samr_OemChangePasswordUser2_hash,
16360 { "Hash", "samr.samr_OemChangePasswordUser2.hash", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16361 { &hf_samr_samr_QueryUserInfo2_level,
16362 { "Level", "samr.samr_QueryUserInfo2.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_UserInfoLevel_vals), 0, NULL, HFILL }},
16363 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_BAD_PWD_COUNT,
16364 { "Samr Field Bad Pwd Count", "samr.samr_FieldsPresent.SAMR_FIELD_BAD_PWD_COUNT", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_BAD_PWD_COUNT_tfs), ( 0x00004000 ), NULL, HFILL }},
16365 { &hf_samr_samr_ValidatePasswordReq3_clear_lockout,
16366 { "Clear Lockout", "samr.samr_ValidatePasswordReq3.clear_lockout", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16367 { &hf_samr_samr_Connect4_client_version,
16368 { "Client Version", "samr.samr_Connect4.client_version", FT_UINT32, BASE_DEC, VALS(samr_samr_ConnectVersion_vals), 0, NULL, HFILL }},
16369 { &hf_samr_samr_GetDisplayEnumerationIndex_level,
16370 { "Level", "samr.samr_GetDisplayEnumerationIndex.level", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16371 { &hf_samr_samr_UserInfo5_workstations,
16372 { "Workstations", "samr.samr_UserInfo5.workstations", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16373 { &hf_samr_samr_DispEntryFullGroup_account_name,
16374 { "Account Name", "samr.samr_DispEntryFullGroup.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16375 { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_LOCKOUT_TIME,
16376 { "Samr Validate Field Lockout Time", "samr.samr_ValidateFieldsPresent.SAMR_VALIDATE_FIELD_LOCKOUT_TIME", FT_BOOLEAN, 32, TFS(&samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_LOCKOUT_TIME_tfs), ( 0x00000004 ), NULL, HFILL }},
16377 { &hf_samr_samr_UserInfo1_comment,
16378 { "Comment", "samr.samr_UserInfo1.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16379 { &hf_samr_samr_QueryDisplayInfo_total_size,
16380 { "Total Size", "samr.samr_QueryDisplayInfo.total_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16381 { &hf_samr_samr_EnumDomains_sam,
16382 { "Sam", "samr.samr_EnumDomains.sam", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16383 { &hf_samr_samr_UserInfo2_code_page,
16384 { "Code Page", "samr.samr_UserInfo2.code_page", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16385 { &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_LOCKOUT_ADMINS,
16386 { "Domain Password Lockout Admins", "samr.samr_PasswordProperties.DOMAIN_PASSWORD_LOCKOUT_ADMINS", FT_BOOLEAN, 32, TFS(&samr_PasswordProperties_DOMAIN_PASSWORD_LOCKOUT_ADMINS_tfs), ( 0x00000008 ), NULL, HFILL }},
16387 { &hf_samr_samr_DomGeneralInformation_unknown3,
16388 { "Unknown3", "samr.samr_DomGeneralInformation.unknown3", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16389 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_ATTRIBUTES,
16390 { "Samr User Access Set Attributes", "samr.samr_UserAccessMask.SAMR_USER_ACCESS_SET_ATTRIBUTES", FT_BOOLEAN, 32, TFS(&samr_UserAccessMask_SAMR_USER_ACCESS_SET_ATTRIBUTES_tfs), ( 0x00000020 ), NULL, HFILL }},
16391 { &hf_samr_samr_QueryDisplayInfo_buf_size,
16392 { "Buf Size", "samr.samr_QueryDisplayInfo.buf_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16393 { &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_REMOVE_MEMBER,
16394 { "Samr Alias Access Remove Member", "samr.samr_AliasAccessMask.SAMR_ALIAS_ACCESS_REMOVE_MEMBER", FT_BOOLEAN, 32, TFS(&samr_AliasAccessMask_SAMR_ALIAS_ACCESS_REMOVE_MEMBER_tfs), ( 0x00000002 ), NULL, HFILL }},
16395 { &hf_samr_samr_QueryGroupInfo_level,
16396 { "Level", "samr.samr_QueryGroupInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_GroupInfoEnum_vals), 0, NULL, HFILL }},
16397 { &hf_samr_samr_SetAliasInfo_level,
16398 { "Level", "samr.samr_SetAliasInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_AliasInfoEnum_vals), 0, NULL, HFILL }},
16399 { &hf_samr_samr_UserInfo21_buffer,
16400 { "Buffer", "samr.samr_UserInfo21.buffer", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16401 { &hf_samr_samr_QueryDisplayInfo_level,
16402 { "Level", "samr.samr_QueryDisplayInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainDisplayInformation_vals), 0, NULL, HFILL }},
16403 { &hf_samr_samr_SetDsrmPassword_unknown,
16404 { "Unknown", "samr.samr_SetDsrmPassword.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16405 { &hf_samr_samr_UserInfo5_last_password_change,
16406 { "Last Password Change", "samr.samr_UserInfo5.last_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16407 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_GROUP,
16408 { "Samr Domain Access Create Group", "samr.samr_DomainAccessMask.SAMR_DOMAIN_ACCESS_CREATE_GROUP", FT_BOOLEAN, 32, TFS(&samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_GROUP_tfs), ( 0x00000020 ), NULL, HFILL }},
16409 { &hf_samr_samr_QueryDisplayInfo_returned_size,
16410 { "Returned Size", "samr.samr_QueryDisplayInfo.returned_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16411 { &hf_samr_samr_UserInfo21_allow_password_change,
16412 { "Allow Password Change", "samr.samr_UserInfo21.allow_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16413 { &hf_samr_samr_ConnectInfo_info1,
16414 { "Info1", "samr.samr_ConnectInfo.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16415 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_FULL_NAME,
16416 { "Samr Field Full Name", "samr.samr_FieldsPresent.SAMR_FIELD_FULL_NAME", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_FULL_NAME_tfs), ( 0x00000002 ), NULL, HFILL }},
16417 { &hf_samr_samr_AliasInfoAll_description,
16418 { "Description", "samr.samr_AliasInfoAll.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16422 static gint *ett[] = {
16423 &ett_dcerpc_samr,
16424 &ett_samr_lsa_Strings,
16425 &ett_samr_samr_AcctFlags,
16426 &ett_samr_samr_ConnectAccessMask,
16427 &ett_samr_samr_UserAccessMask,
16428 &ett_samr_samr_DomainAccessMask,
16429 &ett_samr_samr_GroupAccessMask,
16430 &ett_samr_samr_AliasAccessMask,
16431 &ett_samr_samr_SamEntry,
16432 &ett_samr_samr_SamArray,
16433 &ett_samr_samr_PasswordProperties,
16434 &ett_samr_samr_DomInfo1,
16435 &ett_samr_samr_DomGeneralInformation,
16436 &ett_samr_samr_DomInfo3,
16437 &ett_samr_samr_DomOEMInformation,
16438 &ett_samr_samr_DomInfo5,
16439 &ett_samr_samr_DomInfo6,
16440 &ett_samr_samr_DomInfo7,
16441 &ett_samr_samr_DomInfo8,
16442 &ett_samr_samr_DomInfo9,
16443 &ett_samr_samr_DomGeneralInformation2,
16444 &ett_samr_samr_DomInfo12,
16445 &ett_samr_samr_DomInfo13,
16446 &ett_samr_samr_DomainInfo,
16447 &ett_samr_samr_Ids,
16448 &ett_samr_samr_GroupAttrs,
16449 &ett_samr_samr_GroupInfoAll,
16450 &ett_samr_samr_GroupInfoAttributes,
16451 &ett_samr_samr_GroupInfoDescription,
16452 &ett_samr_samr_GroupInfo,
16453 &ett_samr_samr_RidTypeArray,
16454 &ett_samr_samr_AliasInfoAll,
16455 &ett_samr_samr_AliasInfo,
16456 &ett_samr_samr_UserInfo1,
16457 &ett_samr_samr_UserInfo2,
16458 &ett_samr_samr_LogonHours,
16459 &ett_samr_samr_UserInfo3,
16460 &ett_samr_samr_UserInfo4,
16461 &ett_samr_samr_UserInfo5,
16462 &ett_samr_samr_UserInfo6,
16463 &ett_samr_samr_UserInfo7,
16464 &ett_samr_samr_UserInfo8,
16465 &ett_samr_samr_UserInfo9,
16466 &ett_samr_samr_UserInfo10,
16467 &ett_samr_samr_UserInfo11,
16468 &ett_samr_samr_UserInfo12,
16469 &ett_samr_samr_UserInfo13,
16470 &ett_samr_samr_UserInfo14,
16471 &ett_samr_samr_UserInfo16,
16472 &ett_samr_samr_UserInfo17,
16473 &ett_samr_samr_Password,
16474 &ett_samr_samr_UserInfo18,
16475 &ett_samr_samr_UserInfo20,
16476 &ett_samr_samr_FieldsPresent,
16477 &ett_samr_samr_UserInfo21,
16478 &ett_samr_samr_CryptPassword,
16479 &ett_samr_samr_UserInfo23,
16480 &ett_samr_samr_UserInfo24,
16481 &ett_samr_samr_CryptPasswordEx,
16482 &ett_samr_samr_UserInfo25,
16483 &ett_samr_samr_UserInfo26,
16484 &ett_samr_samr_UserInfo,
16485 &ett_samr_samr_RidWithAttribute,
16486 &ett_samr_samr_RidWithAttributeArray,
16487 &ett_samr_samr_DispEntryGeneral,
16488 &ett_samr_samr_DispInfoGeneral,
16489 &ett_samr_samr_DispEntryFull,
16490 &ett_samr_samr_DispInfoFull,
16491 &ett_samr_samr_DispEntryFullGroup,
16492 &ett_samr_samr_DispInfoFullGroups,
16493 &ett_samr_samr_DispEntryAscii,
16494 &ett_samr_samr_DispInfoAscii,
16495 &ett_samr_samr_DispInfo,
16496 &ett_samr_samr_PwInfo,
16497 &ett_samr_samr_ChangeReject,
16498 &ett_samr_samr_ConnectInfo1,
16499 &ett_samr_samr_ConnectInfo,
16500 &ett_samr_samr_ValidateFieldsPresent,
16501 &ett_samr_samr_ValidationBlob,
16502 &ett_samr_samr_ValidatePasswordInfo,
16503 &ett_samr_samr_ValidatePasswordRepCtr,
16504 &ett_samr_samr_ValidatePasswordRep,
16505 &ett_samr_samr_ValidatePasswordReq3,
16506 &ett_samr_samr_ValidatePasswordReq2,
16507 &ett_samr_samr_ValidatePasswordReq1,
16508 &ett_samr_samr_ValidatePasswordReq,
16511 proto_dcerpc_samr = proto_register_protocol("SAMR (pidl)", "SAMR", "samr");
16512 proto_register_field_array(proto_dcerpc_samr, hf, array_length (hf));
16513 proto_register_subtree_array(ett, array_length(ett));
16516 void proto_reg_handoff_dcerpc_samr(void)
16518 dcerpc_init_uuid(proto_dcerpc_samr, ett_dcerpc_samr,
16519 &uuid_dcerpc_samr, ver_dcerpc_samr,
16520 samr_dissectors, hf_samr_opnum);