epan/dissectors/pidl/ C99 drsuapi
[wireshark-sm.git] / epan / dissectors / packet-dcerpc-samr.c
blob69471906270f88d1ff2fdc6e54119b459d8be080
1 /* DO NOT EDIT
2 This file was automatically generated by Pidl
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 https://wiki.wireshark.org/Pidl
9 */
12 #include "config.h"
13 #include <string.h>
14 #include <wsutil/array.h>
15 #include <epan/packet.h>
16 #include <epan/tfs.h>
18 #include "packet-dcerpc.h"
19 #include "packet-dcerpc-nt.h"
20 #include "packet-windows-common.h"
21 #include "packet-dcerpc-samr.h"
22 void proto_register_dcerpc_samr(void);
23 void proto_reg_handoff_dcerpc_samr(void);
25 /* Ett declarations */
26 static int ett_dcerpc_samr;
27 static int ett_samr_lsa_Strings;
28 static int ett_samr_samr_AcctFlags;
29 static int ett_samr_samr_ConnectAccessMask;
30 static int ett_samr_samr_UserAccessMask;
31 static int ett_samr_samr_DomainAccessMask;
32 static int ett_samr_samr_GroupAccessMask;
33 static int ett_samr_samr_AliasAccessMask;
34 static int ett_samr_samr_SamEntry;
35 static int ett_samr_samr_SamArray;
36 static int ett_samr_samr_PasswordProperties;
37 static int ett_samr_samr_DomInfo1;
38 static int ett_samr_samr_DomGeneralInformation;
39 static int ett_samr_samr_DomInfo3;
40 static int ett_samr_samr_DomOEMInformation;
41 static int ett_samr_samr_DomInfo5;
42 static int ett_samr_samr_DomInfo6;
43 static int ett_samr_samr_DomInfo7;
44 static int ett_samr_samr_DomInfo8;
45 static int ett_samr_samr_DomInfo9;
46 static int ett_samr_samr_DomGeneralInformation2;
47 static int ett_samr_samr_DomInfo12;
48 static int ett_samr_samr_DomInfo13;
49 static int ett_samr_samr_DomainInfo;
50 static int ett_samr_samr_Ids;
51 static int ett_samr_samr_GroupAttrs;
52 static int ett_samr_samr_GroupInfoAll;
53 static int ett_samr_samr_GroupInfoAttributes;
54 static int ett_samr_samr_GroupInfoDescription;
55 static int ett_samr_samr_GroupInfo;
56 static int ett_samr_samr_RidTypeArray;
57 static int ett_samr_samr_AliasInfoAll;
58 static int ett_samr_samr_AliasInfo;
59 static int ett_samr_samr_UserInfo1;
60 static int ett_samr_samr_UserInfo2;
61 static int ett_samr_samr_LogonHours;
62 static int ett_samr_samr_UserInfo3;
63 static int ett_samr_samr_UserInfo4;
64 static int ett_samr_samr_UserInfo5;
65 static int ett_samr_samr_UserInfo6;
66 static int ett_samr_samr_UserInfo7;
67 static int ett_samr_samr_UserInfo8;
68 static int ett_samr_samr_UserInfo9;
69 static int ett_samr_samr_UserInfo10;
70 static int ett_samr_samr_UserInfo11;
71 static int ett_samr_samr_UserInfo12;
72 static int ett_samr_samr_UserInfo13;
73 static int ett_samr_samr_UserInfo14;
74 static int ett_samr_samr_UserInfo16;
75 static int ett_samr_samr_UserInfo17;
76 static int ett_samr_samr_Password;
77 static int ett_samr_samr_UserInfo18;
78 static int ett_samr_samr_UserInfo20;
79 static int ett_samr_samr_FieldsPresent;
80 static int ett_samr_samr_UserInfo21;
81 static int ett_samr_samr_CryptPassword;
82 static int ett_samr_samr_UserInfo23;
83 static int ett_samr_samr_UserInfo24;
84 static int ett_samr_samr_CryptPasswordEx;
85 static int ett_samr_samr_UserInfo25;
86 static int ett_samr_samr_UserInfo26;
87 static int ett_samr_samr_EncryptedPasswordAES;
88 static int ett_samr_samr_UserInfo31;
89 static int ett_samr_samr_UserInfo32;
90 static int ett_samr_samr_UserInfo;
91 static int ett_samr_samr_RidWithAttribute;
92 static int ett_samr_samr_RidWithAttributeArray;
93 static int ett_samr_samr_DispEntryGeneral;
94 static int ett_samr_samr_DispInfoGeneral;
95 static int ett_samr_samr_DispEntryFull;
96 static int ett_samr_samr_DispInfoFull;
97 static int ett_samr_samr_DispEntryFullGroup;
98 static int ett_samr_samr_DispInfoFullGroups;
99 static int ett_samr_samr_DispEntryAscii;
100 static int ett_samr_samr_DispInfoAscii;
101 static int ett_samr_samr_DispInfo;
102 static int ett_samr_samr_PwInfo;
103 static int ett_samr_userPwdChangeFailureInformation;
104 static int ett_samr_samr_ConnectInfo1;
105 static int ett_samr_samr_ConnectInfo;
106 static int ett_samr_samr_ValidateFieldsPresent;
107 static int ett_samr_samr_ValidationBlob;
108 static int ett_samr_samr_ValidatePasswordInfo;
109 static int ett_samr_samr_ValidatePasswordRepCtr;
110 static int ett_samr_samr_ValidatePasswordRep;
111 static int ett_samr_samr_ValidatePasswordReq3;
112 static int ett_samr_samr_ValidatePasswordReq2;
113 static int ett_samr_samr_ValidatePasswordReq1;
114 static int ett_samr_samr_ValidatePasswordReq;
117 /* Header field declarations */
118 static int hf_samr_alias_access_mask;
119 static int hf_samr_alias_handle;
120 static int hf_samr_connect_access_mask;
121 static int hf_samr_connect_handle;
122 static int hf_samr_domain_access_mask;
123 static int hf_samr_domain_handle;
124 static int hf_samr_group_access_mask;
125 static int hf_samr_group_handle;
126 static int hf_samr_handle;
127 static int hf_samr_lsa_Strings_count;
128 static int hf_samr_lsa_Strings_names;
129 static int hf_samr_opnum;
130 static int hf_samr_rid;
131 static int hf_samr_samr_AcctFlags_ACB_AUTOLOCK;
132 static int hf_samr_samr_AcctFlags_ACB_DISABLED;
133 static int hf_samr_samr_AcctFlags_ACB_DOMTRUST;
134 static int hf_samr_samr_AcctFlags_ACB_DONT_REQUIRE_PREAUTH;
135 static int hf_samr_samr_AcctFlags_ACB_ENC_TXT_PWD_ALLOWED;
136 static int hf_samr_samr_AcctFlags_ACB_HOMDIRREQ;
137 static int hf_samr_samr_AcctFlags_ACB_MNS;
138 static int hf_samr_samr_AcctFlags_ACB_NORMAL;
139 static int hf_samr_samr_AcctFlags_ACB_NOT_DELEGATED;
140 static int hf_samr_samr_AcctFlags_ACB_NO_AUTH_DATA_REQD;
141 static int hf_samr_samr_AcctFlags_ACB_PARTIAL_SECRETS_ACCOUNT;
142 static int hf_samr_samr_AcctFlags_ACB_PWNOEXP;
143 static int hf_samr_samr_AcctFlags_ACB_PWNOTREQ;
144 static int hf_samr_samr_AcctFlags_ACB_PW_EXPIRED;
145 static int hf_samr_samr_AcctFlags_ACB_SMARTCARD_REQUIRED;
146 static int hf_samr_samr_AcctFlags_ACB_SVRTRUST;
147 static int hf_samr_samr_AcctFlags_ACB_TEMPDUP;
148 static int hf_samr_samr_AcctFlags_ACB_TRUSTED_FOR_DELEGATION;
149 static int hf_samr_samr_AcctFlags_ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION;
150 static int hf_samr_samr_AcctFlags_ACB_USE_AES_KEYS;
151 static int hf_samr_samr_AcctFlags_ACB_USE_DES_KEY_ONLY;
152 static int hf_samr_samr_AcctFlags_ACB_WSTRUST;
153 static int hf_samr_samr_AddAliasMember_sid;
154 static int hf_samr_samr_AddGroupMember_flags;
155 static int hf_samr_samr_AddMultipleMembersToAlias_sids;
156 static int hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_ADD_MEMBER;
157 static int hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_GET_MEMBERS;
158 static int hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_LOOKUP_INFO;
159 static int hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_REMOVE_MEMBER;
160 static int hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_SET_INFO;
161 static int hf_samr_samr_AliasInfoAll_description;
162 static int hf_samr_samr_AliasInfoAll_name;
163 static int hf_samr_samr_AliasInfoAll_num_members;
164 static int hf_samr_samr_AliasInfo_all;
165 static int hf_samr_samr_AliasInfo_description;
166 static int hf_samr_samr_AliasInfo_name;
167 static int hf_samr_samr_ChangePasswordUser2_account;
168 static int hf_samr_samr_ChangePasswordUser2_lm_change;
169 static int hf_samr_samr_ChangePasswordUser2_lm_password;
170 static int hf_samr_samr_ChangePasswordUser2_lm_verifier;
171 static int hf_samr_samr_ChangePasswordUser2_nt_password;
172 static int hf_samr_samr_ChangePasswordUser2_nt_verifier;
173 static int hf_samr_samr_ChangePasswordUser2_server;
174 static int hf_samr_samr_ChangePasswordUser3_account;
175 static int hf_samr_samr_ChangePasswordUser3_dominfo;
176 static int hf_samr_samr_ChangePasswordUser3_lm_change;
177 static int hf_samr_samr_ChangePasswordUser3_lm_password;
178 static int hf_samr_samr_ChangePasswordUser3_lm_verifier;
179 static int hf_samr_samr_ChangePasswordUser3_nt_password;
180 static int hf_samr_samr_ChangePasswordUser3_nt_verifier;
181 static int hf_samr_samr_ChangePasswordUser3_password3;
182 static int hf_samr_samr_ChangePasswordUser3_reject;
183 static int hf_samr_samr_ChangePasswordUser3_server;
184 static int hf_samr_samr_ChangePasswordUser4_account;
185 static int hf_samr_samr_ChangePasswordUser4_password;
186 static int hf_samr_samr_ChangePasswordUser4_server;
187 static int hf_samr_samr_ChangePasswordUser_cross1_present;
188 static int hf_samr_samr_ChangePasswordUser_cross2_present;
189 static int hf_samr_samr_ChangePasswordUser_lm_cross;
190 static int hf_samr_samr_ChangePasswordUser_lm_present;
191 static int hf_samr_samr_ChangePasswordUser_new_lm_crypted;
192 static int hf_samr_samr_ChangePasswordUser_new_nt_crypted;
193 static int hf_samr_samr_ChangePasswordUser_nt_cross;
194 static int hf_samr_samr_ChangePasswordUser_nt_present;
195 static int hf_samr_samr_ChangePasswordUser_old_lm_crypted;
196 static int hf_samr_samr_ChangePasswordUser_old_nt_crypted;
197 static int hf_samr_samr_Connect2_system_name;
198 static int hf_samr_samr_Connect3_system_name;
199 static int hf_samr_samr_Connect3_unknown;
200 static int hf_samr_samr_Connect4_client_version;
201 static int hf_samr_samr_Connect4_system_name;
202 static int hf_samr_samr_Connect5_info_in;
203 static int hf_samr_samr_Connect5_info_out;
204 static int hf_samr_samr_Connect5_level_in;
205 static int hf_samr_samr_Connect5_level_out;
206 static int hf_samr_samr_Connect5_system_name;
207 static int hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CONNECT_TO_SERVER;
208 static int hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CREATE_DOMAIN;
209 static int hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_ENUM_DOMAINS;
210 static int hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_INITIALIZE_SERVER;
211 static int hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_LOOKUP_DOMAIN;
212 static int hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_SHUTDOWN_SERVER;
213 static int hf_samr_samr_ConnectInfo1_client_version;
214 static int hf_samr_samr_ConnectInfo1_supported_features;
215 static int hf_samr_samr_ConnectInfo_info1;
216 static int hf_samr_samr_Connect_system_name;
217 static int hf_samr_samr_CreateDomAlias_alias_name;
218 static int hf_samr_samr_CreateDomainGroup_name;
219 static int hf_samr_samr_CreateUser2_access_granted;
220 static int hf_samr_samr_CreateUser2_account_name;
221 static int hf_samr_samr_CreateUser2_acct_flags;
222 static int hf_samr_samr_CreateUser_account_name;
223 static int hf_samr_samr_CryptPasswordEx_data;
224 static int hf_samr_samr_CryptPassword_data;
225 static int hf_samr_samr_DeleteAliasMember_sid;
226 static int hf_samr_samr_DispEntryAscii_account_name;
227 static int hf_samr_samr_DispEntryAscii_idx;
228 static int hf_samr_samr_DispEntryFullGroup_account_name;
229 static int hf_samr_samr_DispEntryFullGroup_acct_flags;
230 static int hf_samr_samr_DispEntryFullGroup_description;
231 static int hf_samr_samr_DispEntryFullGroup_idx;
232 static int hf_samr_samr_DispEntryFull_account_name;
233 static int hf_samr_samr_DispEntryFull_acct_flags;
234 static int hf_samr_samr_DispEntryFull_description;
235 static int hf_samr_samr_DispEntryFull_idx;
236 static int hf_samr_samr_DispEntryGeneral_account_name;
237 static int hf_samr_samr_DispEntryGeneral_acct_flags;
238 static int hf_samr_samr_DispEntryGeneral_description;
239 static int hf_samr_samr_DispEntryGeneral_full_name;
240 static int hf_samr_samr_DispEntryGeneral_idx;
241 static int hf_samr_samr_DispInfoAscii_count;
242 static int hf_samr_samr_DispInfoAscii_entries;
243 static int hf_samr_samr_DispInfoFullGroups_count;
244 static int hf_samr_samr_DispInfoFullGroups_entries;
245 static int hf_samr_samr_DispInfoFull_count;
246 static int hf_samr_samr_DispInfoFull_entries;
247 static int hf_samr_samr_DispInfoGeneral_count;
248 static int hf_samr_samr_DispInfoGeneral_entries;
249 static int hf_samr_samr_DispInfo_info1;
250 static int hf_samr_samr_DispInfo_info2;
251 static int hf_samr_samr_DispInfo_info3;
252 static int hf_samr_samr_DispInfo_info4;
253 static int hf_samr_samr_DispInfo_info5;
254 static int hf_samr_samr_DomGeneralInformation2_general;
255 static int hf_samr_samr_DomGeneralInformation2_lockout_duration;
256 static int hf_samr_samr_DomGeneralInformation2_lockout_threshold;
257 static int hf_samr_samr_DomGeneralInformation2_lockout_window;
258 static int hf_samr_samr_DomGeneralInformation_domain_name;
259 static int hf_samr_samr_DomGeneralInformation_domain_server_state;
260 static int hf_samr_samr_DomGeneralInformation_force_logoff_time;
261 static int hf_samr_samr_DomGeneralInformation_num_aliases;
262 static int hf_samr_samr_DomGeneralInformation_num_groups;
263 static int hf_samr_samr_DomGeneralInformation_num_users;
264 static int hf_samr_samr_DomGeneralInformation_oem_information;
265 static int hf_samr_samr_DomGeneralInformation_primary;
266 static int hf_samr_samr_DomGeneralInformation_role;
267 static int hf_samr_samr_DomGeneralInformation_sequence_num;
268 static int hf_samr_samr_DomGeneralInformation_unknown3;
269 static int hf_samr_samr_DomInfo12_lockout_duration;
270 static int hf_samr_samr_DomInfo12_lockout_threshold;
271 static int hf_samr_samr_DomInfo12_lockout_window;
272 static int hf_samr_samr_DomInfo13_domain_create_time;
273 static int hf_samr_samr_DomInfo13_modified_count_at_last_promotion;
274 static int hf_samr_samr_DomInfo13_sequence_num;
275 static int hf_samr_samr_DomInfo1_max_password_age;
276 static int hf_samr_samr_DomInfo1_min_password_age;
277 static int hf_samr_samr_DomInfo1_min_password_length;
278 static int hf_samr_samr_DomInfo1_password_history_length;
279 static int hf_samr_samr_DomInfo1_password_properties;
280 static int hf_samr_samr_DomInfo3_force_logoff_time;
281 static int hf_samr_samr_DomInfo5_domain_name;
282 static int hf_samr_samr_DomInfo6_primary;
283 static int hf_samr_samr_DomInfo7_role;
284 static int hf_samr_samr_DomInfo8_domain_create_time;
285 static int hf_samr_samr_DomInfo8_sequence_num;
286 static int hf_samr_samr_DomInfo9_domain_server_state;
287 static int hf_samr_samr_DomOEMInformation_oem_information;
288 static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_ALIAS;
289 static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_GROUP;
290 static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_USER;
291 static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS;
292 static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS;
293 static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1;
294 static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2;
295 static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT;
296 static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_1;
297 static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_2;
298 static int hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_3;
299 static int hf_samr_samr_DomainInfo_general;
300 static int hf_samr_samr_DomainInfo_general2;
301 static int hf_samr_samr_DomainInfo_info1;
302 static int hf_samr_samr_DomainInfo_info12;
303 static int hf_samr_samr_DomainInfo_info13;
304 static int hf_samr_samr_DomainInfo_info3;
305 static int hf_samr_samr_DomainInfo_info5;
306 static int hf_samr_samr_DomainInfo_info6;
307 static int hf_samr_samr_DomainInfo_info7;
308 static int hf_samr_samr_DomainInfo_info8;
309 static int hf_samr_samr_DomainInfo_info9;
310 static int hf_samr_samr_DomainInfo_oem;
311 static int hf_samr_samr_EncryptedPasswordAES_PBKDF2Iterations;
312 static int hf_samr_samr_EncryptedPasswordAES_auth_data;
313 static int hf_samr_samr_EncryptedPasswordAES_cipher;
314 static int hf_samr_samr_EncryptedPasswordAES_cipher_len;
315 static int hf_samr_samr_EncryptedPasswordAES_salt;
316 static int hf_samr_samr_EnumDomainAliases_max_size;
317 static int hf_samr_samr_EnumDomainAliases_num_entries;
318 static int hf_samr_samr_EnumDomainAliases_resume_handle;
319 static int hf_samr_samr_EnumDomainAliases_sam;
320 static int hf_samr_samr_EnumDomainGroups_max_size;
321 static int hf_samr_samr_EnumDomainGroups_num_entries;
322 static int hf_samr_samr_EnumDomainGroups_resume_handle;
323 static int hf_samr_samr_EnumDomainGroups_sam;
324 static int hf_samr_samr_EnumDomainUsers_acct_flags;
325 static int hf_samr_samr_EnumDomainUsers_max_size;
326 static int hf_samr_samr_EnumDomainUsers_num_entries;
327 static int hf_samr_samr_EnumDomainUsers_resume_handle;
328 static int hf_samr_samr_EnumDomainUsers_sam;
329 static int hf_samr_samr_EnumDomains_buf_size;
330 static int hf_samr_samr_EnumDomains_connect_handle;
331 static int hf_samr_samr_EnumDomains_num_entries;
332 static int hf_samr_samr_EnumDomains_resume_handle;
333 static int hf_samr_samr_EnumDomains_sam;
334 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCOUNT_NAME;
335 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_EXPIRY;
336 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_FLAGS;
337 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_ALLOW_PWD_CHANGE;
338 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_BAD_PWD_COUNT;
339 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_CODE_PAGE;
340 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_COMMENT;
341 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_COUNTRY_CODE;
342 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_DESCRIPTION;
343 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_EXPIRED_FLAG;
344 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_FORCE_PWD_CHANGE;
345 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_FULL_NAME;
346 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DIRECTORY;
347 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DRIVE;
348 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGOFF;
349 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGON;
350 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_PWD_CHANGE;
351 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_LM_PASSWORD_PRESENT;
352 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_HOURS;
353 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_SCRIPT;
354 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_NT_PASSWORD_PRESENT;
355 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_NUM_LOGONS;
356 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_OWF_PWD;
357 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_PARAMETERS;
358 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIMARY_GID;
359 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIVATE_DATA;
360 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_PROFILE_PATH;
361 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_RID;
362 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_SEC_DESC;
363 static int hf_samr_samr_FieldsPresent_SAMR_FIELD_WORKSTATIONS;
364 static int hf_samr_samr_GetAliasMembership_rids;
365 static int hf_samr_samr_GetAliasMembership_sids;
366 static int hf_samr_samr_GetBootKeyInformation_domain_handle;
367 static int hf_samr_samr_GetBootKeyInformation_unknown;
368 static int hf_samr_samr_GetDisplayEnumerationIndex2_idx;
369 static int hf_samr_samr_GetDisplayEnumerationIndex2_level;
370 static int hf_samr_samr_GetDisplayEnumerationIndex2_name;
371 static int hf_samr_samr_GetDisplayEnumerationIndex_idx;
372 static int hf_samr_samr_GetDisplayEnumerationIndex_level;
373 static int hf_samr_samr_GetDisplayEnumerationIndex_name;
374 static int hf_samr_samr_GetDomPwInfo_domain_name;
375 static int hf_samr_samr_GetDomPwInfo_info;
376 static int hf_samr_samr_GetGroupsForUser_rids;
377 static int hf_samr_samr_GetMembersInAlias_sids;
378 static int hf_samr_samr_GetUserPwInfo_info;
379 static int hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_ADD_MEMBER;
380 static int hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_GET_MEMBERS;
381 static int hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_LOOKUP_INFO;
382 static int hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_REMOVE_MEMBER;
383 static int hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_SET_INFO;
384 static int hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED;
385 static int hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED_BY_DEFAULT;
386 static int hf_samr_samr_GroupAttrs_SE_GROUP_LOGON_ID;
387 static int hf_samr_samr_GroupAttrs_SE_GROUP_MANDATORY;
388 static int hf_samr_samr_GroupAttrs_SE_GROUP_OWNER;
389 static int hf_samr_samr_GroupAttrs_SE_GROUP_RESOURCE;
390 static int hf_samr_samr_GroupAttrs_SE_GROUP_USE_FOR_DENY_ONLY;
391 static int hf_samr_samr_GroupInfoAll_attributes;
392 static int hf_samr_samr_GroupInfoAll_description;
393 static int hf_samr_samr_GroupInfoAll_name;
394 static int hf_samr_samr_GroupInfoAll_num_members;
395 static int hf_samr_samr_GroupInfoAttributes_attributes;
396 static int hf_samr_samr_GroupInfoDescription_description;
397 static int hf_samr_samr_GroupInfo_all;
398 static int hf_samr_samr_GroupInfo_all2;
399 static int hf_samr_samr_GroupInfo_attributes;
400 static int hf_samr_samr_GroupInfo_description;
401 static int hf_samr_samr_GroupInfo_name;
402 static int hf_samr_samr_Ids_count;
403 static int hf_samr_samr_LogonHours_bits;
404 static int hf_samr_samr_LogonHours_units_per_week;
405 static int hf_samr_samr_LookupDomain_domain_name;
406 static int hf_samr_samr_LookupDomain_sid;
407 static int hf_samr_samr_LookupNames_names;
408 static int hf_samr_samr_LookupNames_num_names;
409 static int hf_samr_samr_LookupNames_rids;
410 static int hf_samr_samr_LookupNames_types;
411 static int hf_samr_samr_LookupRids_names;
412 static int hf_samr_samr_LookupRids_num_rids;
413 static int hf_samr_samr_LookupRids_types;
414 static int hf_samr_samr_OemChangePasswordUser2_account;
415 static int hf_samr_samr_OemChangePasswordUser2_hash;
416 static int hf_samr_samr_OemChangePasswordUser2_password;
417 static int hf_samr_samr_OemChangePasswordUser2_server;
418 static int hf_samr_samr_OpenDomain_sid;
419 static int hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_COMPLEX;
420 static int hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_LOCKOUT_ADMINS;
421 static int hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_ANON_CHANGE;
422 static int hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_CLEAR_CHANGE;
423 static int hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_STORE_CLEARTEXT;
424 static int hf_samr_samr_PasswordProperties_DOMAIN_REFUSE_PASSWORD_CHANGE;
425 static int hf_samr_samr_Password_hash;
426 static int hf_samr_samr_PwInfo_min_password_length;
427 static int hf_samr_samr_PwInfo_password_properties;
428 static int hf_samr_samr_QueryAliasInfo_info;
429 static int hf_samr_samr_QueryAliasInfo_level;
430 static int hf_samr_samr_QueryDisplayInfo2_buf_size;
431 static int hf_samr_samr_QueryDisplayInfo2_info;
432 static int hf_samr_samr_QueryDisplayInfo2_level;
433 static int hf_samr_samr_QueryDisplayInfo2_max_entries;
434 static int hf_samr_samr_QueryDisplayInfo2_returned_size;
435 static int hf_samr_samr_QueryDisplayInfo2_start_idx;
436 static int hf_samr_samr_QueryDisplayInfo2_total_size;
437 static int hf_samr_samr_QueryDisplayInfo3_buf_size;
438 static int hf_samr_samr_QueryDisplayInfo3_info;
439 static int hf_samr_samr_QueryDisplayInfo3_level;
440 static int hf_samr_samr_QueryDisplayInfo3_max_entries;
441 static int hf_samr_samr_QueryDisplayInfo3_returned_size;
442 static int hf_samr_samr_QueryDisplayInfo3_start_idx;
443 static int hf_samr_samr_QueryDisplayInfo3_total_size;
444 static int hf_samr_samr_QueryDisplayInfo_buf_size;
445 static int hf_samr_samr_QueryDisplayInfo_info;
446 static int hf_samr_samr_QueryDisplayInfo_level;
447 static int hf_samr_samr_QueryDisplayInfo_max_entries;
448 static int hf_samr_samr_QueryDisplayInfo_returned_size;
449 static int hf_samr_samr_QueryDisplayInfo_start_idx;
450 static int hf_samr_samr_QueryDisplayInfo_total_size;
451 static int hf_samr_samr_QueryDomainInfo2_info;
452 static int hf_samr_samr_QueryDomainInfo2_level;
453 static int hf_samr_samr_QueryDomainInfo_info;
454 static int hf_samr_samr_QueryDomainInfo_level;
455 static int hf_samr_samr_QueryGroupInfo_info;
456 static int hf_samr_samr_QueryGroupInfo_level;
457 static int hf_samr_samr_QueryGroupMember_rids;
458 static int hf_samr_samr_QuerySecurity_sdbuf;
459 static int hf_samr_samr_QuerySecurity_sec_info;
460 static int hf_samr_samr_QueryUserInfo2_info;
461 static int hf_samr_samr_QueryUserInfo2_level;
462 static int hf_samr_samr_QueryUserInfo_info;
463 static int hf_samr_samr_QueryUserInfo_level;
464 static int hf_samr_samr_RemoveMemberFromForeignDomain_sid;
465 static int hf_samr_samr_RemoveMultipleMembersFromAlias_sids;
466 static int hf_samr_samr_RidToSid_sid;
467 static int hf_samr_samr_RidTypeArray_count;
468 static int hf_samr_samr_RidTypeArray_types;
469 static int hf_samr_samr_RidWithAttributeArray_count;
470 static int hf_samr_samr_RidWithAttributeArray_rids;
471 static int hf_samr_samr_RidWithAttribute_attributes;
472 static int hf_samr_samr_SamArray_count;
473 static int hf_samr_samr_SamArray_entries;
474 static int hf_samr_samr_SamEntry_idx;
475 static int hf_samr_samr_SamEntry_name;
476 static int hf_samr_samr_SetAliasInfo_info;
477 static int hf_samr_samr_SetAliasInfo_level;
478 static int hf_samr_samr_SetBootKeyInformation_unknown1;
479 static int hf_samr_samr_SetBootKeyInformation_unknown2;
480 static int hf_samr_samr_SetBootKeyInformation_unknown3;
481 static int hf_samr_samr_SetDomainInfo_info;
482 static int hf_samr_samr_SetDomainInfo_level;
483 static int hf_samr_samr_SetDsrmPassword_hash;
484 static int hf_samr_samr_SetDsrmPassword_name;
485 static int hf_samr_samr_SetDsrmPassword_unknown;
486 static int hf_samr_samr_SetGroupInfo_info;
487 static int hf_samr_samr_SetGroupInfo_level;
488 static int hf_samr_samr_SetMemberAttributesOfGroup_unknown1;
489 static int hf_samr_samr_SetMemberAttributesOfGroup_unknown2;
490 static int hf_samr_samr_SetSecurity_sdbuf;
491 static int hf_samr_samr_SetSecurity_sec_info;
492 static int hf_samr_samr_SetUserInfo2_info;
493 static int hf_samr_samr_SetUserInfo2_level;
494 static int hf_samr_samr_SetUserInfo_info;
495 static int hf_samr_samr_SetUserInfo_level;
496 static int hf_samr_samr_Shutdown_connect_handle;
497 static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP;
498 static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_PASSWORD;
499 static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_ATTRIBUTES;
500 static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUPS;
501 static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP;
502 static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOCALE;
503 static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOGONINFO;
504 static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_NAME_ETC;
505 static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_ATTRIBUTES;
506 static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_LOC_COM;
507 static int hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_PASSWORD;
508 static int hf_samr_samr_UserInfo10_home_directory;
509 static int hf_samr_samr_UserInfo10_home_drive;
510 static int hf_samr_samr_UserInfo11_logon_script;
511 static int hf_samr_samr_UserInfo12_profile_path;
512 static int hf_samr_samr_UserInfo13_description;
513 static int hf_samr_samr_UserInfo14_workstations;
514 static int hf_samr_samr_UserInfo16_acct_flags;
515 static int hf_samr_samr_UserInfo17_acct_expiry;
516 static int hf_samr_samr_UserInfo18_lm_pwd;
517 static int hf_samr_samr_UserInfo18_lm_pwd_active;
518 static int hf_samr_samr_UserInfo18_nt_pwd;
519 static int hf_samr_samr_UserInfo18_nt_pwd_active;
520 static int hf_samr_samr_UserInfo18_password_expired;
521 static int hf_samr_samr_UserInfo1_account_name;
522 static int hf_samr_samr_UserInfo1_comment;
523 static int hf_samr_samr_UserInfo1_description;
524 static int hf_samr_samr_UserInfo1_full_name;
525 static int hf_samr_samr_UserInfo1_primary_gid;
526 static int hf_samr_samr_UserInfo20_parameters;
527 static int hf_samr_samr_UserInfo21_account_name;
528 static int hf_samr_samr_UserInfo21_acct_expiry;
529 static int hf_samr_samr_UserInfo21_acct_flags;
530 static int hf_samr_samr_UserInfo21_allow_password_change;
531 static int hf_samr_samr_UserInfo21_bad_password_count;
532 static int hf_samr_samr_UserInfo21_buf_count;
533 static int hf_samr_samr_UserInfo21_buffer;
534 static int hf_samr_samr_UserInfo21_code_page;
535 static int hf_samr_samr_UserInfo21_comment;
536 static int hf_samr_samr_UserInfo21_country_code;
537 static int hf_samr_samr_UserInfo21_description;
538 static int hf_samr_samr_UserInfo21_fields_present;
539 static int hf_samr_samr_UserInfo21_force_password_change;
540 static int hf_samr_samr_UserInfo21_full_name;
541 static int hf_samr_samr_UserInfo21_home_directory;
542 static int hf_samr_samr_UserInfo21_home_drive;
543 static int hf_samr_samr_UserInfo21_last_logoff;
544 static int hf_samr_samr_UserInfo21_last_logon;
545 static int hf_samr_samr_UserInfo21_last_password_change;
546 static int hf_samr_samr_UserInfo21_lm_owf_password;
547 static int hf_samr_samr_UserInfo21_lm_password_set;
548 static int hf_samr_samr_UserInfo21_logon_count;
549 static int hf_samr_samr_UserInfo21_logon_hours;
550 static int hf_samr_samr_UserInfo21_logon_script;
551 static int hf_samr_samr_UserInfo21_nt_owf_password;
552 static int hf_samr_samr_UserInfo21_nt_password_set;
553 static int hf_samr_samr_UserInfo21_parameters;
554 static int hf_samr_samr_UserInfo21_password_expired;
555 static int hf_samr_samr_UserInfo21_primary_gid;
556 static int hf_samr_samr_UserInfo21_private_data;
557 static int hf_samr_samr_UserInfo21_private_data_sensitive;
558 static int hf_samr_samr_UserInfo21_profile_path;
559 static int hf_samr_samr_UserInfo21_workstations;
560 static int hf_samr_samr_UserInfo23_info;
561 static int hf_samr_samr_UserInfo23_password;
562 static int hf_samr_samr_UserInfo24_password;
563 static int hf_samr_samr_UserInfo24_password_expired;
564 static int hf_samr_samr_UserInfo25_info;
565 static int hf_samr_samr_UserInfo25_password;
566 static int hf_samr_samr_UserInfo26_password;
567 static int hf_samr_samr_UserInfo26_password_expired;
568 static int hf_samr_samr_UserInfo2_code_page;
569 static int hf_samr_samr_UserInfo2_comment;
570 static int hf_samr_samr_UserInfo2_country_code;
571 static int hf_samr_samr_UserInfo2_reserved;
572 static int hf_samr_samr_UserInfo31_password;
573 static int hf_samr_samr_UserInfo31_password_expired;
574 static int hf_samr_samr_UserInfo32_info;
575 static int hf_samr_samr_UserInfo32_password;
576 static int hf_samr_samr_UserInfo3_account_name;
577 static int hf_samr_samr_UserInfo3_acct_flags;
578 static int hf_samr_samr_UserInfo3_allow_password_change;
579 static int hf_samr_samr_UserInfo3_bad_password_count;
580 static int hf_samr_samr_UserInfo3_force_password_change;
581 static int hf_samr_samr_UserInfo3_full_name;
582 static int hf_samr_samr_UserInfo3_home_directory;
583 static int hf_samr_samr_UserInfo3_home_drive;
584 static int hf_samr_samr_UserInfo3_last_logoff;
585 static int hf_samr_samr_UserInfo3_last_logon;
586 static int hf_samr_samr_UserInfo3_last_password_change;
587 static int hf_samr_samr_UserInfo3_logon_count;
588 static int hf_samr_samr_UserInfo3_logon_hours;
589 static int hf_samr_samr_UserInfo3_logon_script;
590 static int hf_samr_samr_UserInfo3_primary_gid;
591 static int hf_samr_samr_UserInfo3_profile_path;
592 static int hf_samr_samr_UserInfo3_workstations;
593 static int hf_samr_samr_UserInfo4_logon_hours;
594 static int hf_samr_samr_UserInfo5_account_name;
595 static int hf_samr_samr_UserInfo5_acct_expiry;
596 static int hf_samr_samr_UserInfo5_acct_flags;
597 static int hf_samr_samr_UserInfo5_bad_password_count;
598 static int hf_samr_samr_UserInfo5_description;
599 static int hf_samr_samr_UserInfo5_full_name;
600 static int hf_samr_samr_UserInfo5_home_directory;
601 static int hf_samr_samr_UserInfo5_home_drive;
602 static int hf_samr_samr_UserInfo5_last_logoff;
603 static int hf_samr_samr_UserInfo5_last_logon;
604 static int hf_samr_samr_UserInfo5_last_password_change;
605 static int hf_samr_samr_UserInfo5_logon_count;
606 static int hf_samr_samr_UserInfo5_logon_hours;
607 static int hf_samr_samr_UserInfo5_logon_script;
608 static int hf_samr_samr_UserInfo5_primary_gid;
609 static int hf_samr_samr_UserInfo5_profile_path;
610 static int hf_samr_samr_UserInfo5_workstations;
611 static int hf_samr_samr_UserInfo6_account_name;
612 static int hf_samr_samr_UserInfo6_full_name;
613 static int hf_samr_samr_UserInfo7_account_name;
614 static int hf_samr_samr_UserInfo8_full_name;
615 static int hf_samr_samr_UserInfo9_primary_gid;
616 static int hf_samr_samr_UserInfo_info1;
617 static int hf_samr_samr_UserInfo_info10;
618 static int hf_samr_samr_UserInfo_info11;
619 static int hf_samr_samr_UserInfo_info12;
620 static int hf_samr_samr_UserInfo_info13;
621 static int hf_samr_samr_UserInfo_info14;
622 static int hf_samr_samr_UserInfo_info16;
623 static int hf_samr_samr_UserInfo_info17;
624 static int hf_samr_samr_UserInfo_info18;
625 static int hf_samr_samr_UserInfo_info2;
626 static int hf_samr_samr_UserInfo_info20;
627 static int hf_samr_samr_UserInfo_info21;
628 static int hf_samr_samr_UserInfo_info23;
629 static int hf_samr_samr_UserInfo_info24;
630 static int hf_samr_samr_UserInfo_info25;
631 static int hf_samr_samr_UserInfo_info26;
632 static int hf_samr_samr_UserInfo_info3;
633 static int hf_samr_samr_UserInfo_info31;
634 static int hf_samr_samr_UserInfo_info32;
635 static int hf_samr_samr_UserInfo_info4;
636 static int hf_samr_samr_UserInfo_info5;
637 static int hf_samr_samr_UserInfo_info6;
638 static int hf_samr_samr_UserInfo_info7;
639 static int hf_samr_samr_UserInfo_info8;
640 static int hf_samr_samr_UserInfo_info9;
641 static int hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT;
642 static int hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME;
643 static int hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_LOCKOUT_TIME;
644 static int hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY;
645 static int hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH;
646 static int hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET;
647 static int hf_samr_samr_ValidatePasswordInfo_bad_password_time;
648 static int hf_samr_samr_ValidatePasswordInfo_bad_pwd_count;
649 static int hf_samr_samr_ValidatePasswordInfo_fields_present;
650 static int hf_samr_samr_ValidatePasswordInfo_last_password_change;
651 static int hf_samr_samr_ValidatePasswordInfo_lockout_time;
652 static int hf_samr_samr_ValidatePasswordInfo_pwd_history;
653 static int hf_samr_samr_ValidatePasswordInfo_pwd_history_len;
654 static int hf_samr_samr_ValidatePasswordRepCtr_info;
655 static int hf_samr_samr_ValidatePasswordRepCtr_status;
656 static int hf_samr_samr_ValidatePasswordRep_ctr1;
657 static int hf_samr_samr_ValidatePasswordRep_ctr2;
658 static int hf_samr_samr_ValidatePasswordRep_ctr3;
659 static int hf_samr_samr_ValidatePasswordReq1_info;
660 static int hf_samr_samr_ValidatePasswordReq1_password_matched;
661 static int hf_samr_samr_ValidatePasswordReq2_account;
662 static int hf_samr_samr_ValidatePasswordReq2_hash;
663 static int hf_samr_samr_ValidatePasswordReq2_info;
664 static int hf_samr_samr_ValidatePasswordReq2_password;
665 static int hf_samr_samr_ValidatePasswordReq2_password_matched;
666 static int hf_samr_samr_ValidatePasswordReq3_account;
667 static int hf_samr_samr_ValidatePasswordReq3_clear_lockout;
668 static int hf_samr_samr_ValidatePasswordReq3_hash;
669 static int hf_samr_samr_ValidatePasswordReq3_info;
670 static int hf_samr_samr_ValidatePasswordReq3_password;
671 static int hf_samr_samr_ValidatePasswordReq3_pwd_must_change_at_next_logon;
672 static int hf_samr_samr_ValidatePasswordReq_req1;
673 static int hf_samr_samr_ValidatePasswordReq_req2;
674 static int hf_samr_samr_ValidatePasswordReq_req3;
675 static int hf_samr_samr_ValidatePassword_level;
676 static int hf_samr_samr_ValidatePassword_rep;
677 static int hf_samr_samr_ValidatePassword_req;
678 static int hf_samr_samr_ValidationBlob_data;
679 static int hf_samr_samr_ValidationBlob_length;
680 static int hf_samr_sec_desc_buf_len;
681 static int hf_samr_status;
682 static int hf_samr_userPwdChangeFailureInformation_extendedFailureReason;
683 static int hf_samr_userPwdChangeFailureInformation_filterModuleName;
684 static int hf_samr_user_access_mask;
685 static int hf_samr_user_handle;
687 static int proto_dcerpc_samr;
688 /* Version information */
691 static e_guid_t uuid_dcerpc_samr = {
692 0x12345778, 0x1234, 0xabcd,
693 { 0xef, 0x00, 0x01, 0x23, 0x45, 0x67, 0x89, 0xac }
695 static uint16_t ver_dcerpc_samr = 1;
697 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_, uint8_t *drep _U_);
698 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_, uint8_t *drep _U_);
699 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_, uint8_t *drep _U_);
700 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_, uint8_t *drep _U_);
701 const value_string samr_lsa_SidType_vals[] = {
702 { SID_NAME_USE_NONE, "SID_NAME_USE_NONE" },
703 { SID_NAME_USER, "SID_NAME_USER" },
704 { SID_NAME_DOM_GRP, "SID_NAME_DOM_GRP" },
705 { SID_NAME_DOMAIN, "SID_NAME_DOMAIN" },
706 { SID_NAME_ALIAS, "SID_NAME_ALIAS" },
707 { SID_NAME_WKN_GRP, "SID_NAME_WKN_GRP" },
708 { SID_NAME_DELETED, "SID_NAME_DELETED" },
709 { SID_NAME_INVALID, "SID_NAME_INVALID" },
710 { SID_NAME_UNKNOWN, "SID_NAME_UNKNOWN" },
711 { SID_NAME_COMPUTER, "SID_NAME_COMPUTER" },
712 { 0, NULL }
714 static const true_false_string samr_AcctFlags_ACB_DISABLED_tfs = {
715 "ACB_DISABLED is SET",
716 "ACB_DISABLED is NOT SET",
718 static const true_false_string samr_AcctFlags_ACB_HOMDIRREQ_tfs = {
719 "ACB_HOMDIRREQ is SET",
720 "ACB_HOMDIRREQ is NOT SET",
722 static const true_false_string samr_AcctFlags_ACB_PWNOTREQ_tfs = {
723 "ACB_PWNOTREQ is SET",
724 "ACB_PWNOTREQ is NOT SET",
726 static const true_false_string samr_AcctFlags_ACB_TEMPDUP_tfs = {
727 "ACB_TEMPDUP is SET",
728 "ACB_TEMPDUP is NOT SET",
730 static const true_false_string samr_AcctFlags_ACB_NORMAL_tfs = {
731 "ACB_NORMAL is SET",
732 "ACB_NORMAL is NOT SET",
734 static const true_false_string samr_AcctFlags_ACB_MNS_tfs = {
735 "ACB_MNS is SET",
736 "ACB_MNS is NOT SET",
738 static const true_false_string samr_AcctFlags_ACB_DOMTRUST_tfs = {
739 "ACB_DOMTRUST is SET",
740 "ACB_DOMTRUST is NOT SET",
742 static const true_false_string samr_AcctFlags_ACB_WSTRUST_tfs = {
743 "ACB_WSTRUST is SET",
744 "ACB_WSTRUST is NOT SET",
746 static const true_false_string samr_AcctFlags_ACB_SVRTRUST_tfs = {
747 "ACB_SVRTRUST is SET",
748 "ACB_SVRTRUST is NOT SET",
750 static const true_false_string samr_AcctFlags_ACB_PWNOEXP_tfs = {
751 "ACB_PWNOEXP is SET",
752 "ACB_PWNOEXP is NOT SET",
754 static const true_false_string samr_AcctFlags_ACB_AUTOLOCK_tfs = {
755 "ACB_AUTOLOCK is SET",
756 "ACB_AUTOLOCK is NOT SET",
758 static const true_false_string samr_AcctFlags_ACB_ENC_TXT_PWD_ALLOWED_tfs = {
759 "ACB_ENC_TXT_PWD_ALLOWED is SET",
760 "ACB_ENC_TXT_PWD_ALLOWED is NOT SET",
762 static const true_false_string samr_AcctFlags_ACB_SMARTCARD_REQUIRED_tfs = {
763 "ACB_SMARTCARD_REQUIRED is SET",
764 "ACB_SMARTCARD_REQUIRED is NOT SET",
766 static const true_false_string samr_AcctFlags_ACB_TRUSTED_FOR_DELEGATION_tfs = {
767 "ACB_TRUSTED_FOR_DELEGATION is SET",
768 "ACB_TRUSTED_FOR_DELEGATION is NOT SET",
770 static const true_false_string samr_AcctFlags_ACB_NOT_DELEGATED_tfs = {
771 "ACB_NOT_DELEGATED is SET",
772 "ACB_NOT_DELEGATED is NOT SET",
774 static const true_false_string samr_AcctFlags_ACB_USE_DES_KEY_ONLY_tfs = {
775 "ACB_USE_DES_KEY_ONLY is SET",
776 "ACB_USE_DES_KEY_ONLY is NOT SET",
778 static const true_false_string samr_AcctFlags_ACB_DONT_REQUIRE_PREAUTH_tfs = {
779 "ACB_DONT_REQUIRE_PREAUTH is SET",
780 "ACB_DONT_REQUIRE_PREAUTH is NOT SET",
782 static const true_false_string samr_AcctFlags_ACB_PW_EXPIRED_tfs = {
783 "ACB_PW_EXPIRED is SET",
784 "ACB_PW_EXPIRED is NOT SET",
786 static const true_false_string samr_AcctFlags_ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION_tfs = {
787 "ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION is SET",
788 "ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION is NOT SET",
790 static const true_false_string samr_AcctFlags_ACB_NO_AUTH_DATA_REQD_tfs = {
791 "ACB_NO_AUTH_DATA_REQD is SET",
792 "ACB_NO_AUTH_DATA_REQD is NOT SET",
794 static const true_false_string samr_AcctFlags_ACB_PARTIAL_SECRETS_ACCOUNT_tfs = {
795 "ACB_PARTIAL_SECRETS_ACCOUNT is SET",
796 "ACB_PARTIAL_SECRETS_ACCOUNT is NOT SET",
798 static const true_false_string samr_AcctFlags_ACB_USE_AES_KEYS_tfs = {
799 "ACB_USE_AES_KEYS is SET",
800 "ACB_USE_AES_KEYS is NOT SET",
802 static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_CONNECT_TO_SERVER_tfs = {
803 "SAMR_ACCESS_CONNECT_TO_SERVER is SET",
804 "SAMR_ACCESS_CONNECT_TO_SERVER is NOT SET",
806 static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_SHUTDOWN_SERVER_tfs = {
807 "SAMR_ACCESS_SHUTDOWN_SERVER is SET",
808 "SAMR_ACCESS_SHUTDOWN_SERVER is NOT SET",
810 static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_INITIALIZE_SERVER_tfs = {
811 "SAMR_ACCESS_INITIALIZE_SERVER is SET",
812 "SAMR_ACCESS_INITIALIZE_SERVER is NOT SET",
814 static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_CREATE_DOMAIN_tfs = {
815 "SAMR_ACCESS_CREATE_DOMAIN is SET",
816 "SAMR_ACCESS_CREATE_DOMAIN is NOT SET",
818 static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_ENUM_DOMAINS_tfs = {
819 "SAMR_ACCESS_ENUM_DOMAINS is SET",
820 "SAMR_ACCESS_ENUM_DOMAINS is NOT SET",
822 static const true_false_string samr_ConnectAccessMask_SAMR_ACCESS_LOOKUP_DOMAIN_tfs = {
823 "SAMR_ACCESS_LOOKUP_DOMAIN is SET",
824 "SAMR_ACCESS_LOOKUP_DOMAIN is NOT SET",
826 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_NAME_ETC_tfs = {
827 "SAMR_USER_ACCESS_GET_NAME_ETC is SET",
828 "SAMR_USER_ACCESS_GET_NAME_ETC is NOT SET",
830 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOCALE_tfs = {
831 "SAMR_USER_ACCESS_GET_LOCALE is SET",
832 "SAMR_USER_ACCESS_GET_LOCALE is NOT SET",
834 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_SET_LOC_COM_tfs = {
835 "SAMR_USER_ACCESS_SET_LOC_COM is SET",
836 "SAMR_USER_ACCESS_SET_LOC_COM is NOT SET",
838 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOGONINFO_tfs = {
839 "SAMR_USER_ACCESS_GET_LOGONINFO is SET",
840 "SAMR_USER_ACCESS_GET_LOGONINFO is NOT SET",
842 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_ATTRIBUTES_tfs = {
843 "SAMR_USER_ACCESS_GET_ATTRIBUTES is SET",
844 "SAMR_USER_ACCESS_GET_ATTRIBUTES is NOT SET",
846 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_SET_ATTRIBUTES_tfs = {
847 "SAMR_USER_ACCESS_SET_ATTRIBUTES is SET",
848 "SAMR_USER_ACCESS_SET_ATTRIBUTES is NOT SET",
850 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_PASSWORD_tfs = {
851 "SAMR_USER_ACCESS_CHANGE_PASSWORD is SET",
852 "SAMR_USER_ACCESS_CHANGE_PASSWORD is NOT SET",
854 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_SET_PASSWORD_tfs = {
855 "SAMR_USER_ACCESS_SET_PASSWORD is SET",
856 "SAMR_USER_ACCESS_SET_PASSWORD is NOT SET",
858 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUPS_tfs = {
859 "SAMR_USER_ACCESS_GET_GROUPS is SET",
860 "SAMR_USER_ACCESS_GET_GROUPS is NOT SET",
862 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP_tfs = {
863 "SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP is SET",
864 "SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP is NOT SET",
866 static const true_false_string samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP_tfs = {
867 "SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP is SET",
868 "SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP is NOT SET",
870 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1_tfs = {
871 "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1 is SET",
872 "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1 is NOT SET",
874 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_1_tfs = {
875 "SAMR_DOMAIN_ACCESS_SET_INFO_1 is SET",
876 "SAMR_DOMAIN_ACCESS_SET_INFO_1 is NOT SET",
878 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2_tfs = {
879 "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2 is SET",
880 "SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2 is NOT SET",
882 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_2_tfs = {
883 "SAMR_DOMAIN_ACCESS_SET_INFO_2 is SET",
884 "SAMR_DOMAIN_ACCESS_SET_INFO_2 is NOT SET",
886 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_USER_tfs = {
887 "SAMR_DOMAIN_ACCESS_CREATE_USER is SET",
888 "SAMR_DOMAIN_ACCESS_CREATE_USER is NOT SET",
890 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_GROUP_tfs = {
891 "SAMR_DOMAIN_ACCESS_CREATE_GROUP is SET",
892 "SAMR_DOMAIN_ACCESS_CREATE_GROUP is NOT SET",
894 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_ALIAS_tfs = {
895 "SAMR_DOMAIN_ACCESS_CREATE_ALIAS is SET",
896 "SAMR_DOMAIN_ACCESS_CREATE_ALIAS is NOT SET",
898 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS_tfs = {
899 "SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS is SET",
900 "SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS is NOT SET",
902 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS_tfs = {
903 "SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS is SET",
904 "SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS is NOT SET",
906 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT_tfs = {
907 "SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT is SET",
908 "SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT is NOT SET",
910 static const true_false_string samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_3_tfs = {
911 "SAMR_DOMAIN_ACCESS_SET_INFO_3 is SET",
912 "SAMR_DOMAIN_ACCESS_SET_INFO_3 is NOT SET",
914 static const true_false_string samr_GroupAccessMask_SAMR_GROUP_ACCESS_LOOKUP_INFO_tfs = {
915 "SAMR_GROUP_ACCESS_LOOKUP_INFO is SET",
916 "SAMR_GROUP_ACCESS_LOOKUP_INFO is NOT SET",
918 static const true_false_string samr_GroupAccessMask_SAMR_GROUP_ACCESS_SET_INFO_tfs = {
919 "SAMR_GROUP_ACCESS_SET_INFO is SET",
920 "SAMR_GROUP_ACCESS_SET_INFO is NOT SET",
922 static const true_false_string samr_GroupAccessMask_SAMR_GROUP_ACCESS_ADD_MEMBER_tfs = {
923 "SAMR_GROUP_ACCESS_ADD_MEMBER is SET",
924 "SAMR_GROUP_ACCESS_ADD_MEMBER is NOT SET",
926 static const true_false_string samr_GroupAccessMask_SAMR_GROUP_ACCESS_REMOVE_MEMBER_tfs = {
927 "SAMR_GROUP_ACCESS_REMOVE_MEMBER is SET",
928 "SAMR_GROUP_ACCESS_REMOVE_MEMBER is NOT SET",
930 static const true_false_string samr_GroupAccessMask_SAMR_GROUP_ACCESS_GET_MEMBERS_tfs = {
931 "SAMR_GROUP_ACCESS_GET_MEMBERS is SET",
932 "SAMR_GROUP_ACCESS_GET_MEMBERS is NOT SET",
934 static const true_false_string samr_AliasAccessMask_SAMR_ALIAS_ACCESS_ADD_MEMBER_tfs = {
935 "SAMR_ALIAS_ACCESS_ADD_MEMBER is SET",
936 "SAMR_ALIAS_ACCESS_ADD_MEMBER is NOT SET",
938 static const true_false_string samr_AliasAccessMask_SAMR_ALIAS_ACCESS_REMOVE_MEMBER_tfs = {
939 "SAMR_ALIAS_ACCESS_REMOVE_MEMBER is SET",
940 "SAMR_ALIAS_ACCESS_REMOVE_MEMBER is NOT SET",
942 static const true_false_string samr_AliasAccessMask_SAMR_ALIAS_ACCESS_GET_MEMBERS_tfs = {
943 "SAMR_ALIAS_ACCESS_GET_MEMBERS is SET",
944 "SAMR_ALIAS_ACCESS_GET_MEMBERS is NOT SET",
946 static const true_false_string samr_AliasAccessMask_SAMR_ALIAS_ACCESS_LOOKUP_INFO_tfs = {
947 "SAMR_ALIAS_ACCESS_LOOKUP_INFO is SET",
948 "SAMR_ALIAS_ACCESS_LOOKUP_INFO is NOT SET",
950 static const true_false_string samr_AliasAccessMask_SAMR_ALIAS_ACCESS_SET_INFO_tfs = {
951 "SAMR_ALIAS_ACCESS_SET_INFO is SET",
952 "SAMR_ALIAS_ACCESS_SET_INFO is NOT SET",
954 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_, uint8_t *drep _U_);
955 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_, uint8_t *drep _U_);
956 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_, uint8_t *drep _U_);
957 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_, uint8_t *drep _U_);
958 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_, uint8_t *drep _U_);
959 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_, uint8_t *drep _U_);
960 const value_string samr_samr_DomainInfoClass_vals[] = {
961 { DomainPasswordInformation, "DomainPasswordInformation" },
962 { DomainGeneralInformation, "DomainGeneralInformation" },
963 { DomainLogoffInformation, "DomainLogoffInformation" },
964 { DomainOemInformation, "DomainOemInformation" },
965 { DomainNameInformation, "DomainNameInformation" },
966 { DomainReplicationInformation, "DomainReplicationInformation" },
967 { DomainServerRoleInformation, "DomainServerRoleInformation" },
968 { DomainModifiedInformation, "DomainModifiedInformation" },
969 { DomainStateInformation, "DomainStateInformation" },
970 { DomainUasInformation, "DomainUasInformation" },
971 { DomainGeneralInformation2, "DomainGeneralInformation2" },
972 { DomainLockoutInformation, "DomainLockoutInformation" },
973 { DomainModifiedInformation2, "DomainModifiedInformation2" },
974 { 0, NULL }
976 const value_string samr_samr_Role_vals[] = {
977 { SAMR_ROLE_STANDALONE, "SAMR_ROLE_STANDALONE" },
978 { SAMR_ROLE_DOMAIN_MEMBER, "SAMR_ROLE_DOMAIN_MEMBER" },
979 { SAMR_ROLE_DOMAIN_BDC, "SAMR_ROLE_DOMAIN_BDC" },
980 { SAMR_ROLE_DOMAIN_PDC, "SAMR_ROLE_DOMAIN_PDC" },
981 { 0, NULL }
983 static const true_false_string samr_PasswordProperties_DOMAIN_PASSWORD_COMPLEX_tfs = {
984 "DOMAIN_PASSWORD_COMPLEX is SET",
985 "DOMAIN_PASSWORD_COMPLEX is NOT SET",
987 static const true_false_string samr_PasswordProperties_DOMAIN_PASSWORD_NO_ANON_CHANGE_tfs = {
988 "DOMAIN_PASSWORD_NO_ANON_CHANGE is SET",
989 "DOMAIN_PASSWORD_NO_ANON_CHANGE is NOT SET",
991 static const true_false_string samr_PasswordProperties_DOMAIN_PASSWORD_NO_CLEAR_CHANGE_tfs = {
992 "DOMAIN_PASSWORD_NO_CLEAR_CHANGE is SET",
993 "DOMAIN_PASSWORD_NO_CLEAR_CHANGE is NOT SET",
995 static const true_false_string samr_PasswordProperties_DOMAIN_PASSWORD_LOCKOUT_ADMINS_tfs = {
996 "DOMAIN_PASSWORD_LOCKOUT_ADMINS is SET",
997 "DOMAIN_PASSWORD_LOCKOUT_ADMINS is NOT SET",
999 static const true_false_string samr_PasswordProperties_DOMAIN_PASSWORD_STORE_CLEARTEXT_tfs = {
1000 "DOMAIN_PASSWORD_STORE_CLEARTEXT is SET",
1001 "DOMAIN_PASSWORD_STORE_CLEARTEXT is NOT SET",
1003 static const true_false_string samr_PasswordProperties_DOMAIN_REFUSE_PASSWORD_CHANGE_tfs = {
1004 "DOMAIN_REFUSE_PASSWORD_CHANGE is SET",
1005 "DOMAIN_REFUSE_PASSWORD_CHANGE is NOT SET",
1007 const value_string samr_samr_DomainServerState_vals[] = {
1008 { DOMAIN_SERVER_ENABLED, "DOMAIN_SERVER_ENABLED" },
1009 { DOMAIN_SERVER_DISABLED, "DOMAIN_SERVER_DISABLED" },
1010 { 0, NULL }
1012 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_, uint8_t *drep _U_);
1013 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_, uint8_t *drep _U_);
1014 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_, uint8_t *drep _U_);
1015 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_, uint8_t *drep _U_);
1016 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_, uint8_t *drep _U_);
1017 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_, uint8_t *drep _U_);
1018 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_, uint8_t *drep _U_);
1019 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_, uint8_t *drep _U_);
1020 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_, uint8_t *drep _U_);
1021 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_, uint8_t *drep _U_);
1022 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_, uint8_t *drep _U_);
1023 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_, uint8_t *drep _U_);
1024 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_, uint8_t *drep _U_);
1025 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_, uint8_t *drep _U_);
1026 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_, uint8_t *drep _U_);
1027 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_, uint8_t *drep _U_);
1028 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_, uint8_t *drep _U_);
1029 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_, uint8_t *drep _U_);
1030 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_, uint8_t *drep _U_);
1031 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_, uint8_t *drep _U_);
1032 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_, uint8_t *drep _U_);
1033 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_, uint8_t *drep _U_);
1034 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_, uint8_t *drep _U_);
1035 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_, uint8_t *drep _U_);
1036 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_, uint8_t *drep _U_);
1037 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_, uint8_t *drep _U_);
1038 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_, uint8_t *drep _U_);
1039 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_, uint8_t *drep _U_);
1040 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_, uint8_t *drep _U_);
1041 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_, uint8_t *drep _U_);
1042 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_, uint8_t *drep _U_);
1043 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_, uint8_t *drep _U_);
1044 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_, uint8_t *drep _U_);
1045 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_, uint8_t *drep _U_);
1046 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_, uint8_t *drep _U_);
1047 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_, uint8_t *drep _U_);
1048 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_, uint8_t *drep _U_);
1049 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_, uint8_t *drep _U_);
1050 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_, uint8_t *drep _U_);
1051 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_, uint8_t *drep _U_);
1052 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_, uint8_t *drep _U_);
1053 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_, uint8_t *drep _U_);
1054 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_, uint8_t *drep _U_);
1055 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_, uint8_t *drep _U_);
1056 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_, uint8_t *drep _U_);
1057 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_, uint8_t *drep _U_);
1058 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_, uint8_t *drep _U_);
1059 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_, uint8_t *drep _U_);
1060 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_, uint8_t *drep _U_);
1061 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_, uint8_t *drep _U_);
1062 static const true_false_string samr_GroupAttrs_SE_GROUP_MANDATORY_tfs = {
1063 "SE_GROUP_MANDATORY is SET",
1064 "SE_GROUP_MANDATORY is NOT SET",
1066 static const true_false_string samr_GroupAttrs_SE_GROUP_ENABLED_BY_DEFAULT_tfs = {
1067 "SE_GROUP_ENABLED_BY_DEFAULT is SET",
1068 "SE_GROUP_ENABLED_BY_DEFAULT is NOT SET",
1070 static const true_false_string samr_GroupAttrs_SE_GROUP_ENABLED_tfs = {
1071 "SE_GROUP_ENABLED is SET",
1072 "SE_GROUP_ENABLED is NOT SET",
1074 static const true_false_string samr_GroupAttrs_SE_GROUP_OWNER_tfs = {
1075 "SE_GROUP_OWNER is SET",
1076 "SE_GROUP_OWNER is NOT SET",
1078 static const true_false_string samr_GroupAttrs_SE_GROUP_USE_FOR_DENY_ONLY_tfs = {
1079 "SE_GROUP_USE_FOR_DENY_ONLY is SET",
1080 "SE_GROUP_USE_FOR_DENY_ONLY is NOT SET",
1082 static const true_false_string samr_GroupAttrs_SE_GROUP_RESOURCE_tfs = {
1083 "SE_GROUP_RESOURCE is SET",
1084 "SE_GROUP_RESOURCE is NOT SET",
1086 static const true_false_string samr_GroupAttrs_SE_GROUP_LOGON_ID_tfs = {
1087 "SE_GROUP_LOGON_ID is SET",
1088 "SE_GROUP_LOGON_ID is NOT SET",
1090 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_, uint8_t *drep _U_);
1091 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_, uint8_t *drep _U_);
1092 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_, uint8_t *drep _U_);
1093 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_, uint8_t *drep _U_);
1094 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_, uint8_t *drep _U_);
1095 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_, uint8_t *drep _U_);
1096 const value_string samr_samr_GroupInfoEnum_vals[] = {
1097 { GROUPINFOALL, "GROUPINFOALL" },
1098 { GROUPINFONAME, "GROUPINFONAME" },
1099 { GROUPINFOATTRIBUTES, "GROUPINFOATTRIBUTES" },
1100 { GROUPINFODESCRIPTION, "GROUPINFODESCRIPTION" },
1101 { GROUPINFOALL2, "GROUPINFOALL2" },
1102 { 0, NULL }
1104 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_, uint8_t *drep _U_);
1105 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_, uint8_t *drep _U_);
1106 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_, uint8_t *drep _U_);
1107 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_, uint8_t *drep _U_);
1108 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_, uint8_t *drep _U_);
1109 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_, uint8_t *drep _U_);
1110 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_, uint8_t *drep _U_);
1111 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_, uint8_t *drep _U_);
1112 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_, uint8_t *drep _U_);
1113 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_, uint8_t *drep _U_);
1114 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_, uint8_t *drep _U_);
1115 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_, uint8_t *drep _U_);
1116 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_, uint8_t *drep _U_);
1117 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_, uint8_t *drep _U_);
1118 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_, uint8_t *drep _U_);
1119 const value_string samr_samr_AliasInfoEnum_vals[] = {
1120 { ALIASINFOALL, "ALIASINFOALL" },
1121 { ALIASINFONAME, "ALIASINFONAME" },
1122 { ALIASINFODESCRIPTION, "ALIASINFODESCRIPTION" },
1123 { 0, NULL }
1125 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_, uint8_t *drep _U_);
1126 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_, uint8_t *drep _U_);
1127 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_, uint8_t *drep _U_);
1128 const value_string samr_samr_UserInfoLevel_vals[] = {
1129 { UserGeneralInformation, "UserGeneralInformation" },
1130 { UserPreferencesInformation, "UserPreferencesInformation" },
1131 { UserLogonInformation, "UserLogonInformation" },
1132 { UserLogonHoursInformation, "UserLogonHoursInformation" },
1133 { UserAccountInformation, "UserAccountInformation" },
1134 { UserNameInformation, "UserNameInformation" },
1135 { UserAccountNameInformation, "UserAccountNameInformation" },
1136 { UserFullNameInformation, "UserFullNameInformation" },
1137 { UserPrimaryGroupInformation, "UserPrimaryGroupInformation" },
1138 { UserHomeInformation, "UserHomeInformation" },
1139 { UserScriptInformation, "UserScriptInformation" },
1140 { UserProfileInformation, "UserProfileInformation" },
1141 { UserAdminCommentInformation, "UserAdminCommentInformation" },
1142 { UserWorkStationsInformation, "UserWorkStationsInformation" },
1143 { UserControlInformation, "UserControlInformation" },
1144 { UserExpiresInformation, "UserExpiresInformation" },
1145 { UserInternal1Information, "UserInternal1Information" },
1146 { UserParametersInformation, "UserParametersInformation" },
1147 { UserAllInformation, "UserAllInformation" },
1148 { UserInternal4Information, "UserInternal4Information" },
1149 { UserInternal5Information, "UserInternal5Information" },
1150 { UserInternal4InformationNew, "UserInternal4InformationNew" },
1151 { UserInternal5InformationNew, "UserInternal5InformationNew" },
1152 { UserInternal7InformationNew, "UserInternal7InformationNew" },
1153 { UserInternal8InformationNew, "UserInternal8InformationNew" },
1154 { 0, NULL }
1156 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_, uint8_t *drep _U_);
1157 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_, uint8_t *drep _U_);
1158 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_, uint8_t *drep _U_);
1159 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_, uint8_t *drep _U_);
1160 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_, uint8_t *drep _U_);
1161 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_, uint8_t *drep _U_);
1162 static int samr_dissect_element_UserInfo2_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1163 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_, uint8_t *drep _U_);
1164 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_, uint8_t *drep _U_);
1165 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_, uint8_t *drep _U_);
1166 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_, uint8_t *drep _U_);
1167 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_, uint8_t *drep _U_);
1168 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_, uint8_t *drep _U_);
1169 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_, uint8_t *drep _U_);
1170 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_, uint8_t *drep _U_);
1171 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_, uint8_t *drep _U_);
1172 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_, uint8_t *drep _U_);
1173 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_, uint8_t *drep _U_);
1174 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_, uint8_t *drep _U_);
1175 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_, uint8_t *drep _U_);
1176 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_, uint8_t *drep _U_);
1177 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_, uint8_t *drep _U_);
1178 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_, uint8_t *drep _U_);
1179 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_, uint8_t *drep _U_);
1180 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_, uint8_t *drep _U_);
1181 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_, uint8_t *drep _U_);
1182 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_, uint8_t *drep _U_);
1183 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_, uint8_t *drep _U_);
1184 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_, uint8_t *drep _U_);
1185 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_, uint8_t *drep _U_);
1186 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_, uint8_t *drep _U_);
1187 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_, uint8_t *drep _U_);
1188 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_, uint8_t *drep _U_);
1189 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_, uint8_t *drep _U_);
1190 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_, uint8_t *drep _U_);
1191 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_, uint8_t *drep _U_);
1192 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_, uint8_t *drep _U_);
1193 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_, uint8_t *drep _U_);
1194 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_, uint8_t *drep _U_);
1195 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_, uint8_t *drep _U_);
1196 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_, uint8_t *drep _U_);
1197 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_, uint8_t *drep _U_);
1198 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_, uint8_t *drep _U_);
1199 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_, uint8_t *drep _U_);
1200 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_, uint8_t *drep _U_);
1201 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_, uint8_t *drep _U_);
1202 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_, uint8_t *drep _U_);
1203 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_, uint8_t *drep _U_);
1204 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_, uint8_t *drep _U_);
1205 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_, uint8_t *drep _U_);
1206 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_, uint8_t *drep _U_);
1207 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_, uint8_t *drep _U_);
1208 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_, uint8_t *drep _U_);
1209 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_, uint8_t *drep _U_);
1210 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_, uint8_t *drep _U_);
1211 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_, uint8_t *drep _U_);
1212 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_, uint8_t *drep _U_);
1213 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_, uint8_t *drep _U_);
1214 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_, uint8_t *drep _U_);
1215 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_, uint8_t *drep _U_);
1216 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_, uint8_t *drep _U_);
1217 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_, uint8_t *drep _U_);
1218 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_, uint8_t *drep _U_);
1219 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_, uint8_t *drep _U_);
1220 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_, uint8_t *drep _U_);
1221 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_, uint8_t *drep _U_);
1222 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_, uint8_t *drep _U_);
1223 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_, uint8_t *drep _U_);
1224 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_, uint8_t *drep _U_);
1225 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_, uint8_t *drep _U_);
1226 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_, uint8_t *drep _U_);
1227 static const true_false_string samr_FieldsPresent_SAMR_FIELD_ACCOUNT_NAME_tfs = {
1228 "SAMR_FIELD_ACCOUNT_NAME is SET",
1229 "SAMR_FIELD_ACCOUNT_NAME is NOT SET",
1231 static const true_false_string samr_FieldsPresent_SAMR_FIELD_FULL_NAME_tfs = {
1232 "SAMR_FIELD_FULL_NAME is SET",
1233 "SAMR_FIELD_FULL_NAME is NOT SET",
1235 static const true_false_string samr_FieldsPresent_SAMR_FIELD_RID_tfs = {
1236 "SAMR_FIELD_RID is SET",
1237 "SAMR_FIELD_RID is NOT SET",
1239 static const true_false_string samr_FieldsPresent_SAMR_FIELD_PRIMARY_GID_tfs = {
1240 "SAMR_FIELD_PRIMARY_GID is SET",
1241 "SAMR_FIELD_PRIMARY_GID is NOT SET",
1243 static const true_false_string samr_FieldsPresent_SAMR_FIELD_DESCRIPTION_tfs = {
1244 "SAMR_FIELD_DESCRIPTION is SET",
1245 "SAMR_FIELD_DESCRIPTION is NOT SET",
1247 static const true_false_string samr_FieldsPresent_SAMR_FIELD_COMMENT_tfs = {
1248 "SAMR_FIELD_COMMENT is SET",
1249 "SAMR_FIELD_COMMENT is NOT SET",
1251 static const true_false_string samr_FieldsPresent_SAMR_FIELD_HOME_DIRECTORY_tfs = {
1252 "SAMR_FIELD_HOME_DIRECTORY is SET",
1253 "SAMR_FIELD_HOME_DIRECTORY is NOT SET",
1255 static const true_false_string samr_FieldsPresent_SAMR_FIELD_HOME_DRIVE_tfs = {
1256 "SAMR_FIELD_HOME_DRIVE is SET",
1257 "SAMR_FIELD_HOME_DRIVE is NOT SET",
1259 static const true_false_string samr_FieldsPresent_SAMR_FIELD_LOGON_SCRIPT_tfs = {
1260 "SAMR_FIELD_LOGON_SCRIPT is SET",
1261 "SAMR_FIELD_LOGON_SCRIPT is NOT SET",
1263 static const true_false_string samr_FieldsPresent_SAMR_FIELD_PROFILE_PATH_tfs = {
1264 "SAMR_FIELD_PROFILE_PATH is SET",
1265 "SAMR_FIELD_PROFILE_PATH is NOT SET",
1267 static const true_false_string samr_FieldsPresent_SAMR_FIELD_WORKSTATIONS_tfs = {
1268 "SAMR_FIELD_WORKSTATIONS is SET",
1269 "SAMR_FIELD_WORKSTATIONS is NOT SET",
1271 static const true_false_string samr_FieldsPresent_SAMR_FIELD_LAST_LOGON_tfs = {
1272 "SAMR_FIELD_LAST_LOGON is SET",
1273 "SAMR_FIELD_LAST_LOGON is NOT SET",
1275 static const true_false_string samr_FieldsPresent_SAMR_FIELD_LAST_LOGOFF_tfs = {
1276 "SAMR_FIELD_LAST_LOGOFF is SET",
1277 "SAMR_FIELD_LAST_LOGOFF is NOT SET",
1279 static const true_false_string samr_FieldsPresent_SAMR_FIELD_LOGON_HOURS_tfs = {
1280 "SAMR_FIELD_LOGON_HOURS is SET",
1281 "SAMR_FIELD_LOGON_HOURS is NOT SET",
1283 static const true_false_string samr_FieldsPresent_SAMR_FIELD_BAD_PWD_COUNT_tfs = {
1284 "SAMR_FIELD_BAD_PWD_COUNT is SET",
1285 "SAMR_FIELD_BAD_PWD_COUNT is NOT SET",
1287 static const true_false_string samr_FieldsPresent_SAMR_FIELD_NUM_LOGONS_tfs = {
1288 "SAMR_FIELD_NUM_LOGONS is SET",
1289 "SAMR_FIELD_NUM_LOGONS is NOT SET",
1291 static const true_false_string samr_FieldsPresent_SAMR_FIELD_ALLOW_PWD_CHANGE_tfs = {
1292 "SAMR_FIELD_ALLOW_PWD_CHANGE is SET",
1293 "SAMR_FIELD_ALLOW_PWD_CHANGE is NOT SET",
1295 static const true_false_string samr_FieldsPresent_SAMR_FIELD_FORCE_PWD_CHANGE_tfs = {
1296 "SAMR_FIELD_FORCE_PWD_CHANGE is SET",
1297 "SAMR_FIELD_FORCE_PWD_CHANGE is NOT SET",
1299 static const true_false_string samr_FieldsPresent_SAMR_FIELD_LAST_PWD_CHANGE_tfs = {
1300 "SAMR_FIELD_LAST_PWD_CHANGE is SET",
1301 "SAMR_FIELD_LAST_PWD_CHANGE is NOT SET",
1303 static const true_false_string samr_FieldsPresent_SAMR_FIELD_ACCT_EXPIRY_tfs = {
1304 "SAMR_FIELD_ACCT_EXPIRY is SET",
1305 "SAMR_FIELD_ACCT_EXPIRY is NOT SET",
1307 static const true_false_string samr_FieldsPresent_SAMR_FIELD_ACCT_FLAGS_tfs = {
1308 "SAMR_FIELD_ACCT_FLAGS is SET",
1309 "SAMR_FIELD_ACCT_FLAGS is NOT SET",
1311 static const true_false_string samr_FieldsPresent_SAMR_FIELD_PARAMETERS_tfs = {
1312 "SAMR_FIELD_PARAMETERS is SET",
1313 "SAMR_FIELD_PARAMETERS is NOT SET",
1315 static const true_false_string samr_FieldsPresent_SAMR_FIELD_COUNTRY_CODE_tfs = {
1316 "SAMR_FIELD_COUNTRY_CODE is SET",
1317 "SAMR_FIELD_COUNTRY_CODE is NOT SET",
1319 static const true_false_string samr_FieldsPresent_SAMR_FIELD_CODE_PAGE_tfs = {
1320 "SAMR_FIELD_CODE_PAGE is SET",
1321 "SAMR_FIELD_CODE_PAGE is NOT SET",
1323 static const true_false_string samr_FieldsPresent_SAMR_FIELD_NT_PASSWORD_PRESENT_tfs = {
1324 "SAMR_FIELD_NT_PASSWORD_PRESENT is SET",
1325 "SAMR_FIELD_NT_PASSWORD_PRESENT is NOT SET",
1327 static const true_false_string samr_FieldsPresent_SAMR_FIELD_LM_PASSWORD_PRESENT_tfs = {
1328 "SAMR_FIELD_LM_PASSWORD_PRESENT is SET",
1329 "SAMR_FIELD_LM_PASSWORD_PRESENT is NOT SET",
1331 static const true_false_string samr_FieldsPresent_SAMR_FIELD_PRIVATE_DATA_tfs = {
1332 "SAMR_FIELD_PRIVATE_DATA is SET",
1333 "SAMR_FIELD_PRIVATE_DATA is NOT SET",
1335 static const true_false_string samr_FieldsPresent_SAMR_FIELD_EXPIRED_FLAG_tfs = {
1336 "SAMR_FIELD_EXPIRED_FLAG is SET",
1337 "SAMR_FIELD_EXPIRED_FLAG is NOT SET",
1339 static const true_false_string samr_FieldsPresent_SAMR_FIELD_SEC_DESC_tfs = {
1340 "SAMR_FIELD_SEC_DESC is SET",
1341 "SAMR_FIELD_SEC_DESC is NOT SET",
1343 static const true_false_string samr_FieldsPresent_SAMR_FIELD_OWF_PWD_tfs = {
1344 "SAMR_FIELD_OWF_PWD is SET",
1345 "SAMR_FIELD_OWF_PWD is NOT SET",
1347 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_, uint8_t *drep _U_);
1348 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_, uint8_t *drep _U_);
1349 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_, uint8_t *drep _U_);
1350 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_, uint8_t *drep _U_);
1351 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_, uint8_t *drep _U_);
1352 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_, uint8_t *drep _U_);
1353 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_, uint8_t *drep _U_);
1354 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_, uint8_t *drep _U_);
1355 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_, uint8_t *drep _U_);
1356 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_, uint8_t *drep _U_);
1357 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_, uint8_t *drep _U_);
1358 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_, uint8_t *drep _U_);
1359 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_, uint8_t *drep _U_);
1360 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_, uint8_t *drep _U_);
1361 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_, uint8_t *drep _U_);
1362 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_, uint8_t *drep _U_);
1363 static int samr_dissect_element_UserInfo21_lm_owf_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1364 static int samr_dissect_element_UserInfo21_nt_owf_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1365 static int samr_dissect_element_UserInfo21_private_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1366 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_, uint8_t *drep _U_);
1367 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_, uint8_t *drep _U_);
1368 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_, uint8_t *drep _U_);
1369 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_, uint8_t *drep _U_);
1370 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_, uint8_t *drep _U_);
1371 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_, uint8_t *drep _U_);
1372 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_, uint8_t *drep _U_);
1373 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_, uint8_t *drep _U_);
1374 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_, uint8_t *drep _U_);
1375 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_, uint8_t *drep _U_);
1376 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_, uint8_t *drep _U_);
1377 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_, uint8_t *drep _U_);
1378 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_, uint8_t *drep _U_);
1379 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_, uint8_t *drep _U_);
1380 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_, uint8_t *drep _U_);
1381 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_, uint8_t *drep _U_);
1382 static int samr_dissect_element_UserInfo21_private_data_sensitive(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1383 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_, uint8_t *drep _U_);
1384 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_, uint8_t *drep _U_);
1385 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_, uint8_t *drep _U_);
1386 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_, uint8_t *drep _U_);
1387 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_, uint8_t *drep _U_);
1388 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_, uint8_t *drep _U_);
1389 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_, uint8_t *drep _U_);
1390 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_, uint8_t *drep _U_);
1391 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_, uint8_t *drep _U_);
1392 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_, uint8_t *drep _U_);
1393 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_, uint8_t *drep _U_);
1394 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_, uint8_t *drep _U_);
1395 static int samr_dissect_element_EncryptedPasswordAES_auth_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1396 static int samr_dissect_element_EncryptedPasswordAES_auth_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1397 static int samr_dissect_element_EncryptedPasswordAES_salt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1398 static int samr_dissect_element_EncryptedPasswordAES_salt_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1399 static int samr_dissect_element_EncryptedPasswordAES_cipher_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1400 static int samr_dissect_element_EncryptedPasswordAES_cipher(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1401 static int samr_dissect_element_EncryptedPasswordAES_cipher_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1402 static int samr_dissect_element_EncryptedPasswordAES_cipher__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1403 static int samr_dissect_element_EncryptedPasswordAES_PBKDF2Iterations(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1404 static int samr_dissect_element_UserInfo31_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1405 static int samr_dissect_element_UserInfo31_password_expired(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1406 static int samr_dissect_element_UserInfo32_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1407 static int samr_dissect_element_UserInfo32_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1408 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_, uint8_t *drep _U_);
1409 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_, uint8_t *drep _U_);
1410 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_, uint8_t *drep _U_);
1411 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_, uint8_t *drep _U_);
1412 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_, uint8_t *drep _U_);
1413 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_, uint8_t *drep _U_);
1414 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_, uint8_t *drep _U_);
1415 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_, uint8_t *drep _U_);
1416 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_, uint8_t *drep _U_);
1417 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_, uint8_t *drep _U_);
1418 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_, uint8_t *drep _U_);
1419 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_, uint8_t *drep _U_);
1420 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_, uint8_t *drep _U_);
1421 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_, uint8_t *drep _U_);
1422 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_, uint8_t *drep _U_);
1423 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_, uint8_t *drep _U_);
1424 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_, uint8_t *drep _U_);
1425 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_, uint8_t *drep _U_);
1426 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_, uint8_t *drep _U_);
1427 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_, uint8_t *drep _U_);
1428 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_, uint8_t *drep _U_);
1429 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_, uint8_t *drep _U_);
1430 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_, uint8_t *drep _U_);
1431 static int samr_dissect_element_UserInfo_info31(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1432 static int samr_dissect_element_UserInfo_info32(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1433 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_, uint8_t *drep _U_);
1434 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_, uint8_t *drep _U_);
1435 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_, uint8_t *drep _U_);
1436 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_, uint8_t *drep _U_);
1437 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_, uint8_t *drep _U_);
1438 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_, uint8_t *drep _U_);
1439 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_, uint8_t *drep _U_);
1440 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_, uint8_t *drep _U_);
1441 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_, uint8_t *drep _U_);
1442 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_, uint8_t *drep _U_);
1443 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_, uint8_t *drep _U_);
1444 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_, uint8_t *drep _U_);
1445 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_, uint8_t *drep _U_);
1446 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_, uint8_t *drep _U_);
1447 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_, uint8_t *drep _U_);
1448 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_, uint8_t *drep _U_);
1449 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_, uint8_t *drep _U_);
1450 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_, uint8_t *drep _U_);
1451 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_, uint8_t *drep _U_);
1452 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_, uint8_t *drep _U_);
1453 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_, uint8_t *drep _U_);
1454 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_, uint8_t *drep _U_);
1455 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_, uint8_t *drep _U_);
1456 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_, uint8_t *drep _U_);
1457 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_, uint8_t *drep _U_);
1458 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_, uint8_t *drep _U_);
1459 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_, uint8_t *drep _U_);
1460 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_, uint8_t *drep _U_);
1461 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_, uint8_t *drep _U_);
1462 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_, uint8_t *drep _U_);
1463 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_, uint8_t *drep _U_);
1464 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_, uint8_t *drep _U_);
1465 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_, uint8_t *drep _U_);
1466 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_, uint8_t *drep _U_);
1467 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_, uint8_t *drep _U_);
1468 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_, uint8_t *drep _U_);
1469 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_, uint8_t *drep _U_);
1470 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_, uint8_t *drep _U_);
1471 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_, uint8_t *drep _U_);
1472 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_, uint8_t *drep _U_);
1473 const value_string samr_samr_DomainDisplayInformation_vals[] = {
1474 { SAMR_DOMAIN_DISPLAY_USER, "SAMR_DOMAIN_DISPLAY_USER" },
1475 { SAMR_DOMAIN_DISPLAY_MACHINE, "SAMR_DOMAIN_DISPLAY_MACHINE" },
1476 { SAMR_DOMAIN_DISPLAY_GROUP, "SAMR_DOMAIN_DISPLAY_GROUP" },
1477 { SAMR_DOMAIN_DISPLAY_OEM_USER, "SAMR_DOMAIN_DISPLAY_OEM_USER" },
1478 { SAMR_DOMAIN_DISPLAY_OEM_GROUP, "SAMR_DOMAIN_DISPLAY_OEM_GROUP" },
1479 { 0, NULL }
1481 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_, uint8_t *drep _U_);
1482 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_, uint8_t *drep _U_);
1483 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_, uint8_t *drep _U_);
1484 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_, uint8_t *drep _U_);
1485 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_, uint8_t *drep _U_);
1486 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_, uint8_t *drep _U_);
1487 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_, uint8_t *drep _U_);
1488 const value_string samr_samr_ConnectVersion_vals[] = {
1489 { SAMR_CONNECT_PRE_W2K, "SAMR_CONNECT_PRE_W2K" },
1490 { SAMR_CONNECT_W2K, "SAMR_CONNECT_W2K" },
1491 { SAMR_CONNECT_AFTER_W2K, "SAMR_CONNECT_AFTER_W2K" },
1492 { 0, NULL }
1494 const value_string samr_samPwdChangeReason_vals[] = {
1495 { SAM_PWD_CHANGE_NO_ERROR, "SAM_PWD_CHANGE_NO_ERROR" },
1496 { SAM_PWD_CHANGE_PASSWORD_TOO_SHORT, "SAM_PWD_CHANGE_PASSWORD_TOO_SHORT" },
1497 { SAM_PWD_CHANGE_PWD_IN_HISTORY, "SAM_PWD_CHANGE_PWD_IN_HISTORY" },
1498 { SAM_PWD_CHANGE_USERNAME_IN_PASSWORD, "SAM_PWD_CHANGE_USERNAME_IN_PASSWORD" },
1499 { SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD, "SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD" },
1500 { SAM_PWD_CHANGE_NOT_COMPLEX, "SAM_PWD_CHANGE_NOT_COMPLEX" },
1501 { SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT, "SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT" },
1502 { SAM_PWD_CHANGE_FAILED_BY_FILTER, "SAM_PWD_CHANGE_FAILED_BY_FILTER" },
1503 { SAM_PWD_CHANGE_PASSWORD_TOO_LONG, "SAM_PWD_CHANGE_PASSWORD_TOO_LONG" },
1504 { 0, NULL }
1506 static int samr_dissect_element_userPwdChangeFailureInformation_extendedFailureReason(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1507 static int samr_dissect_element_userPwdChangeFailureInformation_filterModuleName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1508 const value_string samr_samr_SupportedFeatures_vals[] = {
1509 { SAMR_CONNECT_FEATURE_RID_ONLY, "SAMR_CONNECT_FEATURE_RID_ONLY" },
1510 { SAMR_CONNECT_FEATURE_RESRVED1, "SAMR_CONNECT_FEATURE_RESRVED1" },
1511 { SAMR_CONNECT_FEATURE_RESRVED2, "SAMR_CONNECT_FEATURE_RESRVED2" },
1512 { SAMR_CONNECT_FEATURE_USE_AES, "SAMR_CONNECT_FEATURE_USE_AES" },
1513 { 0, NULL }
1515 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_, uint8_t *drep _U_);
1516 static int samr_dissect_element_ConnectInfo1_supported_features(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
1517 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_, uint8_t *drep _U_);
1518 static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET_tfs = {
1519 "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET is SET",
1520 "SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET is NOT SET",
1522 static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME_tfs = {
1523 "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME is SET",
1524 "SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME is NOT SET",
1526 static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_LOCKOUT_TIME_tfs = {
1527 "SAMR_VALIDATE_FIELD_LOCKOUT_TIME is SET",
1528 "SAMR_VALIDATE_FIELD_LOCKOUT_TIME is NOT SET",
1530 static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT_tfs = {
1531 "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT is SET",
1532 "SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT is NOT SET",
1534 static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH_tfs = {
1535 "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH is SET",
1536 "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH is NOT SET",
1538 static const true_false_string samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_tfs = {
1539 "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY is SET",
1540 "SAMR_VALIDATE_FIELD_PASSWORD_HISTORY is NOT SET",
1542 const value_string samr_samr_ValidatePasswordLevel_vals[] = {
1543 { NetValidateAuthentication, "NetValidateAuthentication" },
1544 { NetValidatePasswordChange, "NetValidatePasswordChange" },
1545 { NetValidatePasswordReset, "NetValidatePasswordReset" },
1546 { 0, NULL }
1548 const value_string samr_samr_ValidationStatus_vals[] = {
1549 { SAMR_VALIDATION_STATUS_SUCCESS, "SAMR_VALIDATION_STATUS_SUCCESS" },
1550 { SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE, "SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE" },
1551 { SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT, "SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT" },
1552 { SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED, "SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED" },
1553 { SAMR_VALIDATION_STATUS_BAD_PASSWORD, "SAMR_VALIDATION_STATUS_BAD_PASSWORD" },
1554 { SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT, "SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT" },
1555 { SAMR_VALIDATION_STATUS_PWD_TOO_SHORT, "SAMR_VALIDATION_STATUS_PWD_TOO_SHORT" },
1556 { SAMR_VALIDATION_STATUS_PWD_TOO_LONG, "SAMR_VALIDATION_STATUS_PWD_TOO_LONG" },
1557 { SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH, "SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH" },
1558 { SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT, "SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT" },
1559 { SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR, "SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR" },
1560 { 0, NULL }
1562 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_, uint8_t *drep _U_);
1563 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_, uint8_t *drep _U_);
1564 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_, uint8_t *drep _U_);
1565 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_, uint8_t *drep _U_);
1566 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_, uint8_t *drep _U_);
1567 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_, uint8_t *drep _U_);
1568 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_, uint8_t *drep _U_);
1569 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_, uint8_t *drep _U_);
1570 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_, uint8_t *drep _U_);
1571 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_, uint8_t *drep _U_);
1572 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_, uint8_t *drep _U_);
1573 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_, uint8_t *drep _U_);
1574 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_, uint8_t *drep _U_);
1575 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_, uint8_t *drep _U_);
1576 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_, uint8_t *drep _U_);
1577 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_, uint8_t *drep _U_);
1578 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_, uint8_t *drep _U_);
1579 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_, uint8_t *drep _U_);
1580 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_, uint8_t *drep _U_);
1581 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_, uint8_t *drep _U_);
1582 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_, uint8_t *drep _U_);
1583 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_, uint8_t *drep _U_);
1584 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_, uint8_t *drep _U_);
1585 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_, uint8_t *drep _U_);
1586 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_, uint8_t *drep _U_);
1587 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_, uint8_t *drep _U_);
1588 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_, uint8_t *drep _U_);
1589 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_, uint8_t *drep _U_);
1590 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_, uint8_t *drep _U_);
1591 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_, uint8_t *drep _U_);
1592 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_, uint8_t *drep _U_);
1593 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_, uint8_t *drep _U_);
1594 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_, uint8_t *drep _U_);
1595 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_, uint8_t *drep _U_);
1596 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_, uint8_t *drep _U_);
1597 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_, uint8_t *drep _U_);
1598 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_, uint8_t *drep _U_);
1599 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_, uint8_t *drep _U_);
1600 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_, uint8_t *drep _U_);
1601 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_, uint8_t *drep _U_);
1602 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_, uint8_t *drep _U_);
1603 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_, uint8_t *drep _U_);
1604 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_, uint8_t *drep _U_);
1605 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_, uint8_t *drep _U_);
1606 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_, uint8_t *drep _U_);
1607 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_, uint8_t *drep _U_);
1608 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_, uint8_t *drep _U_);
1609 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_, uint8_t *drep _U_);
1610 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_, uint8_t *drep _U_);
1611 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_, uint8_t *drep _U_);
1612 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_, uint8_t *drep _U_);
1613 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_, uint8_t *drep _U_);
1614 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_, uint8_t *drep _U_);
1615 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_, uint8_t *drep _U_);
1616 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_, uint8_t *drep _U_);
1617 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_, uint8_t *drep _U_);
1618 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_, uint8_t *drep _U_);
1619 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_, uint8_t *drep _U_);
1620 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_, uint8_t *drep _U_);
1621 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_, uint8_t *drep _U_);
1622 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_, uint8_t *drep _U_);
1623 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_, uint8_t *drep _U_);
1624 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_, uint8_t *drep _U_);
1625 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_, uint8_t *drep _U_);
1626 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_, uint8_t *drep _U_);
1627 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_, uint8_t *drep _U_);
1628 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_, uint8_t *drep _U_);
1629 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_, uint8_t *drep _U_);
1630 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_, uint8_t *drep _U_);
1631 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_, uint8_t *drep _U_);
1632 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_, uint8_t *drep _U_);
1633 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_, uint8_t *drep _U_);
1634 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_, uint8_t *drep _U_);
1635 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_, uint8_t *drep _U_);
1636 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_, uint8_t *drep _U_);
1637 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_, uint8_t *drep _U_);
1638 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_, uint8_t *drep _U_);
1639 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_, uint8_t *drep _U_);
1640 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_, uint8_t *drep _U_);
1641 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_, uint8_t *drep _U_);
1642 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_, uint8_t *drep _U_);
1643 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_, uint8_t *drep _U_);
1644 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_, uint8_t *drep _U_);
1645 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_, uint8_t *drep _U_);
1646 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_, uint8_t *drep _U_);
1647 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_, uint8_t *drep _U_);
1648 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_, uint8_t *drep _U_);
1649 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_, uint8_t *drep _U_);
1650 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_, uint8_t *drep _U_);
1651 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_, uint8_t *drep _U_);
1652 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_, uint8_t *drep _U_);
1653 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_, uint8_t *drep _U_);
1654 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_, uint8_t *drep _U_);
1655 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_, uint8_t *drep _U_);
1656 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_, uint8_t *drep _U_);
1657 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_, uint8_t *drep _U_);
1658 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_, uint8_t *drep _U_);
1659 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_, uint8_t *drep _U_);
1660 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_, uint8_t *drep _U_);
1661 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_, uint8_t *drep _U_);
1662 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_, uint8_t *drep _U_);
1663 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_, uint8_t *drep _U_);
1664 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_, uint8_t *drep _U_);
1665 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_, uint8_t *drep _U_);
1666 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_, uint8_t *drep _U_);
1667 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_, uint8_t *drep _U_);
1668 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_, uint8_t *drep _U_);
1669 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_, uint8_t *drep _U_);
1670 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_, uint8_t *drep _U_);
1671 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_, uint8_t *drep _U_);
1672 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_, uint8_t *drep _U_);
1673 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_, uint8_t *drep _U_);
1674 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_, uint8_t *drep _U_);
1675 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_, uint8_t *drep _U_);
1676 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_, uint8_t *drep _U_);
1677 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_, uint8_t *drep _U_);
1678 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_, uint8_t *drep _U_);
1679 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_, uint8_t *drep _U_);
1680 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_, uint8_t *drep _U_);
1681 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_, uint8_t *drep _U_);
1682 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_, uint8_t *drep _U_);
1683 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_, uint8_t *drep _U_);
1684 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_, uint8_t *drep _U_);
1685 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_, uint8_t *drep _U_);
1686 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_, uint8_t *drep _U_);
1687 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_, uint8_t *drep _U_);
1688 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_, uint8_t *drep _U_);
1689 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_, uint8_t *drep _U_);
1690 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_, uint8_t *drep _U_);
1691 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_, uint8_t *drep _U_);
1692 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_, uint8_t *drep _U_);
1693 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_, uint8_t *drep _U_);
1694 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_, uint8_t *drep _U_);
1695 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_, uint8_t *drep _U_);
1696 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_, uint8_t *drep _U_);
1697 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_, uint8_t *drep _U_);
1698 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_, uint8_t *drep _U_);
1699 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_, uint8_t *drep _U_);
1700 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_, uint8_t *drep _U_);
1701 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_, uint8_t *drep _U_);
1702 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_, uint8_t *drep _U_);
1703 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_, uint8_t *drep _U_);
1704 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_, uint8_t *drep _U_);
1705 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_, uint8_t *drep _U_);
1706 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_, uint8_t *drep _U_);
1707 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_, uint8_t *drep _U_);
1708 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_, uint8_t *drep _U_);
1709 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_, uint8_t *drep _U_);
1710 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_, uint8_t *drep _U_);
1711 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_, uint8_t *drep _U_);
1712 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_, uint8_t *drep _U_);
1713 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_, uint8_t *drep _U_);
1714 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_, uint8_t *drep _U_);
1715 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_, uint8_t *drep _U_);
1716 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_, uint8_t *drep _U_);
1717 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_, uint8_t *drep _U_);
1718 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_, uint8_t *drep _U_);
1719 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_, uint8_t *drep _U_);
1720 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_, uint8_t *drep _U_);
1721 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_, uint8_t *drep _U_);
1722 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_, uint8_t *drep _U_);
1723 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_, uint8_t *drep _U_);
1724 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_, uint8_t *drep _U_);
1725 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_, uint8_t *drep _U_);
1726 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_, uint8_t *drep _U_);
1727 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_, uint8_t *drep _U_);
1728 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_, uint8_t *drep _U_);
1729 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_, uint8_t *drep _U_);
1730 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_, uint8_t *drep _U_);
1731 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_, uint8_t *drep _U_);
1732 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_, uint8_t *drep _U_);
1733 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_, uint8_t *drep _U_);
1734 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_, uint8_t *drep _U_);
1735 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_, uint8_t *drep _U_);
1736 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_, uint8_t *drep _U_);
1737 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_, uint8_t *drep _U_);
1738 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_, uint8_t *drep _U_);
1739 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_, uint8_t *drep _U_);
1740 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_, uint8_t *drep _U_);
1741 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_, uint8_t *drep _U_);
1742 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_, uint8_t *drep _U_);
1743 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_, uint8_t *drep _U_);
1744 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_, uint8_t *drep _U_);
1745 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_, uint8_t *drep _U_);
1746 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_, uint8_t *drep _U_);
1747 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_, uint8_t *drep _U_);
1748 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_, uint8_t *drep _U_);
1749 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_, uint8_t *drep _U_);
1750 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_, uint8_t *drep _U_);
1751 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_, uint8_t *drep _U_);
1752 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_, uint8_t *drep _U_);
1753 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_, uint8_t *drep _U_);
1754 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_, uint8_t *drep _U_);
1755 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_, uint8_t *drep _U_);
1756 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_, uint8_t *drep _U_);
1757 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_, uint8_t *drep _U_);
1758 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_, uint8_t *drep _U_);
1759 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_, uint8_t *drep _U_);
1760 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_, uint8_t *drep _U_);
1761 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_, uint8_t *drep _U_);
1762 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_, uint8_t *drep _U_);
1763 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_, uint8_t *drep _U_);
1764 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_, uint8_t *drep _U_);
1765 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_, uint8_t *drep _U_);
1766 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_, uint8_t *drep _U_);
1767 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_, uint8_t *drep _U_);
1768 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_, uint8_t *drep _U_);
1769 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_, uint8_t *drep _U_);
1770 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_, uint8_t *drep _U_);
1771 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_, uint8_t *drep _U_);
1772 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_, uint8_t *drep _U_);
1773 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_, uint8_t *drep _U_);
1774 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_, uint8_t *drep _U_);
1775 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_, uint8_t *drep _U_);
1776 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_, uint8_t *drep _U_);
1777 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_, uint8_t *drep _U_);
1778 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_, uint8_t *drep _U_);
1779 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_, uint8_t *drep _U_);
1780 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_, uint8_t *drep _U_);
1781 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_, uint8_t *drep _U_);
1782 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_, uint8_t *drep _U_);
1783 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_, uint8_t *drep _U_);
1784 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_, uint8_t *drep _U_);
1785 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_, uint8_t *drep _U_);
1786 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_, uint8_t *drep _U_);
1787 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_, uint8_t *drep _U_);
1788 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_, uint8_t *drep _U_);
1789 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_, uint8_t *drep _U_);
1790 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_, uint8_t *drep _U_);
1791 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_, uint8_t *drep _U_);
1792 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_, uint8_t *drep _U_);
1793 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_, uint8_t *drep _U_);
1794 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_, uint8_t *drep _U_);
1795 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_, uint8_t *drep _U_);
1796 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_, uint8_t *drep _U_);
1797 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_, uint8_t *drep _U_);
1798 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_, uint8_t *drep _U_);
1799 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_, uint8_t *drep _U_);
1800 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_, uint8_t *drep _U_);
1801 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_, uint8_t *drep _U_);
1802 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_, uint8_t *drep _U_);
1803 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_, uint8_t *drep _U_);
1804 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_, uint8_t *drep _U_);
1805 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_, uint8_t *drep _U_);
1806 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_, uint8_t *drep _U_);
1807 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_, uint8_t *drep _U_);
1808 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_, uint8_t *drep _U_);
1809 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_, uint8_t *drep _U_);
1810 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_, uint8_t *drep _U_);
1811 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_, uint8_t *drep _U_);
1812 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_, uint8_t *drep _U_);
1813 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_, uint8_t *drep _U_);
1814 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_, uint8_t *drep _U_);
1815 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_, uint8_t *drep _U_);
1816 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_, uint8_t *drep _U_);
1817 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_, uint8_t *drep _U_);
1818 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_, uint8_t *drep _U_);
1819 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_, uint8_t *drep _U_);
1820 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_, uint8_t *drep _U_);
1821 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_, uint8_t *drep _U_);
1822 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_, uint8_t *drep _U_);
1823 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_, uint8_t *drep _U_);
1824 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_, uint8_t *drep _U_);
1825 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_, uint8_t *drep _U_);
1826 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_, uint8_t *drep _U_);
1827 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_, uint8_t *drep _U_);
1828 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_, uint8_t *drep _U_);
1829 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_, uint8_t *drep _U_);
1830 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_, uint8_t *drep _U_);
1831 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_, uint8_t *drep _U_);
1832 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_, uint8_t *drep _U_);
1833 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_, uint8_t *drep _U_);
1834 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_, uint8_t *drep _U_);
1835 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_, uint8_t *drep _U_);
1836 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_, uint8_t *drep _U_);
1837 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_, uint8_t *drep _U_);
1838 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_, uint8_t *drep _U_);
1839 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_, uint8_t *drep _U_);
1840 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_, uint8_t *drep _U_);
1841 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_, uint8_t *drep _U_);
1842 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_, uint8_t *drep _U_);
1843 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_, uint8_t *drep _U_);
1844 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_, uint8_t *drep _U_);
1845 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_, uint8_t *drep _U_);
1846 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_, uint8_t *drep _U_);
1847 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_, uint8_t *drep _U_);
1848 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_, uint8_t *drep _U_);
1849 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_, uint8_t *drep _U_);
1850 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_, uint8_t *drep _U_);
1851 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_, uint8_t *drep _U_);
1852 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_, uint8_t *drep _U_);
1853 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_, uint8_t *drep _U_);
1854 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_, uint8_t *drep _U_);
1855 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_, uint8_t *drep _U_);
1856 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_, uint8_t *drep _U_);
1857 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_, uint8_t *drep _U_);
1858 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_, uint8_t *drep _U_);
1859 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_, uint8_t *drep _U_);
1860 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_, uint8_t *drep _U_);
1861 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_, uint8_t *drep _U_);
1862 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_, uint8_t *drep _U_);
1863 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_, uint8_t *drep _U_);
1864 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_, uint8_t *drep _U_);
1865 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_, uint8_t *drep _U_);
1866 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_, uint8_t *drep _U_);
1867 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_, uint8_t *drep _U_);
1868 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_, uint8_t *drep _U_);
1869 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_, uint8_t *drep _U_);
1870 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_, uint8_t *drep _U_);
1871 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_, uint8_t *drep _U_);
1872 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_, uint8_t *drep _U_);
1873 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_, uint8_t *drep _U_);
1874 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_, uint8_t *drep _U_);
1875 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_, uint8_t *drep _U_);
1876 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_, uint8_t *drep _U_);
1877 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_, uint8_t *drep _U_);
1878 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_, uint8_t *drep _U_);
1879 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_, uint8_t *drep _U_);
1880 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_, uint8_t *drep _U_);
1881 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_, uint8_t *drep _U_);
1882 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_, uint8_t *drep _U_);
1883 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_, uint8_t *drep _U_);
1884 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_, uint8_t *drep _U_);
1885 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_, uint8_t *drep _U_);
1886 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_, uint8_t *drep _U_);
1887 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_, uint8_t *drep _U_);
1888 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_, uint8_t *drep _U_);
1889 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_, uint8_t *drep _U_);
1890 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_, uint8_t *drep _U_);
1891 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_, uint8_t *drep _U_);
1892 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_, uint8_t *drep _U_);
1893 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_, uint8_t *drep _U_);
1894 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_, uint8_t *drep _U_);
1895 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_, uint8_t *drep _U_);
1896 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_, uint8_t *drep _U_);
1897 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_, uint8_t *drep _U_);
1898 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_, uint8_t *drep _U_);
1899 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_, uint8_t *drep _U_);
1900 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_, uint8_t *drep _U_);
1901 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_, uint8_t *drep _U_);
1902 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_, uint8_t *drep _U_);
1903 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_, uint8_t *drep _U_);
1904 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_, uint8_t *drep _U_);
1905 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_, uint8_t *drep _U_);
1906 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_, uint8_t *drep _U_);
1907 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_, uint8_t *drep _U_);
1908 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_, uint8_t *drep _U_);
1909 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_, uint8_t *drep _U_);
1910 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_, uint8_t *drep _U_);
1911 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_, uint8_t *drep _U_);
1912 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_, uint8_t *drep _U_);
1913 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_, uint8_t *drep _U_);
1914 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_, uint8_t *drep _U_);
1915 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_, uint8_t *drep _U_);
1916 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_, uint8_t *drep _U_);
1917 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_, uint8_t *drep _U_);
1918 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_, uint8_t *drep _U_);
1919 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_, uint8_t *drep _U_);
1920 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_, uint8_t *drep _U_);
1921 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_, uint8_t *drep _U_);
1922 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_, uint8_t *drep _U_);
1923 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_, uint8_t *drep _U_);
1924 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_, uint8_t *drep _U_);
1925 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_, uint8_t *drep _U_);
1926 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_, uint8_t *drep _U_);
1927 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_, uint8_t *drep _U_);
1928 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_, uint8_t *drep _U_);
1929 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_, uint8_t *drep _U_);
1930 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_, uint8_t *drep _U_);
1931 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_, uint8_t *drep _U_);
1932 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_, uint8_t *drep _U_);
1933 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_, uint8_t *drep _U_);
1934 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_, uint8_t *drep _U_);
1935 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_, uint8_t *drep _U_);
1936 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_, uint8_t *drep _U_);
1937 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_, uint8_t *drep _U_);
1938 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_, uint8_t *drep _U_);
1939 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_, uint8_t *drep _U_);
1940 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_, uint8_t *drep _U_);
1941 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_, uint8_t *drep _U_);
1942 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_, uint8_t *drep _U_);
1943 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_, uint8_t *drep _U_);
1944 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_, uint8_t *drep _U_);
1945 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_, uint8_t *drep _U_);
1946 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_, uint8_t *drep _U_);
1947 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_, uint8_t *drep _U_);
1948 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_, uint8_t *drep _U_);
1949 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_, uint8_t *drep _U_);
1950 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_, uint8_t *drep _U_);
1951 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_, uint8_t *drep _U_);
1952 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_, uint8_t *drep _U_);
1953 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_, uint8_t *drep _U_);
1954 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_, uint8_t *drep _U_);
1955 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_, uint8_t *drep _U_);
1956 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_, uint8_t *drep _U_);
1957 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_, uint8_t *drep _U_);
1958 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_, uint8_t *drep _U_);
1959 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_, uint8_t *drep _U_);
1960 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_, uint8_t *drep _U_);
1961 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_, uint8_t *drep _U_);
1962 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_, uint8_t *drep _U_);
1963 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_, uint8_t *drep _U_);
1964 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_, uint8_t *drep _U_);
1965 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_, uint8_t *drep _U_);
1966 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_, uint8_t *drep _U_);
1967 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_, uint8_t *drep _U_);
1968 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_, uint8_t *drep _U_);
1969 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_, uint8_t *drep _U_);
1970 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_, uint8_t *drep _U_);
1971 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_, uint8_t *drep _U_);
1972 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_, uint8_t *drep _U_);
1973 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_, uint8_t *drep _U_);
1974 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_, uint8_t *drep _U_);
1975 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_, uint8_t *drep _U_);
1976 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_, uint8_t *drep _U_);
1977 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_, uint8_t *drep _U_);
1978 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_, uint8_t *drep _U_);
1979 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_, uint8_t *drep _U_);
1980 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_, uint8_t *drep _U_);
1981 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_, uint8_t *drep _U_);
1982 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_, uint8_t *drep _U_);
1983 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_, uint8_t *drep _U_);
1984 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_, uint8_t *drep _U_);
1985 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_, uint8_t *drep _U_);
1986 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_, uint8_t *drep _U_);
1987 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_, uint8_t *drep _U_);
1988 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_, uint8_t *drep _U_);
1989 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_, uint8_t *drep _U_);
1990 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_, uint8_t *drep _U_);
1991 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_, uint8_t *drep _U_);
1992 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_, uint8_t *drep _U_);
1993 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_, uint8_t *drep _U_);
1994 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_, uint8_t *drep _U_);
1995 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_, uint8_t *drep _U_);
1996 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_, uint8_t *drep _U_);
1997 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_, uint8_t *drep _U_);
1998 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_, uint8_t *drep _U_);
1999 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_, uint8_t *drep _U_);
2000 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_, uint8_t *drep _U_);
2001 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_, uint8_t *drep _U_);
2002 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_, uint8_t *drep _U_);
2003 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_, uint8_t *drep _U_);
2004 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_, uint8_t *drep _U_);
2005 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_, uint8_t *drep _U_);
2006 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_, uint8_t *drep _U_);
2007 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_, uint8_t *drep _U_);
2008 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_, uint8_t *drep _U_);
2009 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_, uint8_t *drep _U_);
2010 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_, uint8_t *drep _U_);
2011 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_, uint8_t *drep _U_);
2012 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_, uint8_t *drep _U_);
2013 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_, uint8_t *drep _U_);
2014 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_, uint8_t *drep _U_);
2015 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_, uint8_t *drep _U_);
2016 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_, uint8_t *drep _U_);
2017 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_, uint8_t *drep _U_);
2018 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_, uint8_t *drep _U_);
2019 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_, uint8_t *drep _U_);
2020 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_, uint8_t *drep _U_);
2021 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_, uint8_t *drep _U_);
2022 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_, uint8_t *drep _U_);
2023 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_, uint8_t *drep _U_);
2024 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_, uint8_t *drep _U_);
2025 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_, uint8_t *drep _U_);
2026 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_, uint8_t *drep _U_);
2027 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_, uint8_t *drep _U_);
2028 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_, uint8_t *drep _U_);
2029 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_, uint8_t *drep _U_);
2030 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_, uint8_t *drep _U_);
2031 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_, uint8_t *drep _U_);
2032 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_, uint8_t *drep _U_);
2033 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_, uint8_t *drep _U_);
2034 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_, uint8_t *drep _U_);
2035 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_, uint8_t *drep _U_);
2036 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_, uint8_t *drep _U_);
2037 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_, uint8_t *drep _U_);
2038 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_, uint8_t *drep _U_);
2039 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_, uint8_t *drep _U_);
2040 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_, uint8_t *drep _U_);
2041 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_, uint8_t *drep _U_);
2042 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_, uint8_t *drep _U_);
2043 static int samr_dissect_element_ChangePasswordUser4_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2044 static int samr_dissect_element_ChangePasswordUser4_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2045 static int samr_dissect_element_ChangePasswordUser4_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2046 static int samr_dissect_element_ChangePasswordUser4_account_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2047 static int samr_dissect_element_ChangePasswordUser4_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2048 static int samr_dissect_element_ChangePasswordUser4_password_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_);
2049 static void
2050 samr_connect_specific_rights(tvbuff_t *tvb, int offset, proto_tree *tree, uint32_t access)
2052 static int* const access_flags[] = {
2053 &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_LOOKUP_DOMAIN,
2054 &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_ENUM_DOMAINS,
2055 &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CREATE_DOMAIN,
2056 &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_INITIALIZE_SERVER,
2057 &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_SHUTDOWN_SERVER,
2058 &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CONNECT_TO_SERVER,
2059 NULL
2061 proto_tree_add_bitmask_list_value(tree, tvb, offset, 4, access_flags, access);
2063 static struct access_mask_info samr_connect_access_mask_info = {
2064 "SAMR Connect", /* Name of specific rights */
2065 samr_connect_specific_rights, /* Dissection function */
2066 NULL, /* Generic mapping table */
2067 NULL /* Standard mapping table */
2070 samr_dissect_bitmap_ConnectAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep, int hf_index _U_, uint32_t param _U_)
2072 offset = dissect_nt_access_mask(
2073 tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask,
2074 &samr_connect_access_mask_info, NULL);
2075 return offset;
2077 static void
2078 samr_alias_specific_rights(tvbuff_t *tvb, int offset, proto_tree *tree, uint32_t access)
2080 static int* const access_flags[] = {
2081 &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_ADD_MEMBER,
2082 &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_REMOVE_MEMBER,
2083 &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_GET_MEMBERS,
2084 &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_LOOKUP_INFO,
2085 &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_SET_INFO,
2086 NULL
2088 proto_tree_add_bitmask_list_value(tree, tvb, offset, 4, access_flags, access);
2090 static struct access_mask_info samr_alias_access_mask_info = {
2091 "SAMR Alias", /* Name of specific rights */
2092 samr_alias_specific_rights, /* Dissection function */
2093 NULL, /* Generic mapping table */
2094 NULL /* Standard mapping table */
2097 samr_dissect_bitmap_AliasAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep, int hf_index _U_, uint32_t param _U_)
2099 offset = dissect_nt_access_mask(
2100 tvb, offset, pinfo, tree, di, drep, hf_samr_alias_access_mask,
2101 &samr_alias_access_mask_info, NULL);
2102 return offset;
2104 static void
2105 samr_group_specific_rights(tvbuff_t *tvb, int offset, proto_tree *tree, uint32_t access)
2107 static int* const access_flags[] = {
2108 &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_GET_MEMBERS,
2109 &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_REMOVE_MEMBER,
2110 &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_ADD_MEMBER,
2111 &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_SET_INFO,
2112 &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_LOOKUP_INFO,
2113 NULL
2115 proto_tree_add_bitmask_list_value(tree, tvb, offset, 4, access_flags, access);
2117 static struct access_mask_info samr_group_access_mask_info = {
2118 "SAMR Group", /* Name of specific rights */
2119 samr_group_specific_rights, /* Dissection function */
2120 NULL, /* Generic mapping table */
2121 NULL /* Standard mapping table */
2124 samr_dissect_bitmap_GroupAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep, int hf_index _U_, uint32_t param _U_)
2126 offset = dissect_nt_access_mask(
2127 tvb, offset, pinfo, tree, di, drep, hf_samr_group_access_mask,
2128 &samr_group_access_mask_info, NULL);
2129 return offset;
2131 static void
2132 samr_domain_specific_rights(tvbuff_t *tvb, int offset, proto_tree *tree, uint32_t access)
2134 static int* const access_flags[] = {
2135 &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1,
2136 &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_1,
2137 &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2,
2138 &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_2,
2139 &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_USER,
2140 &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_GROUP,
2141 &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_ALIAS,
2142 &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS,
2143 &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS,
2144 &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT,
2145 &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_3,
2146 NULL
2148 proto_tree_add_bitmask_list_value(tree, tvb, offset, 4, access_flags, access);
2150 static struct access_mask_info samr_domain_access_mask_info = {
2151 "SAMR Domain", /* Name of specific rights */
2152 samr_domain_specific_rights, /* Dissection function */
2153 NULL, /* Generic mapping table */
2154 NULL /* Standard mapping table */
2157 samr_dissect_bitmap_DomainAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep, int hf_index _U_, uint32_t param _U_)
2159 offset = dissect_nt_access_mask(
2160 tvb, offset, pinfo, tree, di, drep, hf_samr_domain_access_mask,
2161 &samr_domain_access_mask_info, NULL);
2162 return offset;
2164 static void
2165 samr_user_specific_rights(tvbuff_t *tvb, int offset, proto_tree *tree, uint32_t access)
2167 static int* const access_flags[] = {
2168 &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP,
2169 &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP,
2170 &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUPS,
2171 &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_PASSWORD,
2172 &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_PASSWORD,
2173 &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_ATTRIBUTES,
2174 &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_ATTRIBUTES,
2175 &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOGONINFO,
2176 &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_LOC_COM,
2177 &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOCALE,
2178 &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_NAME_ETC,
2179 NULL
2181 proto_tree_add_bitmask_list_value(tree, tvb, offset, 4, access_flags, access);
2183 static struct access_mask_info samr_user_access_mask_info = {
2184 "SAMR User", /* Name of specific rights */
2185 samr_user_specific_rights, /* Dissection function */
2186 NULL, /* Generic mapping table */
2187 NULL /* Standard mapping table */
2190 samr_dissect_bitmap_UserAccessMask(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep, int hf_index _U_, uint32_t param _U_)
2192 offset = dissect_nt_access_mask(
2193 tvb, offset, pinfo, tree, di, drep, hf_samr_user_access_mask,
2194 &samr_user_access_mask_info, NULL);
2195 return offset;
2197 static int
2198 cnf_dissect_lsa_AsciiString(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep, uint32_t param _U_, int hfindex)
2200 offset = dissect_ndr_counted_ascii_string(tvb, offset, pinfo, tree, di, drep,
2201 hfindex, 0);
2202 return offset;
2204 static int
2205 cnf_dissect_hyper(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep, uint32_t param _U_, int hfindex)
2207 offset = dissect_ndr_uint64(tvb, offset, pinfo, tree, di, drep, hfindex, NULL);
2208 return offset;
2210 static int
2211 cnf_dissect_sec_desc_buf_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep)
2213 uint64_t len;
2214 e_ctx_hnd *polhnd = NULL;
2215 dcerpc_call_value *dcv = NULL;
2216 uint32_t type=0;
2217 struct access_mask_info *ami=NULL;
2218 if(di->conformant_run){
2219 /*just a run to handle conformant arrays, nothing to dissect */
2220 return offset;
2222 offset = dissect_ndr_uint3264 (tvb, offset, pinfo, tree, di, drep,
2223 hf_samr_sec_desc_buf_len, &len);
2224 dcv = (dcerpc_call_value *)di->call_data;
2225 if(dcv){
2226 polhnd = dcv->pol;
2228 if(polhnd){
2229 dcerpc_fetch_polhnd_data(polhnd, NULL, &type, NULL, NULL,
2230 pinfo->num);
2232 switch(type){
2233 case PIDL_POLHND_TYPE_SAMR_USER:
2234 ami=&samr_user_access_mask_info;
2235 break;
2236 case PIDL_POLHND_TYPE_SAMR_CONNECT:
2237 ami=&samr_connect_access_mask_info;
2238 break;
2239 case PIDL_POLHND_TYPE_SAMR_DOMAIN:
2240 ami=&samr_domain_access_mask_info;
2241 break;
2242 case PIDL_POLHND_TYPE_SAMR_GROUP:
2243 ami=&samr_group_access_mask_info;
2244 break;
2245 case PIDL_POLHND_TYPE_SAMR_ALIAS:
2246 ami=&samr_alias_access_mask_info;
2247 break;
2249 dissect_nt_sec_desc(tvb, offset, pinfo, tree, drep, true, (int)len, ami);
2250 offset += (int)len;
2251 return offset;
2253 static int
2254 cnf_dissect_sec_desc_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep)
2256 uint64_t len;
2257 if(di->conformant_run){
2258 /*just a run to handle conformant arrays, nothing to dissect */
2259 return offset;
2261 offset = dissect_ndr_uint3264 (tvb, offset, pinfo, tree, di, drep,
2262 hf_samr_sec_desc_buf_len, &len);
2263 offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
2264 cnf_dissect_sec_desc_buf_, NDR_POINTER_UNIQUE,
2265 "SAM SECURITY DESCRIPTOR data:", -1);
2266 return offset;
2268 static int
2269 cnf_dissect_dom_sid2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep)
2271 offset = dissect_ndr_nt_SID(tvb, offset, pinfo, tree, di, drep);
2272 return offset;
2274 static int
2275 cnf_dissect_lsa_SidArray(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, uint8_t *drep)
2277 offset = dissect_ndr_nt_PSID_ARRAY(tvb, offset, pinfo, tree, di, drep);
2278 return offset;
2280 static int
2281 cnf_dissect_samr_security_secinfo(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, uint8_t *drep _U_)
2283 offset = dissect_nt_security_information(tvb, offset, tree);
2284 return offset;
2288 /* IDL: struct { */
2289 /* IDL: uint32 count; */
2290 /* IDL: [size_is(count)] [unique(1)] lsa_String *names; */
2291 /* IDL: } */
2293 static int
2294 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_, uint8_t *drep _U_)
2296 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_lsa_Strings_count, 0);
2298 return offset;
2301 static int
2302 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_, uint8_t *drep _U_)
2304 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);
2306 return offset;
2309 static int
2310 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_, uint8_t *drep _U_)
2312 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_lsa_Strings_names__);
2314 return offset;
2317 static int
2318 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_, uint8_t *drep _U_)
2320 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_lsa_Strings_names);
2322 return offset;
2326 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_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2328 proto_item *item = NULL;
2329 proto_tree *tree = NULL;
2330 int old_offset;
2332 ALIGN_TO_5_BYTES;
2334 old_offset = offset;
2336 if (parent_tree) {
2337 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2338 tree = proto_item_add_subtree(item, ett_samr_lsa_Strings);
2341 offset = samr_dissect_element_lsa_Strings_count(tvb, offset, pinfo, tree, di, drep);
2343 offset = samr_dissect_element_lsa_Strings_names(tvb, offset, pinfo, tree, di, drep);
2346 proto_item_set_len(item, offset-old_offset);
2349 if (di->call_data->flags & DCERPC_IS_NDR64) {
2350 ALIGN_TO_5_BYTES;
2353 return offset;
2357 /* IDL: enum { */
2358 /* IDL: SID_NAME_USE_NONE=0, */
2359 /* IDL: SID_NAME_USER=1, */
2360 /* IDL: SID_NAME_DOM_GRP=2, */
2361 /* IDL: SID_NAME_DOMAIN=3, */
2362 /* IDL: SID_NAME_ALIAS=4, */
2363 /* IDL: SID_NAME_WKN_GRP=5, */
2364 /* IDL: SID_NAME_DELETED=6, */
2365 /* IDL: SID_NAME_INVALID=7, */
2366 /* IDL: SID_NAME_UNKNOWN=8, */
2367 /* IDL: SID_NAME_COMPUTER=9, */
2368 /* IDL: } */
2371 samr_dissect_enum_lsa_SidType(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
2373 uint32_t parameter=0;
2374 if (param) {
2375 parameter = *param;
2377 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2378 if (param) {
2379 *param = parameter;
2381 return offset;
2385 /* IDL: bitmap { */
2386 /* IDL: ACB_DISABLED = 0x00000001 , */
2387 /* IDL: ACB_HOMDIRREQ = 0x00000002 , */
2388 /* IDL: ACB_PWNOTREQ = 0x00000004 , */
2389 /* IDL: ACB_TEMPDUP = 0x00000008 , */
2390 /* IDL: ACB_NORMAL = 0x00000010 , */
2391 /* IDL: ACB_MNS = 0x00000020 , */
2392 /* IDL: ACB_DOMTRUST = 0x00000040 , */
2393 /* IDL: ACB_WSTRUST = 0x00000080 , */
2394 /* IDL: ACB_SVRTRUST = 0x00000100 , */
2395 /* IDL: ACB_PWNOEXP = 0x00000200 , */
2396 /* IDL: ACB_AUTOLOCK = 0x00000400 , */
2397 /* IDL: ACB_ENC_TXT_PWD_ALLOWED = 0x00000800 , */
2398 /* IDL: ACB_SMARTCARD_REQUIRED = 0x00001000 , */
2399 /* IDL: ACB_TRUSTED_FOR_DELEGATION = 0x00002000 , */
2400 /* IDL: ACB_NOT_DELEGATED = 0x00004000 , */
2401 /* IDL: ACB_USE_DES_KEY_ONLY = 0x00008000 , */
2402 /* IDL: ACB_DONT_REQUIRE_PREAUTH = 0x00010000 , */
2403 /* IDL: ACB_PW_EXPIRED = 0x00020000 , */
2404 /* IDL: ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION = 0x00040000 , */
2405 /* IDL: ACB_NO_AUTH_DATA_REQD = 0x00080000 , */
2406 /* IDL: ACB_PARTIAL_SECRETS_ACCOUNT = 0x00100000 , */
2407 /* IDL: ACB_USE_AES_KEYS = 0x00200000 , */
2408 /* IDL: } */
2411 samr_dissect_bitmap_AcctFlags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2413 proto_item *item;
2414 static int * const samr_samr_AcctFlags_fields[] = {
2415 &hf_samr_samr_AcctFlags_ACB_DISABLED,
2416 &hf_samr_samr_AcctFlags_ACB_HOMDIRREQ,
2417 &hf_samr_samr_AcctFlags_ACB_PWNOTREQ,
2418 &hf_samr_samr_AcctFlags_ACB_TEMPDUP,
2419 &hf_samr_samr_AcctFlags_ACB_NORMAL,
2420 &hf_samr_samr_AcctFlags_ACB_MNS,
2421 &hf_samr_samr_AcctFlags_ACB_DOMTRUST,
2422 &hf_samr_samr_AcctFlags_ACB_WSTRUST,
2423 &hf_samr_samr_AcctFlags_ACB_SVRTRUST,
2424 &hf_samr_samr_AcctFlags_ACB_PWNOEXP,
2425 &hf_samr_samr_AcctFlags_ACB_AUTOLOCK,
2426 &hf_samr_samr_AcctFlags_ACB_ENC_TXT_PWD_ALLOWED,
2427 &hf_samr_samr_AcctFlags_ACB_SMARTCARD_REQUIRED,
2428 &hf_samr_samr_AcctFlags_ACB_TRUSTED_FOR_DELEGATION,
2429 &hf_samr_samr_AcctFlags_ACB_NOT_DELEGATED,
2430 &hf_samr_samr_AcctFlags_ACB_USE_DES_KEY_ONLY,
2431 &hf_samr_samr_AcctFlags_ACB_DONT_REQUIRE_PREAUTH,
2432 &hf_samr_samr_AcctFlags_ACB_PW_EXPIRED,
2433 &hf_samr_samr_AcctFlags_ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION,
2434 &hf_samr_samr_AcctFlags_ACB_NO_AUTH_DATA_REQD,
2435 &hf_samr_samr_AcctFlags_ACB_PARTIAL_SECRETS_ACCOUNT,
2436 &hf_samr_samr_AcctFlags_ACB_USE_AES_KEYS,
2437 NULL
2439 uint32_t flags;
2440 ALIGN_TO_4_BYTES;
2442 item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
2443 ett_samr_samr_AcctFlags, samr_samr_AcctFlags_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
2445 offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
2447 if (!flags)
2448 proto_item_append_text(item, ": (No values set)");
2450 if (flags & (~0x003fffff)) {
2451 flags &= (~0x003fffff);
2452 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
2455 return offset;
2459 /* IDL: bitmap { */
2460 /* IDL: SAMR_ACCESS_CONNECT_TO_SERVER = 0x00000001 , */
2461 /* IDL: SAMR_ACCESS_SHUTDOWN_SERVER = 0x00000002 , */
2462 /* IDL: SAMR_ACCESS_INITIALIZE_SERVER = 0x00000004 , */
2463 /* IDL: SAMR_ACCESS_CREATE_DOMAIN = 0x00000008 , */
2464 /* IDL: SAMR_ACCESS_ENUM_DOMAINS = 0x00000010 , */
2465 /* IDL: SAMR_ACCESS_LOOKUP_DOMAIN = 0x00000020 , */
2466 /* IDL: } */
2469 /* IDL: bitmap { */
2470 /* IDL: SAMR_USER_ACCESS_GET_NAME_ETC = 0x00000001 , */
2471 /* IDL: SAMR_USER_ACCESS_GET_LOCALE = 0x00000002 , */
2472 /* IDL: SAMR_USER_ACCESS_SET_LOC_COM = 0x00000004 , */
2473 /* IDL: SAMR_USER_ACCESS_GET_LOGONINFO = 0x00000008 , */
2474 /* IDL: SAMR_USER_ACCESS_GET_ATTRIBUTES = 0x00000010 , */
2475 /* IDL: SAMR_USER_ACCESS_SET_ATTRIBUTES = 0x00000020 , */
2476 /* IDL: SAMR_USER_ACCESS_CHANGE_PASSWORD = 0x00000040 , */
2477 /* IDL: SAMR_USER_ACCESS_SET_PASSWORD = 0x00000080 , */
2478 /* IDL: SAMR_USER_ACCESS_GET_GROUPS = 0x00000100 , */
2479 /* IDL: SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP = 0x00000200 , */
2480 /* IDL: SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP = 0x00000400 , */
2481 /* IDL: } */
2484 /* IDL: bitmap { */
2485 /* IDL: SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1 = 0x00000001 , */
2486 /* IDL: SAMR_DOMAIN_ACCESS_SET_INFO_1 = 0x00000002 , */
2487 /* IDL: SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2 = 0x00000004 , */
2488 /* IDL: SAMR_DOMAIN_ACCESS_SET_INFO_2 = 0x00000008 , */
2489 /* IDL: SAMR_DOMAIN_ACCESS_CREATE_USER = 0x00000010 , */
2490 /* IDL: SAMR_DOMAIN_ACCESS_CREATE_GROUP = 0x00000020 , */
2491 /* IDL: SAMR_DOMAIN_ACCESS_CREATE_ALIAS = 0x00000040 , */
2492 /* IDL: SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS = 0x00000080 , */
2493 /* IDL: SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS = 0x00000100 , */
2494 /* IDL: SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT = 0x00000200 , */
2495 /* IDL: SAMR_DOMAIN_ACCESS_SET_INFO_3 = 0x00000400 , */
2496 /* IDL: } */
2499 /* IDL: bitmap { */
2500 /* IDL: SAMR_GROUP_ACCESS_LOOKUP_INFO = 0x00000001 , */
2501 /* IDL: SAMR_GROUP_ACCESS_SET_INFO = 0x00000002 , */
2502 /* IDL: SAMR_GROUP_ACCESS_ADD_MEMBER = 0x00000004 , */
2503 /* IDL: SAMR_GROUP_ACCESS_REMOVE_MEMBER = 0x00000008 , */
2504 /* IDL: SAMR_GROUP_ACCESS_GET_MEMBERS = 0x00000010 , */
2505 /* IDL: } */
2508 /* IDL: bitmap { */
2509 /* IDL: SAMR_ALIAS_ACCESS_ADD_MEMBER = 0x00000001 , */
2510 /* IDL: SAMR_ALIAS_ACCESS_REMOVE_MEMBER = 0x00000002 , */
2511 /* IDL: SAMR_ALIAS_ACCESS_GET_MEMBERS = 0x00000004 , */
2512 /* IDL: SAMR_ALIAS_ACCESS_LOOKUP_INFO = 0x00000008 , */
2513 /* IDL: SAMR_ALIAS_ACCESS_SET_INFO = 0x00000010 , */
2514 /* IDL: } */
2517 /* IDL: struct { */
2518 /* IDL: uint32 idx; */
2519 /* IDL: lsa_String name; */
2520 /* IDL: } */
2522 static int
2523 samr_dissect_element_SamEntry_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2525 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SamEntry_idx, 0);
2527 return offset;
2530 static int
2531 samr_dissect_element_SamEntry_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2533 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_SamEntry_name);
2535 return offset;
2539 samr_dissect_struct_SamEntry(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2541 proto_item *item = NULL;
2542 proto_tree *tree = NULL;
2543 int old_offset;
2545 ALIGN_TO_5_BYTES;
2547 old_offset = offset;
2549 if (parent_tree) {
2550 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2551 tree = proto_item_add_subtree(item, ett_samr_samr_SamEntry);
2554 offset = samr_dissect_element_SamEntry_idx(tvb, offset, pinfo, tree, di, drep);
2556 offset = samr_dissect_element_SamEntry_name(tvb, offset, pinfo, tree, di, drep);
2559 proto_item_set_len(item, offset-old_offset);
2562 if (di->call_data->flags & DCERPC_IS_NDR64) {
2563 ALIGN_TO_5_BYTES;
2566 return offset;
2570 /* IDL: struct { */
2571 /* IDL: uint32 count; */
2572 /* IDL: [size_is(count)] [unique(1)] samr_SamEntry *entries; */
2573 /* IDL: } */
2575 static int
2576 samr_dissect_element_SamArray_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2578 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SamArray_count, 0);
2580 return offset;
2583 static int
2584 samr_dissect_element_SamArray_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2586 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);
2588 return offset;
2591 static int
2592 samr_dissect_element_SamArray_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2594 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_SamArray_entries__);
2596 return offset;
2599 static int
2600 samr_dissect_element_SamArray_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2602 offset = samr_dissect_struct_SamEntry(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_SamArray_entries,3|PIDL_SET_COL_INFO);
2604 return offset;
2608 samr_dissect_struct_SamArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2610 proto_item *item = NULL;
2611 proto_tree *tree = NULL;
2612 int old_offset;
2614 ALIGN_TO_5_BYTES;
2616 old_offset = offset;
2618 if (parent_tree) {
2619 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2620 tree = proto_item_add_subtree(item, ett_samr_samr_SamArray);
2623 offset = samr_dissect_element_SamArray_count(tvb, offset, pinfo, tree, di, drep);
2625 offset = samr_dissect_element_SamArray_entries(tvb, offset, pinfo, tree, di, drep);
2628 proto_item_set_len(item, offset-old_offset);
2631 if (di->call_data->flags & DCERPC_IS_NDR64) {
2632 ALIGN_TO_5_BYTES;
2635 return offset;
2639 /* IDL: enum { */
2640 /* IDL: DomainPasswordInformation=1, */
2641 /* IDL: DomainGeneralInformation=2, */
2642 /* IDL: DomainLogoffInformation=3, */
2643 /* IDL: DomainOemInformation=4, */
2644 /* IDL: DomainNameInformation=5, */
2645 /* IDL: DomainReplicationInformation=6, */
2646 /* IDL: DomainServerRoleInformation=7, */
2647 /* IDL: DomainModifiedInformation=8, */
2648 /* IDL: DomainStateInformation=9, */
2649 /* IDL: DomainUasInformation=10, */
2650 /* IDL: DomainGeneralInformation2=11, */
2651 /* IDL: DomainLockoutInformation=12, */
2652 /* IDL: DomainModifiedInformation2=13, */
2653 /* IDL: } */
2656 samr_dissect_enum_DomainInfoClass(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
2658 uint32_t parameter=0;
2659 if (param) {
2660 parameter = *param;
2662 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2663 if (param) {
2664 *param = parameter;
2666 return offset;
2670 /* IDL: enum { */
2671 /* IDL: SAMR_ROLE_STANDALONE=0, */
2672 /* IDL: SAMR_ROLE_DOMAIN_MEMBER=1, */
2673 /* IDL: SAMR_ROLE_DOMAIN_BDC=2, */
2674 /* IDL: SAMR_ROLE_DOMAIN_PDC=3, */
2675 /* IDL: } */
2678 samr_dissect_enum_Role(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
2680 uint32_t parameter=0;
2681 if (param) {
2682 parameter = *param;
2684 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2685 if (param) {
2686 *param = parameter;
2688 return offset;
2692 /* IDL: bitmap { */
2693 /* IDL: DOMAIN_PASSWORD_COMPLEX = 0x00000001 , */
2694 /* IDL: DOMAIN_PASSWORD_NO_ANON_CHANGE = 0x00000002 , */
2695 /* IDL: DOMAIN_PASSWORD_NO_CLEAR_CHANGE = 0x00000004 , */
2696 /* IDL: DOMAIN_PASSWORD_LOCKOUT_ADMINS = 0x00000008 , */
2697 /* IDL: DOMAIN_PASSWORD_STORE_CLEARTEXT = 0x00000010 , */
2698 /* IDL: DOMAIN_REFUSE_PASSWORD_CHANGE = 0x00000020 , */
2699 /* IDL: } */
2702 samr_dissect_bitmap_PasswordProperties(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2704 proto_item *item;
2705 static int * const samr_samr_PasswordProperties_fields[] = {
2706 &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_COMPLEX,
2707 &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_ANON_CHANGE,
2708 &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_CLEAR_CHANGE,
2709 &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_LOCKOUT_ADMINS,
2710 &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_STORE_CLEARTEXT,
2711 &hf_samr_samr_PasswordProperties_DOMAIN_REFUSE_PASSWORD_CHANGE,
2712 NULL
2714 uint32_t flags;
2715 ALIGN_TO_4_BYTES;
2717 item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
2718 ett_samr_samr_PasswordProperties, samr_samr_PasswordProperties_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
2720 offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
2722 if (!flags)
2723 proto_item_append_text(item, ": (No values set)");
2725 if (flags & (~0x0000003f)) {
2726 flags &= (~0x0000003f);
2727 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
2730 return offset;
2734 /* IDL: enum { */
2735 /* IDL: DOMAIN_SERVER_ENABLED=1, */
2736 /* IDL: DOMAIN_SERVER_DISABLED=2, */
2737 /* IDL: } */
2740 samr_dissect_enum_DomainServerState(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
2742 uint32_t parameter=0;
2743 if (param) {
2744 parameter = *param;
2746 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
2747 if (param) {
2748 *param = parameter;
2750 return offset;
2754 /* IDL: struct { */
2755 /* IDL: uint16 min_password_length; */
2756 /* IDL: uint16 password_history_length; */
2757 /* IDL: samr_PasswordProperties password_properties; */
2758 /* IDL: dlong max_password_age; */
2759 /* IDL: dlong min_password_age; */
2760 /* IDL: } */
2762 static int
2763 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_, uint8_t *drep _U_)
2765 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo1_min_password_length, 0);
2767 return offset;
2770 static int
2771 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_, uint8_t *drep _U_)
2773 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo1_password_history_length, 0);
2775 return offset;
2778 static int
2779 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_, uint8_t *drep _U_)
2781 offset = samr_dissect_bitmap_PasswordProperties(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo1_password_properties, 0);
2783 return offset;
2786 static int
2787 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_, uint8_t *drep _U_)
2789 offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo1_max_password_age, NULL);
2791 return offset;
2794 static int
2795 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_, uint8_t *drep _U_)
2797 offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo1_min_password_age, NULL);
2799 return offset;
2803 samr_dissect_struct_DomInfo1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2805 proto_item *item = NULL;
2806 proto_tree *tree = NULL;
2807 int old_offset;
2809 ALIGN_TO_4_BYTES;
2811 old_offset = offset;
2813 if (parent_tree) {
2814 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2815 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo1);
2818 offset = samr_dissect_element_DomInfo1_min_password_length(tvb, offset, pinfo, tree, di, drep);
2820 offset = samr_dissect_element_DomInfo1_password_history_length(tvb, offset, pinfo, tree, di, drep);
2822 offset = samr_dissect_element_DomInfo1_password_properties(tvb, offset, pinfo, tree, di, drep);
2824 offset = samr_dissect_element_DomInfo1_max_password_age(tvb, offset, pinfo, tree, di, drep);
2826 offset = samr_dissect_element_DomInfo1_min_password_age(tvb, offset, pinfo, tree, di, drep);
2829 proto_item_set_len(item, offset-old_offset);
2832 if (di->call_data->flags & DCERPC_IS_NDR64) {
2833 ALIGN_TO_4_BYTES;
2836 return offset;
2840 /* IDL: struct { */
2841 /* IDL: NTTIME force_logoff_time; */
2842 /* IDL: lsa_String oem_information; */
2843 /* IDL: lsa_String domain_name; */
2844 /* IDL: lsa_String primary; */
2845 /* IDL: udlong sequence_num; */
2846 /* IDL: samr_DomainServerState domain_server_state; */
2847 /* IDL: samr_Role role; */
2848 /* IDL: uint32 unknown3; */
2849 /* IDL: uint32 num_users; */
2850 /* IDL: uint32 num_groups; */
2851 /* IDL: uint32 num_aliases; */
2852 /* IDL: } */
2854 static int
2855 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_, uint8_t *drep _U_)
2857 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_force_logoff_time);
2859 return offset;
2862 static int
2863 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_, uint8_t *drep _U_)
2865 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomGeneralInformation_oem_information);
2867 return offset;
2870 static int
2871 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_, uint8_t *drep _U_)
2873 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomGeneralInformation_domain_name);
2875 return offset;
2878 static int
2879 samr_dissect_element_DomGeneralInformation_primary(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2881 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomGeneralInformation_primary);
2883 return offset;
2886 static int
2887 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_, uint8_t *drep _U_)
2889 offset = dissect_ndr_duint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_sequence_num, NULL);
2891 return offset;
2894 static int
2895 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_, uint8_t *drep _U_)
2897 offset = samr_dissect_enum_DomainServerState(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_domain_server_state, 0);
2899 return offset;
2902 static int
2903 samr_dissect_element_DomGeneralInformation_role(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2905 offset = samr_dissect_enum_Role(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_role, 0);
2907 return offset;
2910 static int
2911 samr_dissect_element_DomGeneralInformation_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
2913 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_unknown3, 0);
2915 return offset;
2918 static int
2919 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_, uint8_t *drep _U_)
2921 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_num_users, 0);
2923 return offset;
2926 static int
2927 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_, uint8_t *drep _U_)
2929 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_num_groups, 0);
2931 return offset;
2934 static int
2935 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_, uint8_t *drep _U_)
2937 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation_num_aliases, 0);
2939 return offset;
2943 samr_dissect_struct_DomGeneralInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
2945 proto_item *item = NULL;
2946 proto_tree *tree = NULL;
2947 int old_offset;
2949 ALIGN_TO_5_BYTES;
2951 old_offset = offset;
2953 if (parent_tree) {
2954 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
2955 tree = proto_item_add_subtree(item, ett_samr_samr_DomGeneralInformation);
2958 offset = samr_dissect_element_DomGeneralInformation_force_logoff_time(tvb, offset, pinfo, tree, di, drep);
2960 offset = samr_dissect_element_DomGeneralInformation_oem_information(tvb, offset, pinfo, tree, di, drep);
2962 offset = samr_dissect_element_DomGeneralInformation_domain_name(tvb, offset, pinfo, tree, di, drep);
2964 offset = samr_dissect_element_DomGeneralInformation_primary(tvb, offset, pinfo, tree, di, drep);
2966 offset = samr_dissect_element_DomGeneralInformation_sequence_num(tvb, offset, pinfo, tree, di, drep);
2968 offset = samr_dissect_element_DomGeneralInformation_domain_server_state(tvb, offset, pinfo, tree, di, drep);
2970 offset = samr_dissect_element_DomGeneralInformation_role(tvb, offset, pinfo, tree, di, drep);
2972 offset = samr_dissect_element_DomGeneralInformation_unknown3(tvb, offset, pinfo, tree, di, drep);
2974 offset = samr_dissect_element_DomGeneralInformation_num_users(tvb, offset, pinfo, tree, di, drep);
2976 offset = samr_dissect_element_DomGeneralInformation_num_groups(tvb, offset, pinfo, tree, di, drep);
2978 offset = samr_dissect_element_DomGeneralInformation_num_aliases(tvb, offset, pinfo, tree, di, drep);
2981 proto_item_set_len(item, offset-old_offset);
2984 if (di->call_data->flags & DCERPC_IS_NDR64) {
2985 ALIGN_TO_5_BYTES;
2988 return offset;
2992 /* IDL: struct { */
2993 /* IDL: NTTIME force_logoff_time; */
2994 /* IDL: } */
2996 static int
2997 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_, uint8_t *drep _U_)
2999 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo3_force_logoff_time);
3001 return offset;
3005 samr_dissect_struct_DomInfo3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3007 proto_item *item = NULL;
3008 proto_tree *tree = NULL;
3009 int old_offset;
3011 ALIGN_TO_4_BYTES;
3013 old_offset = offset;
3015 if (parent_tree) {
3016 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3017 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo3);
3020 offset = samr_dissect_element_DomInfo3_force_logoff_time(tvb, offset, pinfo, tree, di, drep);
3023 proto_item_set_len(item, offset-old_offset);
3026 if (di->call_data->flags & DCERPC_IS_NDR64) {
3027 ALIGN_TO_4_BYTES;
3030 return offset;
3034 /* IDL: struct { */
3035 /* IDL: lsa_String oem_information; */
3036 /* IDL: } */
3038 static int
3039 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_, uint8_t *drep _U_)
3041 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomOEMInformation_oem_information);
3043 return offset;
3047 samr_dissect_struct_DomOEMInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3049 proto_item *item = NULL;
3050 proto_tree *tree = NULL;
3051 int old_offset;
3053 ALIGN_TO_5_BYTES;
3055 old_offset = offset;
3057 if (parent_tree) {
3058 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3059 tree = proto_item_add_subtree(item, ett_samr_samr_DomOEMInformation);
3062 offset = samr_dissect_element_DomOEMInformation_oem_information(tvb, offset, pinfo, tree, di, drep);
3065 proto_item_set_len(item, offset-old_offset);
3068 if (di->call_data->flags & DCERPC_IS_NDR64) {
3069 ALIGN_TO_5_BYTES;
3072 return offset;
3076 /* IDL: struct { */
3077 /* IDL: lsa_String domain_name; */
3078 /* IDL: } */
3080 static int
3081 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_, uint8_t *drep _U_)
3083 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomInfo5_domain_name);
3085 return offset;
3089 samr_dissect_struct_DomInfo5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3091 proto_item *item = NULL;
3092 proto_tree *tree = NULL;
3093 int old_offset;
3095 ALIGN_TO_5_BYTES;
3097 old_offset = offset;
3099 if (parent_tree) {
3100 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3101 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo5);
3104 offset = samr_dissect_element_DomInfo5_domain_name(tvb, offset, pinfo, tree, di, drep);
3107 proto_item_set_len(item, offset-old_offset);
3110 if (di->call_data->flags & DCERPC_IS_NDR64) {
3111 ALIGN_TO_5_BYTES;
3114 return offset;
3118 /* IDL: struct { */
3119 /* IDL: lsa_String primary; */
3120 /* IDL: } */
3122 static int
3123 samr_dissect_element_DomInfo6_primary(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3125 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomInfo6_primary);
3127 return offset;
3131 samr_dissect_struct_DomInfo6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3133 proto_item *item = NULL;
3134 proto_tree *tree = NULL;
3135 int old_offset;
3137 ALIGN_TO_5_BYTES;
3139 old_offset = offset;
3141 if (parent_tree) {
3142 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3143 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo6);
3146 offset = samr_dissect_element_DomInfo6_primary(tvb, offset, pinfo, tree, di, drep);
3149 proto_item_set_len(item, offset-old_offset);
3152 if (di->call_data->flags & DCERPC_IS_NDR64) {
3153 ALIGN_TO_5_BYTES;
3156 return offset;
3160 /* IDL: struct { */
3161 /* IDL: samr_Role role; */
3162 /* IDL: } */
3164 static int
3165 samr_dissect_element_DomInfo7_role(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3167 offset = samr_dissect_enum_Role(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo7_role, 0);
3169 return offset;
3173 samr_dissect_struct_DomInfo7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3175 proto_item *item = NULL;
3176 proto_tree *tree = NULL;
3177 int old_offset;
3179 ALIGN_TO_4_BYTES;
3181 old_offset = offset;
3183 if (parent_tree) {
3184 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3185 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo7);
3188 offset = samr_dissect_element_DomInfo7_role(tvb, offset, pinfo, tree, di, drep);
3191 proto_item_set_len(item, offset-old_offset);
3194 if (di->call_data->flags & DCERPC_IS_NDR64) {
3195 ALIGN_TO_4_BYTES;
3198 return offset;
3202 /* IDL: struct { */
3203 /* IDL: hyper sequence_num; */
3204 /* IDL: NTTIME domain_create_time; */
3205 /* IDL: } */
3207 static int
3208 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_, uint8_t *drep _U_)
3210 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomInfo8_sequence_num);
3212 return offset;
3215 static int
3216 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_, uint8_t *drep _U_)
3218 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo8_domain_create_time);
3220 return offset;
3224 samr_dissect_struct_DomInfo8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3226 proto_item *item = NULL;
3227 proto_tree *tree = NULL;
3228 int old_offset;
3230 ALIGN_TO_8_BYTES;
3232 old_offset = offset;
3234 if (parent_tree) {
3235 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3236 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo8);
3239 offset = samr_dissect_element_DomInfo8_sequence_num(tvb, offset, pinfo, tree, di, drep);
3241 offset = samr_dissect_element_DomInfo8_domain_create_time(tvb, offset, pinfo, tree, di, drep);
3244 proto_item_set_len(item, offset-old_offset);
3247 if (di->call_data->flags & DCERPC_IS_NDR64) {
3248 ALIGN_TO_8_BYTES;
3251 return offset;
3255 /* IDL: struct { */
3256 /* IDL: samr_DomainServerState domain_server_state; */
3257 /* IDL: } */
3259 static int
3260 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_, uint8_t *drep _U_)
3262 offset = samr_dissect_enum_DomainServerState(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo9_domain_server_state, 0);
3264 return offset;
3268 samr_dissect_struct_DomInfo9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3270 proto_item *item = NULL;
3271 proto_tree *tree = NULL;
3272 int old_offset;
3274 ALIGN_TO_4_BYTES;
3276 old_offset = offset;
3278 if (parent_tree) {
3279 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3280 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo9);
3283 offset = samr_dissect_element_DomInfo9_domain_server_state(tvb, offset, pinfo, tree, di, drep);
3286 proto_item_set_len(item, offset-old_offset);
3289 if (di->call_data->flags & DCERPC_IS_NDR64) {
3290 ALIGN_TO_4_BYTES;
3293 return offset;
3297 /* IDL: struct { */
3298 /* IDL: samr_DomGeneralInformation general; */
3299 /* IDL: hyper lockout_duration; */
3300 /* IDL: hyper lockout_window; */
3301 /* IDL: uint16 lockout_threshold; */
3302 /* IDL: } */
3304 static int
3305 samr_dissect_element_DomGeneralInformation2_general(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3307 offset = samr_dissect_struct_DomGeneralInformation(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomGeneralInformation2_general,0);
3309 return offset;
3312 static int
3313 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_, uint8_t *drep _U_)
3315 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomGeneralInformation2_lockout_duration);
3317 return offset;
3320 static int
3321 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_, uint8_t *drep _U_)
3323 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomGeneralInformation2_lockout_window);
3325 return offset;
3328 static int
3329 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_, uint8_t *drep _U_)
3331 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomGeneralInformation2_lockout_threshold, 0);
3333 return offset;
3337 samr_dissect_struct_DomGeneralInformation2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3339 proto_item *item = NULL;
3340 proto_tree *tree = NULL;
3341 int old_offset;
3343 ALIGN_TO_8_BYTES;
3345 old_offset = offset;
3347 if (parent_tree) {
3348 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3349 tree = proto_item_add_subtree(item, ett_samr_samr_DomGeneralInformation2);
3352 offset = samr_dissect_element_DomGeneralInformation2_general(tvb, offset, pinfo, tree, di, drep);
3354 offset = samr_dissect_element_DomGeneralInformation2_lockout_duration(tvb, offset, pinfo, tree, di, drep);
3356 offset = samr_dissect_element_DomGeneralInformation2_lockout_window(tvb, offset, pinfo, tree, di, drep);
3358 offset = samr_dissect_element_DomGeneralInformation2_lockout_threshold(tvb, offset, pinfo, tree, di, drep);
3361 proto_item_set_len(item, offset-old_offset);
3364 if (di->call_data->flags & DCERPC_IS_NDR64) {
3365 ALIGN_TO_8_BYTES;
3368 return offset;
3372 /* IDL: struct { */
3373 /* IDL: hyper lockout_duration; */
3374 /* IDL: hyper lockout_window; */
3375 /* IDL: uint16 lockout_threshold; */
3376 /* IDL: } */
3378 static int
3379 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_, uint8_t *drep _U_)
3381 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomInfo12_lockout_duration);
3383 return offset;
3386 static int
3387 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_, uint8_t *drep _U_)
3389 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomInfo12_lockout_window);
3391 return offset;
3394 static int
3395 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_, uint8_t *drep _U_)
3397 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo12_lockout_threshold, 0);
3399 return offset;
3403 samr_dissect_struct_DomInfo12(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3405 proto_item *item = NULL;
3406 proto_tree *tree = NULL;
3407 int old_offset;
3409 ALIGN_TO_8_BYTES;
3411 old_offset = offset;
3413 if (parent_tree) {
3414 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3415 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo12);
3418 offset = samr_dissect_element_DomInfo12_lockout_duration(tvb, offset, pinfo, tree, di, drep);
3420 offset = samr_dissect_element_DomInfo12_lockout_window(tvb, offset, pinfo, tree, di, drep);
3422 offset = samr_dissect_element_DomInfo12_lockout_threshold(tvb, offset, pinfo, tree, di, drep);
3425 proto_item_set_len(item, offset-old_offset);
3428 if (di->call_data->flags & DCERPC_IS_NDR64) {
3429 ALIGN_TO_8_BYTES;
3432 return offset;
3436 /* IDL: struct { */
3437 /* IDL: hyper sequence_num; */
3438 /* IDL: NTTIME domain_create_time; */
3439 /* IDL: hyper modified_count_at_last_promotion; */
3440 /* IDL: } */
3442 static int
3443 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_, uint8_t *drep _U_)
3445 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomInfo13_sequence_num);
3447 return offset;
3450 static int
3451 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_, uint8_t *drep _U_)
3453 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DomInfo13_domain_create_time);
3455 return offset;
3458 static int
3459 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_, uint8_t *drep _U_)
3461 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DomInfo13_modified_count_at_last_promotion);
3463 return offset;
3467 samr_dissect_struct_DomInfo13(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3469 proto_item *item = NULL;
3470 proto_tree *tree = NULL;
3471 int old_offset;
3473 ALIGN_TO_8_BYTES;
3475 old_offset = offset;
3477 if (parent_tree) {
3478 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3479 tree = proto_item_add_subtree(item, ett_samr_samr_DomInfo13);
3482 offset = samr_dissect_element_DomInfo13_sequence_num(tvb, offset, pinfo, tree, di, drep);
3484 offset = samr_dissect_element_DomInfo13_domain_create_time(tvb, offset, pinfo, tree, di, drep);
3486 offset = samr_dissect_element_DomInfo13_modified_count_at_last_promotion(tvb, offset, pinfo, tree, di, drep);
3489 proto_item_set_len(item, offset-old_offset);
3492 if (di->call_data->flags & DCERPC_IS_NDR64) {
3493 ALIGN_TO_8_BYTES;
3496 return offset;
3500 /* IDL: [switch_type(uint16)] union { */
3501 /* IDL: [case(1)] [case(1)] samr_DomInfo1 info1; */
3502 /* IDL: [case(2)] [case(2)] samr_DomGeneralInformation general; */
3503 /* IDL: [case(3)] [case(3)] samr_DomInfo3 info3; */
3504 /* IDL: [case(4)] [case(4)] samr_DomOEMInformation oem; */
3505 /* IDL: [case(5)] [case(5)] samr_DomInfo5 info5; */
3506 /* IDL: [case(6)] [case(6)] samr_DomInfo6 info6; */
3507 /* IDL: [case(7)] [case(7)] samr_DomInfo7 info7; */
3508 /* IDL: [case(8)] [case(8)] samr_DomInfo8 info8; */
3509 /* IDL: [case(9)] [case(9)] samr_DomInfo9 info9; */
3510 /* IDL: [case(11)] [case(11)] samr_DomGeneralInformation2 general2; */
3511 /* IDL: [case(12)] [case(12)] samr_DomInfo12 info12; */
3512 /* IDL: [case(13)] [case(13)] samr_DomInfo13 info13; */
3513 /* IDL: } */
3515 static int
3516 samr_dissect_element_DomainInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3518 offset = samr_dissect_struct_DomInfo1(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info1,0);
3520 return offset;
3523 static int
3524 samr_dissect_element_DomainInfo_general(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3526 offset = samr_dissect_struct_DomGeneralInformation(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_general,0);
3528 return offset;
3531 static int
3532 samr_dissect_element_DomainInfo_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3534 offset = samr_dissect_struct_DomInfo3(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info3,0);
3536 return offset;
3539 static int
3540 samr_dissect_element_DomainInfo_oem(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3542 offset = samr_dissect_struct_DomOEMInformation(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_oem,0);
3544 return offset;
3547 static int
3548 samr_dissect_element_DomainInfo_info5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3550 offset = samr_dissect_struct_DomInfo5(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info5,0);
3552 return offset;
3555 static int
3556 samr_dissect_element_DomainInfo_info6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3558 offset = samr_dissect_struct_DomInfo6(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info6,0);
3560 return offset;
3563 static int
3564 samr_dissect_element_DomainInfo_info7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3566 offset = samr_dissect_struct_DomInfo7(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info7,0);
3568 return offset;
3571 static int
3572 samr_dissect_element_DomainInfo_info8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3574 offset = samr_dissect_struct_DomInfo8(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info8,0);
3576 return offset;
3579 static int
3580 samr_dissect_element_DomainInfo_info9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3582 offset = samr_dissect_struct_DomInfo9(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info9,0);
3584 return offset;
3587 static int
3588 samr_dissect_element_DomainInfo_general2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3590 offset = samr_dissect_struct_DomGeneralInformation2(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_general2,0);
3592 return offset;
3595 static int
3596 samr_dissect_element_DomainInfo_info12(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3598 offset = samr_dissect_struct_DomInfo12(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info12,0);
3600 return offset;
3603 static int
3604 samr_dissect_element_DomainInfo_info13(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3606 offset = samr_dissect_struct_DomInfo13(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DomainInfo_info13,0);
3608 return offset;
3611 static int
3612 samr_dissect_DomainInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3614 proto_item *item = NULL;
3615 proto_tree *tree = NULL;
3616 int old_offset;
3617 uint16_t level;
3619 old_offset = offset;
3620 if (parent_tree) {
3621 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_samr_samr_DomainInfo, &item, "samr_DomainInfo");
3624 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
3625 ALIGN_TO_8_BYTES;
3627 switch(level) {
3628 case 1:
3629 offset = samr_dissect_element_DomainInfo_info1(tvb, offset, pinfo, tree, di, drep);
3630 break;
3632 case 2:
3633 offset = samr_dissect_element_DomainInfo_general(tvb, offset, pinfo, tree, di, drep);
3634 break;
3636 case 3:
3637 offset = samr_dissect_element_DomainInfo_info3(tvb, offset, pinfo, tree, di, drep);
3638 break;
3640 case 4:
3641 offset = samr_dissect_element_DomainInfo_oem(tvb, offset, pinfo, tree, di, drep);
3642 break;
3644 case 5:
3645 offset = samr_dissect_element_DomainInfo_info5(tvb, offset, pinfo, tree, di, drep);
3646 break;
3648 case 6:
3649 offset = samr_dissect_element_DomainInfo_info6(tvb, offset, pinfo, tree, di, drep);
3650 break;
3652 case 7:
3653 offset = samr_dissect_element_DomainInfo_info7(tvb, offset, pinfo, tree, di, drep);
3654 break;
3656 case 8:
3657 offset = samr_dissect_element_DomainInfo_info8(tvb, offset, pinfo, tree, di, drep);
3658 break;
3660 case 9:
3661 offset = samr_dissect_element_DomainInfo_info9(tvb, offset, pinfo, tree, di, drep);
3662 break;
3664 case 11:
3665 offset = samr_dissect_element_DomainInfo_general2(tvb, offset, pinfo, tree, di, drep);
3666 break;
3668 case 12:
3669 offset = samr_dissect_element_DomainInfo_info12(tvb, offset, pinfo, tree, di, drep);
3670 break;
3672 case 13:
3673 offset = samr_dissect_element_DomainInfo_info13(tvb, offset, pinfo, tree, di, drep);
3674 break;
3676 proto_item_set_len(item, offset-old_offset);
3679 return offset;
3682 /* IDL: struct { */
3683 /* IDL: [range(0,1024)] uint32 count; */
3684 /* IDL: [size_is(count)] [unique(1)] uint32 *ids; */
3685 /* IDL: } */
3687 static int
3688 samr_dissect_element_Ids_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3690 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Ids_count, 0);
3692 return offset;
3695 static int
3696 samr_dissect_element_Ids_ids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3698 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);
3700 return offset;
3703 static int
3704 samr_dissect_element_Ids_ids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3706 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_Ids_ids__);
3708 return offset;
3711 static int
3712 samr_dissect_element_Ids_ids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3714 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
3716 return offset;
3720 samr_dissect_struct_Ids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3722 proto_item *item = NULL;
3723 proto_tree *tree = NULL;
3724 int old_offset;
3726 ALIGN_TO_5_BYTES;
3728 old_offset = offset;
3730 if (parent_tree) {
3731 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3732 tree = proto_item_add_subtree(item, ett_samr_samr_Ids);
3735 offset = samr_dissect_element_Ids_count(tvb, offset, pinfo, tree, di, drep);
3737 offset = samr_dissect_element_Ids_ids(tvb, offset, pinfo, tree, di, drep);
3740 proto_item_set_len(item, offset-old_offset);
3743 if (di->call_data->flags & DCERPC_IS_NDR64) {
3744 ALIGN_TO_5_BYTES;
3747 return offset;
3751 /* IDL: bitmap { */
3752 /* IDL: SE_GROUP_MANDATORY = 0x00000001 , */
3753 /* IDL: SE_GROUP_ENABLED_BY_DEFAULT = 0x00000002 , */
3754 /* IDL: SE_GROUP_ENABLED = 0x00000004 , */
3755 /* IDL: SE_GROUP_OWNER = 0x00000008 , */
3756 /* IDL: SE_GROUP_USE_FOR_DENY_ONLY = 0x00000010 , */
3757 /* IDL: SE_GROUP_RESOURCE = 0x20000000 , */
3758 /* IDL: SE_GROUP_LOGON_ID = 0xC0000000 , */
3759 /* IDL: } */
3762 samr_dissect_bitmap_GroupAttrs(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3764 proto_item *item;
3765 static int * const samr_samr_GroupAttrs_fields[] = {
3766 &hf_samr_samr_GroupAttrs_SE_GROUP_MANDATORY,
3767 &hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED_BY_DEFAULT,
3768 &hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED,
3769 &hf_samr_samr_GroupAttrs_SE_GROUP_OWNER,
3770 &hf_samr_samr_GroupAttrs_SE_GROUP_USE_FOR_DENY_ONLY,
3771 &hf_samr_samr_GroupAttrs_SE_GROUP_RESOURCE,
3772 &hf_samr_samr_GroupAttrs_SE_GROUP_LOGON_ID,
3773 NULL
3775 uint32_t flags;
3776 ALIGN_TO_4_BYTES;
3778 item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
3779 ett_samr_samr_GroupAttrs, samr_samr_GroupAttrs_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
3781 offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
3783 if (!flags)
3784 proto_item_append_text(item, ": (No values set)");
3786 if (flags & (~0xe000001f)) {
3787 flags &= (~0xe000001f);
3788 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
3791 return offset;
3795 /* IDL: struct { */
3796 /* IDL: lsa_String name; */
3797 /* IDL: samr_GroupAttrs attributes; */
3798 /* IDL: uint32 num_members; */
3799 /* IDL: lsa_String description; */
3800 /* IDL: } */
3802 static int
3803 samr_dissect_element_GroupInfoAll_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3805 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GroupInfoAll_name);
3807 return offset;
3810 static int
3811 samr_dissect_element_GroupInfoAll_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3813 offset = samr_dissect_bitmap_GroupAttrs(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GroupInfoAll_attributes, 0);
3815 return offset;
3818 static int
3819 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_, uint8_t *drep _U_)
3821 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GroupInfoAll_num_members, 0);
3823 return offset;
3826 static int
3827 samr_dissect_element_GroupInfoAll_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3829 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GroupInfoAll_description);
3831 return offset;
3835 samr_dissect_struct_GroupInfoAll(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3837 proto_item *item = NULL;
3838 proto_tree *tree = NULL;
3839 int old_offset;
3841 ALIGN_TO_5_BYTES;
3843 old_offset = offset;
3845 if (parent_tree) {
3846 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3847 tree = proto_item_add_subtree(item, ett_samr_samr_GroupInfoAll);
3850 offset = samr_dissect_element_GroupInfoAll_name(tvb, offset, pinfo, tree, di, drep);
3852 offset = samr_dissect_element_GroupInfoAll_attributes(tvb, offset, pinfo, tree, di, drep);
3854 offset = samr_dissect_element_GroupInfoAll_num_members(tvb, offset, pinfo, tree, di, drep);
3856 offset = samr_dissect_element_GroupInfoAll_description(tvb, offset, pinfo, tree, di, drep);
3859 proto_item_set_len(item, offset-old_offset);
3862 if (di->call_data->flags & DCERPC_IS_NDR64) {
3863 ALIGN_TO_5_BYTES;
3866 return offset;
3870 /* IDL: struct { */
3871 /* IDL: samr_GroupAttrs attributes; */
3872 /* IDL: } */
3874 static int
3875 samr_dissect_element_GroupInfoAttributes_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3877 offset = samr_dissect_bitmap_GroupAttrs(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GroupInfoAttributes_attributes, 0);
3879 return offset;
3883 samr_dissect_struct_GroupInfoAttributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3885 proto_item *item = NULL;
3886 proto_tree *tree = NULL;
3887 int old_offset;
3889 ALIGN_TO_4_BYTES;
3891 old_offset = offset;
3893 if (parent_tree) {
3894 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3895 tree = proto_item_add_subtree(item, ett_samr_samr_GroupInfoAttributes);
3898 offset = samr_dissect_element_GroupInfoAttributes_attributes(tvb, offset, pinfo, tree, di, drep);
3901 proto_item_set_len(item, offset-old_offset);
3904 if (di->call_data->flags & DCERPC_IS_NDR64) {
3905 ALIGN_TO_4_BYTES;
3908 return offset;
3912 /* IDL: struct { */
3913 /* IDL: lsa_String description; */
3914 /* IDL: } */
3916 static int
3917 samr_dissect_element_GroupInfoDescription_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3919 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GroupInfoDescription_description);
3921 return offset;
3925 samr_dissect_struct_GroupInfoDescription(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
3927 proto_item *item = NULL;
3928 proto_tree *tree = NULL;
3929 int old_offset;
3931 ALIGN_TO_5_BYTES;
3933 old_offset = offset;
3935 if (parent_tree) {
3936 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
3937 tree = proto_item_add_subtree(item, ett_samr_samr_GroupInfoDescription);
3940 offset = samr_dissect_element_GroupInfoDescription_description(tvb, offset, pinfo, tree, di, drep);
3943 proto_item_set_len(item, offset-old_offset);
3946 if (di->call_data->flags & DCERPC_IS_NDR64) {
3947 ALIGN_TO_5_BYTES;
3950 return offset;
3954 /* IDL: enum { */
3955 /* IDL: GROUPINFOALL=1, */
3956 /* IDL: GROUPINFONAME=2, */
3957 /* IDL: GROUPINFOATTRIBUTES=3, */
3958 /* IDL: GROUPINFODESCRIPTION=4, */
3959 /* IDL: GROUPINFOALL2=5, */
3960 /* IDL: } */
3963 samr_dissect_enum_GroupInfoEnum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
3965 uint32_t parameter=0;
3966 if (param) {
3967 parameter = *param;
3969 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
3970 if (param) {
3971 *param = parameter;
3973 return offset;
3977 /* IDL: [switch_type(samr_GroupInfoEnum)] union { */
3978 /* IDL: [case(GROUPINFOALL)] [case(GROUPINFOALL)] samr_GroupInfoAll all; */
3979 /* IDL: [case(GROUPINFONAME)] [case(GROUPINFONAME)] lsa_String name; */
3980 /* IDL: [case(GROUPINFOATTRIBUTES)] [case(GROUPINFOATTRIBUTES)] samr_GroupInfoAttributes attributes; */
3981 /* IDL: [case(GROUPINFODESCRIPTION)] [case(GROUPINFODESCRIPTION)] lsa_String description; */
3982 /* IDL: [case(GROUPINFOALL2)] [case(GROUPINFOALL2)] samr_GroupInfoAll all2; */
3983 /* IDL: } */
3985 static int
3986 samr_dissect_element_GroupInfo_all(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3988 offset = samr_dissect_struct_GroupInfoAll(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GroupInfo_all,0);
3990 return offset;
3993 static int
3994 samr_dissect_element_GroupInfo_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
3996 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GroupInfo_name);
3998 return offset;
4001 static int
4002 samr_dissect_element_GroupInfo_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4004 offset = samr_dissect_struct_GroupInfoAttributes(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GroupInfo_attributes,0);
4006 return offset;
4009 static int
4010 samr_dissect_element_GroupInfo_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4012 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GroupInfo_description);
4014 return offset;
4017 static int
4018 samr_dissect_element_GroupInfo_all2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4020 offset = samr_dissect_struct_GroupInfoAll(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GroupInfo_all2,0);
4022 return offset;
4025 static int
4026 samr_dissect_GroupInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
4028 proto_item *item = NULL;
4029 proto_tree *tree = NULL;
4030 int old_offset;
4031 uint32_t level;
4033 old_offset = offset;
4034 if (parent_tree) {
4035 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_samr_samr_GroupInfo, &item, "samr_GroupInfo");
4038 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
4039 ALIGN_TO_5_BYTES;
4041 switch(level) {
4042 case GROUPINFOALL:
4043 offset = samr_dissect_element_GroupInfo_all(tvb, offset, pinfo, tree, di, drep);
4044 break;
4046 case GROUPINFONAME:
4047 offset = samr_dissect_element_GroupInfo_name(tvb, offset, pinfo, tree, di, drep);
4048 break;
4050 case GROUPINFOATTRIBUTES:
4051 offset = samr_dissect_element_GroupInfo_attributes(tvb, offset, pinfo, tree, di, drep);
4052 break;
4054 case GROUPINFODESCRIPTION:
4055 offset = samr_dissect_element_GroupInfo_description(tvb, offset, pinfo, tree, di, drep);
4056 break;
4058 case GROUPINFOALL2:
4059 offset = samr_dissect_element_GroupInfo_all2(tvb, offset, pinfo, tree, di, drep);
4060 break;
4062 proto_item_set_len(item, offset-old_offset);
4065 return offset;
4068 /* IDL: struct { */
4069 /* IDL: uint32 count; */
4070 /* IDL: [size_is(count)] [unique(1)] uint32 *rids; */
4071 /* IDL: [size_is(count)] [unique(1)] uint32 *types; */
4072 /* IDL: } */
4074 static int
4075 samr_dissect_element_RidTypeArray_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4077 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_RidTypeArray_count, 0);
4079 return offset;
4082 static int
4083 samr_dissect_element_RidTypeArray_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4085 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);
4087 return offset;
4090 static int
4091 samr_dissect_element_RidTypeArray_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4093 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidTypeArray_rids__);
4095 return offset;
4098 static int
4099 samr_dissect_element_RidTypeArray_rids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4101 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
4103 return offset;
4106 static int
4107 samr_dissect_element_RidTypeArray_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4109 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);
4111 return offset;
4114 static int
4115 samr_dissect_element_RidTypeArray_types_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4117 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidTypeArray_types__);
4119 return offset;
4122 static int
4123 samr_dissect_element_RidTypeArray_types__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4125 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_RidTypeArray_types, 0);
4127 return offset;
4131 samr_dissect_struct_RidTypeArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
4133 proto_item *item = NULL;
4134 proto_tree *tree = NULL;
4135 int old_offset;
4137 ALIGN_TO_5_BYTES;
4139 old_offset = offset;
4141 if (parent_tree) {
4142 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4143 tree = proto_item_add_subtree(item, ett_samr_samr_RidTypeArray);
4146 offset = samr_dissect_element_RidTypeArray_count(tvb, offset, pinfo, tree, di, drep);
4148 offset = samr_dissect_element_RidTypeArray_rids(tvb, offset, pinfo, tree, di, drep);
4150 offset = samr_dissect_element_RidTypeArray_types(tvb, offset, pinfo, tree, di, drep);
4153 proto_item_set_len(item, offset-old_offset);
4156 if (di->call_data->flags & DCERPC_IS_NDR64) {
4157 ALIGN_TO_5_BYTES;
4160 return offset;
4164 /* IDL: struct { */
4165 /* IDL: lsa_String name; */
4166 /* IDL: uint32 num_members; */
4167 /* IDL: lsa_String description; */
4168 /* IDL: } */
4170 static int
4171 samr_dissect_element_AliasInfoAll_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4173 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_AliasInfoAll_name);
4175 return offset;
4178 static int
4179 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_, uint8_t *drep _U_)
4181 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_AliasInfoAll_num_members, 0);
4183 return offset;
4186 static int
4187 samr_dissect_element_AliasInfoAll_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4189 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_AliasInfoAll_description);
4191 return offset;
4195 samr_dissect_struct_AliasInfoAll(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
4197 proto_item *item = NULL;
4198 proto_tree *tree = NULL;
4199 int old_offset;
4201 ALIGN_TO_5_BYTES;
4203 old_offset = offset;
4205 if (parent_tree) {
4206 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4207 tree = proto_item_add_subtree(item, ett_samr_samr_AliasInfoAll);
4210 offset = samr_dissect_element_AliasInfoAll_name(tvb, offset, pinfo, tree, di, drep);
4212 offset = samr_dissect_element_AliasInfoAll_num_members(tvb, offset, pinfo, tree, di, drep);
4214 offset = samr_dissect_element_AliasInfoAll_description(tvb, offset, pinfo, tree, di, drep);
4217 proto_item_set_len(item, offset-old_offset);
4220 if (di->call_data->flags & DCERPC_IS_NDR64) {
4221 ALIGN_TO_5_BYTES;
4224 return offset;
4228 /* IDL: enum { */
4229 /* IDL: ALIASINFOALL=1, */
4230 /* IDL: ALIASINFONAME=2, */
4231 /* IDL: ALIASINFODESCRIPTION=3, */
4232 /* IDL: } */
4235 samr_dissect_enum_AliasInfoEnum(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
4237 uint32_t parameter=0;
4238 if (param) {
4239 parameter = *param;
4241 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
4242 if (param) {
4243 *param = parameter;
4245 return offset;
4249 /* IDL: [switch_type(samr_AliasInfoEnum)] union { */
4250 /* IDL: [case(ALIASINFOALL)] [case(ALIASINFOALL)] samr_AliasInfoAll all; */
4251 /* IDL: [case(ALIASINFONAME)] [case(ALIASINFONAME)] lsa_String name; */
4252 /* IDL: [case(ALIASINFODESCRIPTION)] [case(ALIASINFODESCRIPTION)] lsa_String description; */
4253 /* IDL: } */
4255 static int
4256 samr_dissect_element_AliasInfo_all(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4258 offset = samr_dissect_struct_AliasInfoAll(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_AliasInfo_all,0);
4260 return offset;
4263 static int
4264 samr_dissect_element_AliasInfo_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4266 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_AliasInfo_name);
4268 return offset;
4271 static int
4272 samr_dissect_element_AliasInfo_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4274 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_AliasInfo_description);
4276 return offset;
4279 static int
4280 samr_dissect_AliasInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
4282 proto_item *item = NULL;
4283 proto_tree *tree = NULL;
4284 int old_offset;
4285 uint32_t level;
4287 old_offset = offset;
4288 if (parent_tree) {
4289 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_samr_samr_AliasInfo, &item, "samr_AliasInfo");
4292 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
4293 ALIGN_TO_5_BYTES;
4295 switch(level) {
4296 case ALIASINFOALL:
4297 offset = samr_dissect_element_AliasInfo_all(tvb, offset, pinfo, tree, di, drep);
4298 break;
4300 case ALIASINFONAME:
4301 offset = samr_dissect_element_AliasInfo_name(tvb, offset, pinfo, tree, di, drep);
4302 break;
4304 case ALIASINFODESCRIPTION:
4305 offset = samr_dissect_element_AliasInfo_description(tvb, offset, pinfo, tree, di, drep);
4306 break;
4308 proto_item_set_len(item, offset-old_offset);
4311 return offset;
4314 /* IDL: enum { */
4315 /* IDL: UserGeneralInformation=1, */
4316 /* IDL: UserPreferencesInformation=2, */
4317 /* IDL: UserLogonInformation=3, */
4318 /* IDL: UserLogonHoursInformation=4, */
4319 /* IDL: UserAccountInformation=5, */
4320 /* IDL: UserNameInformation=6, */
4321 /* IDL: UserAccountNameInformation=7, */
4322 /* IDL: UserFullNameInformation=8, */
4323 /* IDL: UserPrimaryGroupInformation=9, */
4324 /* IDL: UserHomeInformation=10, */
4325 /* IDL: UserScriptInformation=11, */
4326 /* IDL: UserProfileInformation=12, */
4327 /* IDL: UserAdminCommentInformation=13, */
4328 /* IDL: UserWorkStationsInformation=14, */
4329 /* IDL: UserControlInformation=16, */
4330 /* IDL: UserExpiresInformation=17, */
4331 /* IDL: UserInternal1Information=18, */
4332 /* IDL: UserParametersInformation=20, */
4333 /* IDL: UserAllInformation=21, */
4334 /* IDL: UserInternal4Information=23, */
4335 /* IDL: UserInternal5Information=24, */
4336 /* IDL: UserInternal4InformationNew=25, */
4337 /* IDL: UserInternal5InformationNew=26, */
4338 /* IDL: UserInternal7InformationNew=31, */
4339 /* IDL: UserInternal8InformationNew=32, */
4340 /* IDL: } */
4343 samr_dissect_enum_UserInfoLevel(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
4345 uint32_t parameter=0;
4346 if (param) {
4347 parameter = *param;
4349 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
4350 if (param) {
4351 *param = parameter;
4353 return offset;
4357 /* IDL: struct { */
4358 /* IDL: lsa_String account_name; */
4359 /* IDL: lsa_String full_name; */
4360 /* IDL: uint32 primary_gid; */
4361 /* IDL: lsa_String description; */
4362 /* IDL: lsa_String comment; */
4363 /* IDL: } */
4365 static int
4366 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_, uint8_t *drep _U_)
4368 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo1_account_name);
4370 return offset;
4373 static int
4374 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_, uint8_t *drep _U_)
4376 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo1_full_name);
4378 return offset;
4381 static int
4382 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_, uint8_t *drep _U_)
4384 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo1_primary_gid, 0);
4386 return offset;
4389 static int
4390 samr_dissect_element_UserInfo1_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4392 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo1_description);
4394 return offset;
4397 static int
4398 samr_dissect_element_UserInfo1_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4400 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo1_comment);
4402 return offset;
4406 samr_dissect_struct_UserInfo1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
4408 proto_item *item = NULL;
4409 proto_tree *tree = NULL;
4410 int old_offset;
4412 ALIGN_TO_5_BYTES;
4414 old_offset = offset;
4416 if (parent_tree) {
4417 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4418 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo1);
4421 offset = samr_dissect_element_UserInfo1_account_name(tvb, offset, pinfo, tree, di, drep);
4423 offset = samr_dissect_element_UserInfo1_full_name(tvb, offset, pinfo, tree, di, drep);
4425 offset = samr_dissect_element_UserInfo1_primary_gid(tvb, offset, pinfo, tree, di, drep);
4427 offset = samr_dissect_element_UserInfo1_description(tvb, offset, pinfo, tree, di, drep);
4429 offset = samr_dissect_element_UserInfo1_comment(tvb, offset, pinfo, tree, di, drep);
4432 proto_item_set_len(item, offset-old_offset);
4435 if (di->call_data->flags & DCERPC_IS_NDR64) {
4436 ALIGN_TO_5_BYTES;
4439 return offset;
4443 /* IDL: struct { */
4444 /* IDL: lsa_String comment; */
4445 /* IDL: lsa_String reserved; */
4446 /* IDL: uint16 country_code; */
4447 /* IDL: uint16 code_page; */
4448 /* IDL: } */
4450 static int
4451 samr_dissect_element_UserInfo2_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4453 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo2_comment);
4455 return offset;
4458 static int
4459 samr_dissect_element_UserInfo2_reserved(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4461 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo2_reserved);
4463 return offset;
4466 static int
4467 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_, uint8_t *drep _U_)
4469 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo2_country_code, 0);
4471 return offset;
4474 static int
4475 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_, uint8_t *drep _U_)
4477 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo2_code_page, 0);
4479 return offset;
4483 samr_dissect_struct_UserInfo2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
4485 proto_item *item = NULL;
4486 proto_tree *tree = NULL;
4487 int old_offset;
4489 ALIGN_TO_5_BYTES;
4491 old_offset = offset;
4493 if (parent_tree) {
4494 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4495 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo2);
4498 offset = samr_dissect_element_UserInfo2_comment(tvb, offset, pinfo, tree, di, drep);
4500 offset = samr_dissect_element_UserInfo2_reserved(tvb, offset, pinfo, tree, di, drep);
4502 offset = samr_dissect_element_UserInfo2_country_code(tvb, offset, pinfo, tree, di, drep);
4504 offset = samr_dissect_element_UserInfo2_code_page(tvb, offset, pinfo, tree, di, drep);
4507 proto_item_set_len(item, offset-old_offset);
4510 if (di->call_data->flags & DCERPC_IS_NDR64) {
4511 ALIGN_TO_5_BYTES;
4514 return offset;
4518 /* IDL: struct { */
4519 /* IDL: uint16 units_per_week; */
4520 /* IDL: [length_is(units_per_week/8)] [size_is(1260)] [unique(1)] uint8 *bits; */
4521 /* IDL: } */
4523 static int
4524 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_, uint8_t *drep _U_)
4526 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_LogonHours_units_per_week, 0);
4528 return offset;
4531 static int
4532 samr_dissect_element_LogonHours_bits(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4534 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);
4536 return offset;
4539 static int
4540 samr_dissect_element_LogonHours_bits_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4542 offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LogonHours_bits__);
4544 return offset;
4547 static int
4548 samr_dissect_element_LogonHours_bits__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4550 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_LogonHours_bits, 0);
4552 return offset;
4556 samr_dissect_struct_LogonHours(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
4558 proto_item *item = NULL;
4559 proto_tree *tree = NULL;
4560 int old_offset;
4562 ALIGN_TO_5_BYTES;
4564 old_offset = offset;
4566 if (parent_tree) {
4567 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4568 tree = proto_item_add_subtree(item, ett_samr_samr_LogonHours);
4571 offset = samr_dissect_element_LogonHours_units_per_week(tvb, offset, pinfo, tree, di, drep);
4573 offset = samr_dissect_element_LogonHours_bits(tvb, offset, pinfo, tree, di, drep);
4576 proto_item_set_len(item, offset-old_offset);
4579 if (di->call_data->flags & DCERPC_IS_NDR64) {
4580 ALIGN_TO_5_BYTES;
4583 return offset;
4587 /* IDL: struct { */
4588 /* IDL: lsa_String account_name; */
4589 /* IDL: lsa_String full_name; */
4590 /* IDL: uint32 rid; */
4591 /* IDL: uint32 primary_gid; */
4592 /* IDL: lsa_String home_directory; */
4593 /* IDL: lsa_String home_drive; */
4594 /* IDL: lsa_String logon_script; */
4595 /* IDL: lsa_String profile_path; */
4596 /* IDL: lsa_String workstations; */
4597 /* IDL: NTTIME last_logon; */
4598 /* IDL: NTTIME last_logoff; */
4599 /* IDL: NTTIME last_password_change; */
4600 /* IDL: NTTIME allow_password_change; */
4601 /* IDL: NTTIME force_password_change; */
4602 /* IDL: samr_LogonHours logon_hours; */
4603 /* IDL: uint16 bad_password_count; */
4604 /* IDL: uint16 logon_count; */
4605 /* IDL: samr_AcctFlags acct_flags; */
4606 /* IDL: } */
4608 static int
4609 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_, uint8_t *drep _U_)
4611 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_account_name);
4613 return offset;
4616 static int
4617 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_, uint8_t *drep _U_)
4619 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_full_name);
4621 return offset;
4624 static int
4625 samr_dissect_element_UserInfo3_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4627 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
4629 return offset;
4632 static int
4633 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_, uint8_t *drep _U_)
4635 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_primary_gid, 0);
4637 return offset;
4640 static int
4641 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_, uint8_t *drep _U_)
4643 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_home_directory);
4645 return offset;
4648 static int
4649 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_, uint8_t *drep _U_)
4651 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_home_drive);
4653 return offset;
4656 static int
4657 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_, uint8_t *drep _U_)
4659 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_logon_script);
4661 return offset;
4664 static int
4665 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_, uint8_t *drep _U_)
4667 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_profile_path);
4669 return offset;
4672 static int
4673 samr_dissect_element_UserInfo3_workstations(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4675 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo3_workstations);
4677 return offset;
4680 static int
4681 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_, uint8_t *drep _U_)
4683 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_last_logon);
4685 return offset;
4688 static int
4689 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_, uint8_t *drep _U_)
4691 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_last_logoff);
4693 return offset;
4696 static int
4697 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_, uint8_t *drep _U_)
4699 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_last_password_change);
4701 return offset;
4704 static int
4705 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_, uint8_t *drep _U_)
4707 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_allow_password_change);
4709 return offset;
4712 static int
4713 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_, uint8_t *drep _U_)
4715 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_force_password_change);
4717 return offset;
4720 static int
4721 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_, uint8_t *drep _U_)
4723 offset = samr_dissect_struct_LogonHours(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo3_logon_hours,0);
4725 return offset;
4728 static int
4729 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_, uint8_t *drep _U_)
4731 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_bad_password_count, 0);
4733 return offset;
4736 static int
4737 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_, uint8_t *drep _U_)
4739 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_logon_count, 0);
4741 return offset;
4744 static int
4745 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_, uint8_t *drep _U_)
4747 offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo3_acct_flags, 0);
4749 return offset;
4753 samr_dissect_struct_UserInfo3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
4755 proto_item *item = NULL;
4756 proto_tree *tree = NULL;
4757 int old_offset;
4759 ALIGN_TO_5_BYTES;
4761 old_offset = offset;
4763 if (parent_tree) {
4764 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4765 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo3);
4768 offset = samr_dissect_element_UserInfo3_account_name(tvb, offset, pinfo, tree, di, drep);
4770 offset = samr_dissect_element_UserInfo3_full_name(tvb, offset, pinfo, tree, di, drep);
4772 offset = samr_dissect_element_UserInfo3_rid(tvb, offset, pinfo, tree, di, drep);
4774 offset = samr_dissect_element_UserInfo3_primary_gid(tvb, offset, pinfo, tree, di, drep);
4776 offset = samr_dissect_element_UserInfo3_home_directory(tvb, offset, pinfo, tree, di, drep);
4778 offset = samr_dissect_element_UserInfo3_home_drive(tvb, offset, pinfo, tree, di, drep);
4780 offset = samr_dissect_element_UserInfo3_logon_script(tvb, offset, pinfo, tree, di, drep);
4782 offset = samr_dissect_element_UserInfo3_profile_path(tvb, offset, pinfo, tree, di, drep);
4784 offset = samr_dissect_element_UserInfo3_workstations(tvb, offset, pinfo, tree, di, drep);
4786 offset = samr_dissect_element_UserInfo3_last_logon(tvb, offset, pinfo, tree, di, drep);
4788 offset = samr_dissect_element_UserInfo3_last_logoff(tvb, offset, pinfo, tree, di, drep);
4790 offset = samr_dissect_element_UserInfo3_last_password_change(tvb, offset, pinfo, tree, di, drep);
4792 offset = samr_dissect_element_UserInfo3_allow_password_change(tvb, offset, pinfo, tree, di, drep);
4794 offset = samr_dissect_element_UserInfo3_force_password_change(tvb, offset, pinfo, tree, di, drep);
4796 offset = samr_dissect_element_UserInfo3_logon_hours(tvb, offset, pinfo, tree, di, drep);
4798 offset = samr_dissect_element_UserInfo3_bad_password_count(tvb, offset, pinfo, tree, di, drep);
4800 offset = samr_dissect_element_UserInfo3_logon_count(tvb, offset, pinfo, tree, di, drep);
4802 offset = samr_dissect_element_UserInfo3_acct_flags(tvb, offset, pinfo, tree, di, drep);
4805 proto_item_set_len(item, offset-old_offset);
4808 if (di->call_data->flags & DCERPC_IS_NDR64) {
4809 ALIGN_TO_5_BYTES;
4812 return offset;
4816 /* IDL: struct { */
4817 /* IDL: samr_LogonHours logon_hours; */
4818 /* IDL: } */
4820 static int
4821 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_, uint8_t *drep _U_)
4823 offset = samr_dissect_struct_LogonHours(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo4_logon_hours,0);
4825 return offset;
4829 samr_dissect_struct_UserInfo4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
4831 proto_item *item = NULL;
4832 proto_tree *tree = NULL;
4833 int old_offset;
4835 ALIGN_TO_5_BYTES;
4837 old_offset = offset;
4839 if (parent_tree) {
4840 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
4841 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo4);
4844 offset = samr_dissect_element_UserInfo4_logon_hours(tvb, offset, pinfo, tree, di, drep);
4847 proto_item_set_len(item, offset-old_offset);
4850 if (di->call_data->flags & DCERPC_IS_NDR64) {
4851 ALIGN_TO_5_BYTES;
4854 return offset;
4858 /* IDL: struct { */
4859 /* IDL: lsa_String account_name; */
4860 /* IDL: lsa_String full_name; */
4861 /* IDL: uint32 rid; */
4862 /* IDL: uint32 primary_gid; */
4863 /* IDL: lsa_String home_directory; */
4864 /* IDL: lsa_String home_drive; */
4865 /* IDL: lsa_String logon_script; */
4866 /* IDL: lsa_String profile_path; */
4867 /* IDL: lsa_String description; */
4868 /* IDL: lsa_String workstations; */
4869 /* IDL: NTTIME last_logon; */
4870 /* IDL: NTTIME last_logoff; */
4871 /* IDL: samr_LogonHours logon_hours; */
4872 /* IDL: uint16 bad_password_count; */
4873 /* IDL: uint16 logon_count; */
4874 /* IDL: NTTIME last_password_change; */
4875 /* IDL: NTTIME acct_expiry; */
4876 /* IDL: samr_AcctFlags acct_flags; */
4877 /* IDL: } */
4879 static int
4880 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_, uint8_t *drep _U_)
4882 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_account_name);
4884 return offset;
4887 static int
4888 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_, uint8_t *drep _U_)
4890 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_full_name);
4892 return offset;
4895 static int
4896 samr_dissect_element_UserInfo5_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4898 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
4900 return offset;
4903 static int
4904 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_, uint8_t *drep _U_)
4906 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_primary_gid, 0);
4908 return offset;
4911 static int
4912 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_, uint8_t *drep _U_)
4914 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_home_directory);
4916 return offset;
4919 static int
4920 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_, uint8_t *drep _U_)
4922 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_home_drive);
4924 return offset;
4927 static int
4928 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_, uint8_t *drep _U_)
4930 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_logon_script);
4932 return offset;
4935 static int
4936 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_, uint8_t *drep _U_)
4938 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_profile_path);
4940 return offset;
4943 static int
4944 samr_dissect_element_UserInfo5_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4946 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_description);
4948 return offset;
4951 static int
4952 samr_dissect_element_UserInfo5_workstations(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
4954 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo5_workstations);
4956 return offset;
4959 static int
4960 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_, uint8_t *drep _U_)
4962 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_last_logon);
4964 return offset;
4967 static int
4968 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_, uint8_t *drep _U_)
4970 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_last_logoff);
4972 return offset;
4975 static int
4976 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_, uint8_t *drep _U_)
4978 offset = samr_dissect_struct_LogonHours(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo5_logon_hours,0);
4980 return offset;
4983 static int
4984 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_, uint8_t *drep _U_)
4986 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_bad_password_count, 0);
4988 return offset;
4991 static int
4992 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_, uint8_t *drep _U_)
4994 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_logon_count, 0);
4996 return offset;
4999 static int
5000 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_, uint8_t *drep _U_)
5002 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_last_password_change);
5004 return offset;
5007 static int
5008 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_, uint8_t *drep _U_)
5010 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_acct_expiry);
5012 return offset;
5015 static int
5016 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_, uint8_t *drep _U_)
5018 offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo5_acct_flags, 0);
5020 return offset;
5024 samr_dissect_struct_UserInfo5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
5026 proto_item *item = NULL;
5027 proto_tree *tree = NULL;
5028 int old_offset;
5030 ALIGN_TO_5_BYTES;
5032 old_offset = offset;
5034 if (parent_tree) {
5035 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5036 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo5);
5039 offset = samr_dissect_element_UserInfo5_account_name(tvb, offset, pinfo, tree, di, drep);
5041 offset = samr_dissect_element_UserInfo5_full_name(tvb, offset, pinfo, tree, di, drep);
5043 offset = samr_dissect_element_UserInfo5_rid(tvb, offset, pinfo, tree, di, drep);
5045 offset = samr_dissect_element_UserInfo5_primary_gid(tvb, offset, pinfo, tree, di, drep);
5047 offset = samr_dissect_element_UserInfo5_home_directory(tvb, offset, pinfo, tree, di, drep);
5049 offset = samr_dissect_element_UserInfo5_home_drive(tvb, offset, pinfo, tree, di, drep);
5051 offset = samr_dissect_element_UserInfo5_logon_script(tvb, offset, pinfo, tree, di, drep);
5053 offset = samr_dissect_element_UserInfo5_profile_path(tvb, offset, pinfo, tree, di, drep);
5055 offset = samr_dissect_element_UserInfo5_description(tvb, offset, pinfo, tree, di, drep);
5057 offset = samr_dissect_element_UserInfo5_workstations(tvb, offset, pinfo, tree, di, drep);
5059 offset = samr_dissect_element_UserInfo5_last_logon(tvb, offset, pinfo, tree, di, drep);
5061 offset = samr_dissect_element_UserInfo5_last_logoff(tvb, offset, pinfo, tree, di, drep);
5063 offset = samr_dissect_element_UserInfo5_logon_hours(tvb, offset, pinfo, tree, di, drep);
5065 offset = samr_dissect_element_UserInfo5_bad_password_count(tvb, offset, pinfo, tree, di, drep);
5067 offset = samr_dissect_element_UserInfo5_logon_count(tvb, offset, pinfo, tree, di, drep);
5069 offset = samr_dissect_element_UserInfo5_last_password_change(tvb, offset, pinfo, tree, di, drep);
5071 offset = samr_dissect_element_UserInfo5_acct_expiry(tvb, offset, pinfo, tree, di, drep);
5073 offset = samr_dissect_element_UserInfo5_acct_flags(tvb, offset, pinfo, tree, di, drep);
5076 proto_item_set_len(item, offset-old_offset);
5079 if (di->call_data->flags & DCERPC_IS_NDR64) {
5080 ALIGN_TO_5_BYTES;
5083 return offset;
5087 /* IDL: struct { */
5088 /* IDL: lsa_String account_name; */
5089 /* IDL: lsa_String full_name; */
5090 /* IDL: } */
5092 static int
5093 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_, uint8_t *drep _U_)
5095 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo6_account_name);
5097 return offset;
5100 static int
5101 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_, uint8_t *drep _U_)
5103 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo6_full_name);
5105 return offset;
5109 samr_dissect_struct_UserInfo6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
5111 proto_item *item = NULL;
5112 proto_tree *tree = NULL;
5113 int old_offset;
5115 ALIGN_TO_5_BYTES;
5117 old_offset = offset;
5119 if (parent_tree) {
5120 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5121 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo6);
5124 offset = samr_dissect_element_UserInfo6_account_name(tvb, offset, pinfo, tree, di, drep);
5126 offset = samr_dissect_element_UserInfo6_full_name(tvb, offset, pinfo, tree, di, drep);
5129 proto_item_set_len(item, offset-old_offset);
5132 if (di->call_data->flags & DCERPC_IS_NDR64) {
5133 ALIGN_TO_5_BYTES;
5136 return offset;
5140 /* IDL: struct { */
5141 /* IDL: lsa_String account_name; */
5142 /* IDL: } */
5144 static int
5145 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_, uint8_t *drep _U_)
5147 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo7_account_name);
5149 return offset;
5153 samr_dissect_struct_UserInfo7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
5155 proto_item *item = NULL;
5156 proto_tree *tree = NULL;
5157 int old_offset;
5159 ALIGN_TO_5_BYTES;
5161 old_offset = offset;
5163 if (parent_tree) {
5164 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5165 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo7);
5168 offset = samr_dissect_element_UserInfo7_account_name(tvb, offset, pinfo, tree, di, drep);
5171 proto_item_set_len(item, offset-old_offset);
5174 if (di->call_data->flags & DCERPC_IS_NDR64) {
5175 ALIGN_TO_5_BYTES;
5178 return offset;
5182 /* IDL: struct { */
5183 /* IDL: lsa_String full_name; */
5184 /* IDL: } */
5186 static int
5187 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_, uint8_t *drep _U_)
5189 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo8_full_name);
5191 return offset;
5195 samr_dissect_struct_UserInfo8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
5197 proto_item *item = NULL;
5198 proto_tree *tree = NULL;
5199 int old_offset;
5201 ALIGN_TO_5_BYTES;
5203 old_offset = offset;
5205 if (parent_tree) {
5206 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5207 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo8);
5210 offset = samr_dissect_element_UserInfo8_full_name(tvb, offset, pinfo, tree, di, drep);
5213 proto_item_set_len(item, offset-old_offset);
5216 if (di->call_data->flags & DCERPC_IS_NDR64) {
5217 ALIGN_TO_5_BYTES;
5220 return offset;
5224 /* IDL: struct { */
5225 /* IDL: uint32 primary_gid; */
5226 /* IDL: } */
5228 static int
5229 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_, uint8_t *drep _U_)
5231 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo9_primary_gid, 0);
5233 return offset;
5237 samr_dissect_struct_UserInfo9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
5239 proto_item *item = NULL;
5240 proto_tree *tree = NULL;
5241 int old_offset;
5243 ALIGN_TO_4_BYTES;
5245 old_offset = offset;
5247 if (parent_tree) {
5248 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5249 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo9);
5252 offset = samr_dissect_element_UserInfo9_primary_gid(tvb, offset, pinfo, tree, di, drep);
5255 proto_item_set_len(item, offset-old_offset);
5258 if (di->call_data->flags & DCERPC_IS_NDR64) {
5259 ALIGN_TO_4_BYTES;
5262 return offset;
5266 /* IDL: struct { */
5267 /* IDL: lsa_String home_directory; */
5268 /* IDL: lsa_String home_drive; */
5269 /* IDL: } */
5271 static int
5272 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_, uint8_t *drep _U_)
5274 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo10_home_directory);
5276 return offset;
5279 static int
5280 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_, uint8_t *drep _U_)
5282 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo10_home_drive);
5284 return offset;
5288 samr_dissect_struct_UserInfo10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
5290 proto_item *item = NULL;
5291 proto_tree *tree = NULL;
5292 int old_offset;
5294 ALIGN_TO_5_BYTES;
5296 old_offset = offset;
5298 if (parent_tree) {
5299 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5300 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo10);
5303 offset = samr_dissect_element_UserInfo10_home_directory(tvb, offset, pinfo, tree, di, drep);
5305 offset = samr_dissect_element_UserInfo10_home_drive(tvb, offset, pinfo, tree, di, drep);
5308 proto_item_set_len(item, offset-old_offset);
5311 if (di->call_data->flags & DCERPC_IS_NDR64) {
5312 ALIGN_TO_5_BYTES;
5315 return offset;
5319 /* IDL: struct { */
5320 /* IDL: lsa_String logon_script; */
5321 /* IDL: } */
5323 static int
5324 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_, uint8_t *drep _U_)
5326 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo11_logon_script);
5328 return offset;
5332 samr_dissect_struct_UserInfo11(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
5334 proto_item *item = NULL;
5335 proto_tree *tree = NULL;
5336 int old_offset;
5338 ALIGN_TO_5_BYTES;
5340 old_offset = offset;
5342 if (parent_tree) {
5343 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5344 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo11);
5347 offset = samr_dissect_element_UserInfo11_logon_script(tvb, offset, pinfo, tree, di, drep);
5350 proto_item_set_len(item, offset-old_offset);
5353 if (di->call_data->flags & DCERPC_IS_NDR64) {
5354 ALIGN_TO_5_BYTES;
5357 return offset;
5361 /* IDL: struct { */
5362 /* IDL: lsa_String profile_path; */
5363 /* IDL: } */
5365 static int
5366 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_, uint8_t *drep _U_)
5368 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo12_profile_path);
5370 return offset;
5374 samr_dissect_struct_UserInfo12(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
5376 proto_item *item = NULL;
5377 proto_tree *tree = NULL;
5378 int old_offset;
5380 ALIGN_TO_5_BYTES;
5382 old_offset = offset;
5384 if (parent_tree) {
5385 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5386 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo12);
5389 offset = samr_dissect_element_UserInfo12_profile_path(tvb, offset, pinfo, tree, di, drep);
5392 proto_item_set_len(item, offset-old_offset);
5395 if (di->call_data->flags & DCERPC_IS_NDR64) {
5396 ALIGN_TO_5_BYTES;
5399 return offset;
5403 /* IDL: struct { */
5404 /* IDL: lsa_String description; */
5405 /* IDL: } */
5407 static int
5408 samr_dissect_element_UserInfo13_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5410 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo13_description);
5412 return offset;
5416 samr_dissect_struct_UserInfo13(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
5418 proto_item *item = NULL;
5419 proto_tree *tree = NULL;
5420 int old_offset;
5422 ALIGN_TO_5_BYTES;
5424 old_offset = offset;
5426 if (parent_tree) {
5427 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5428 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo13);
5431 offset = samr_dissect_element_UserInfo13_description(tvb, offset, pinfo, tree, di, drep);
5434 proto_item_set_len(item, offset-old_offset);
5437 if (di->call_data->flags & DCERPC_IS_NDR64) {
5438 ALIGN_TO_5_BYTES;
5441 return offset;
5445 /* IDL: struct { */
5446 /* IDL: lsa_String workstations; */
5447 /* IDL: } */
5449 static int
5450 samr_dissect_element_UserInfo14_workstations(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5452 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo14_workstations);
5454 return offset;
5458 samr_dissect_struct_UserInfo14(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
5460 proto_item *item = NULL;
5461 proto_tree *tree = NULL;
5462 int old_offset;
5464 ALIGN_TO_5_BYTES;
5466 old_offset = offset;
5468 if (parent_tree) {
5469 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5470 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo14);
5473 offset = samr_dissect_element_UserInfo14_workstations(tvb, offset, pinfo, tree, di, drep);
5476 proto_item_set_len(item, offset-old_offset);
5479 if (di->call_data->flags & DCERPC_IS_NDR64) {
5480 ALIGN_TO_5_BYTES;
5483 return offset;
5487 /* IDL: struct { */
5488 /* IDL: samr_AcctFlags acct_flags; */
5489 /* IDL: } */
5491 static int
5492 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_, uint8_t *drep _U_)
5494 offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo16_acct_flags, 0);
5496 return offset;
5500 samr_dissect_struct_UserInfo16(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
5502 proto_item *item = NULL;
5503 proto_tree *tree = NULL;
5504 int old_offset;
5506 ALIGN_TO_4_BYTES;
5508 old_offset = offset;
5510 if (parent_tree) {
5511 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5512 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo16);
5515 offset = samr_dissect_element_UserInfo16_acct_flags(tvb, offset, pinfo, tree, di, drep);
5518 proto_item_set_len(item, offset-old_offset);
5521 if (di->call_data->flags & DCERPC_IS_NDR64) {
5522 ALIGN_TO_4_BYTES;
5525 return offset;
5529 /* IDL: struct { */
5530 /* IDL: NTTIME acct_expiry; */
5531 /* IDL: } */
5533 static int
5534 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_, uint8_t *drep _U_)
5536 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo17_acct_expiry);
5538 return offset;
5542 samr_dissect_struct_UserInfo17(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
5544 proto_item *item = NULL;
5545 proto_tree *tree = NULL;
5546 int old_offset;
5548 ALIGN_TO_4_BYTES;
5550 old_offset = offset;
5552 if (parent_tree) {
5553 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5554 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo17);
5557 offset = samr_dissect_element_UserInfo17_acct_expiry(tvb, offset, pinfo, tree, di, drep);
5560 proto_item_set_len(item, offset-old_offset);
5563 if (di->call_data->flags & DCERPC_IS_NDR64) {
5564 ALIGN_TO_4_BYTES;
5567 return offset;
5571 /* IDL: struct { */
5572 /* IDL: uint8 hash[16]; */
5573 /* IDL: } */
5575 static int
5576 samr_dissect_element_Password_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5578 int i;
5579 for (i = 0; i < 16; i++)
5580 offset = samr_dissect_element_Password_hash_(tvb, offset, pinfo, tree, di, drep);
5582 return offset;
5585 static int
5586 samr_dissect_element_Password_hash_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5588 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Password_hash, 0);
5590 return offset;
5594 samr_dissect_struct_Password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
5596 proto_item *item = NULL;
5597 proto_tree *tree = NULL;
5598 int old_offset;
5600 old_offset = offset;
5602 if (parent_tree) {
5603 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5604 tree = proto_item_add_subtree(item, ett_samr_samr_Password);
5607 offset = samr_dissect_element_Password_hash(tvb, offset, pinfo, tree, di, drep);
5610 proto_item_set_len(item, offset-old_offset);
5613 return offset;
5617 /* IDL: struct { */
5618 /* IDL: samr_Password nt_pwd; */
5619 /* IDL: samr_Password lm_pwd; */
5620 /* IDL: uint8 nt_pwd_active; */
5621 /* IDL: uint8 lm_pwd_active; */
5622 /* IDL: uint8 password_expired; */
5623 /* IDL: } */
5625 static int
5626 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_, uint8_t *drep _U_)
5628 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo18_nt_pwd,0);
5630 return offset;
5633 static int
5634 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_, uint8_t *drep _U_)
5636 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo18_lm_pwd,0);
5638 return offset;
5641 static int
5642 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_, uint8_t *drep _U_)
5644 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo18_nt_pwd_active, 0);
5646 return offset;
5649 static int
5650 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_, uint8_t *drep _U_)
5652 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo18_lm_pwd_active, 0);
5654 return offset;
5657 static int
5658 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_, uint8_t *drep _U_)
5660 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo18_password_expired, 0);
5662 return offset;
5666 samr_dissect_struct_UserInfo18(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
5668 proto_item *item = NULL;
5669 proto_tree *tree = NULL;
5670 int old_offset;
5672 old_offset = offset;
5674 if (parent_tree) {
5675 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5676 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo18);
5679 offset = samr_dissect_element_UserInfo18_nt_pwd(tvb, offset, pinfo, tree, di, drep);
5681 offset = samr_dissect_element_UserInfo18_lm_pwd(tvb, offset, pinfo, tree, di, drep);
5683 offset = samr_dissect_element_UserInfo18_nt_pwd_active(tvb, offset, pinfo, tree, di, drep);
5685 offset = samr_dissect_element_UserInfo18_lm_pwd_active(tvb, offset, pinfo, tree, di, drep);
5687 offset = samr_dissect_element_UserInfo18_password_expired(tvb, offset, pinfo, tree, di, drep);
5690 proto_item_set_len(item, offset-old_offset);
5693 return offset;
5697 /* IDL: struct { */
5698 /* IDL: lsa_BinaryString parameters; */
5699 /* IDL: } */
5701 static int
5702 samr_dissect_element_UserInfo20_parameters(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5704 offset=lsarpc_dissect_struct_lsa_BinaryString(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo20_parameters, 0);
5706 return offset;
5710 samr_dissect_struct_UserInfo20(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
5712 proto_item *item = NULL;
5713 proto_tree *tree = NULL;
5714 int old_offset;
5716 ALIGN_TO_5_BYTES;
5718 old_offset = offset;
5720 if (parent_tree) {
5721 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
5722 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo20);
5725 offset = samr_dissect_element_UserInfo20_parameters(tvb, offset, pinfo, tree, di, drep);
5728 proto_item_set_len(item, offset-old_offset);
5731 if (di->call_data->flags & DCERPC_IS_NDR64) {
5732 ALIGN_TO_5_BYTES;
5735 return offset;
5739 /* IDL: bitmap { */
5740 /* IDL: SAMR_FIELD_ACCOUNT_NAME = 0x00000001 , */
5741 /* IDL: SAMR_FIELD_FULL_NAME = 0x00000002 , */
5742 /* IDL: SAMR_FIELD_RID = 0x00000004 , */
5743 /* IDL: SAMR_FIELD_PRIMARY_GID = 0x00000008 , */
5744 /* IDL: SAMR_FIELD_DESCRIPTION = 0x00000010 , */
5745 /* IDL: SAMR_FIELD_COMMENT = 0x00000020 , */
5746 /* IDL: SAMR_FIELD_HOME_DIRECTORY = 0x00000040 , */
5747 /* IDL: SAMR_FIELD_HOME_DRIVE = 0x00000080 , */
5748 /* IDL: SAMR_FIELD_LOGON_SCRIPT = 0x00000100 , */
5749 /* IDL: SAMR_FIELD_PROFILE_PATH = 0x00000200 , */
5750 /* IDL: SAMR_FIELD_WORKSTATIONS = 0x00000400 , */
5751 /* IDL: SAMR_FIELD_LAST_LOGON = 0x00000800 , */
5752 /* IDL: SAMR_FIELD_LAST_LOGOFF = 0x00001000 , */
5753 /* IDL: SAMR_FIELD_LOGON_HOURS = 0x00002000 , */
5754 /* IDL: SAMR_FIELD_BAD_PWD_COUNT = 0x00004000 , */
5755 /* IDL: SAMR_FIELD_NUM_LOGONS = 0x00008000 , */
5756 /* IDL: SAMR_FIELD_ALLOW_PWD_CHANGE = 0x00010000 , */
5757 /* IDL: SAMR_FIELD_FORCE_PWD_CHANGE = 0x00020000 , */
5758 /* IDL: SAMR_FIELD_LAST_PWD_CHANGE = 0x00040000 , */
5759 /* IDL: SAMR_FIELD_ACCT_EXPIRY = 0x00080000 , */
5760 /* IDL: SAMR_FIELD_ACCT_FLAGS = 0x00100000 , */
5761 /* IDL: SAMR_FIELD_PARAMETERS = 0x00200000 , */
5762 /* IDL: SAMR_FIELD_COUNTRY_CODE = 0x00400000 , */
5763 /* IDL: SAMR_FIELD_CODE_PAGE = 0x00800000 , */
5764 /* IDL: SAMR_FIELD_NT_PASSWORD_PRESENT = 0x01000000 , */
5765 /* IDL: SAMR_FIELD_LM_PASSWORD_PRESENT = 0x02000000 , */
5766 /* IDL: SAMR_FIELD_PRIVATE_DATA = 0x04000000 , */
5767 /* IDL: SAMR_FIELD_EXPIRED_FLAG = 0x08000000 , */
5768 /* IDL: SAMR_FIELD_SEC_DESC = 0x10000000 , */
5769 /* IDL: SAMR_FIELD_OWF_PWD = 0x20000000 , */
5770 /* IDL: } */
5773 samr_dissect_bitmap_FieldsPresent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
5775 proto_item *item;
5776 static int * const samr_samr_FieldsPresent_fields[] = {
5777 &hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCOUNT_NAME,
5778 &hf_samr_samr_FieldsPresent_SAMR_FIELD_FULL_NAME,
5779 &hf_samr_samr_FieldsPresent_SAMR_FIELD_RID,
5780 &hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIMARY_GID,
5781 &hf_samr_samr_FieldsPresent_SAMR_FIELD_DESCRIPTION,
5782 &hf_samr_samr_FieldsPresent_SAMR_FIELD_COMMENT,
5783 &hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DIRECTORY,
5784 &hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DRIVE,
5785 &hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_SCRIPT,
5786 &hf_samr_samr_FieldsPresent_SAMR_FIELD_PROFILE_PATH,
5787 &hf_samr_samr_FieldsPresent_SAMR_FIELD_WORKSTATIONS,
5788 &hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGON,
5789 &hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGOFF,
5790 &hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_HOURS,
5791 &hf_samr_samr_FieldsPresent_SAMR_FIELD_BAD_PWD_COUNT,
5792 &hf_samr_samr_FieldsPresent_SAMR_FIELD_NUM_LOGONS,
5793 &hf_samr_samr_FieldsPresent_SAMR_FIELD_ALLOW_PWD_CHANGE,
5794 &hf_samr_samr_FieldsPresent_SAMR_FIELD_FORCE_PWD_CHANGE,
5795 &hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_PWD_CHANGE,
5796 &hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_EXPIRY,
5797 &hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_FLAGS,
5798 &hf_samr_samr_FieldsPresent_SAMR_FIELD_PARAMETERS,
5799 &hf_samr_samr_FieldsPresent_SAMR_FIELD_COUNTRY_CODE,
5800 &hf_samr_samr_FieldsPresent_SAMR_FIELD_CODE_PAGE,
5801 &hf_samr_samr_FieldsPresent_SAMR_FIELD_NT_PASSWORD_PRESENT,
5802 &hf_samr_samr_FieldsPresent_SAMR_FIELD_LM_PASSWORD_PRESENT,
5803 &hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIVATE_DATA,
5804 &hf_samr_samr_FieldsPresent_SAMR_FIELD_EXPIRED_FLAG,
5805 &hf_samr_samr_FieldsPresent_SAMR_FIELD_SEC_DESC,
5806 &hf_samr_samr_FieldsPresent_SAMR_FIELD_OWF_PWD,
5807 NULL
5809 uint32_t flags;
5810 ALIGN_TO_4_BYTES;
5812 item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
5813 ett_samr_samr_FieldsPresent, samr_samr_FieldsPresent_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
5815 offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
5817 if (!flags)
5818 proto_item_append_text(item, ": (No values set)");
5820 if (flags & (~0x3fffffff)) {
5821 flags &= (~0x3fffffff);
5822 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
5825 return offset;
5829 /* IDL: struct { */
5830 /* IDL: NTTIME last_logon; */
5831 /* IDL: NTTIME last_logoff; */
5832 /* IDL: NTTIME last_password_change; */
5833 /* IDL: NTTIME acct_expiry; */
5834 /* IDL: NTTIME allow_password_change; */
5835 /* IDL: NTTIME force_password_change; */
5836 /* IDL: lsa_String account_name; */
5837 /* IDL: lsa_String full_name; */
5838 /* IDL: lsa_String home_directory; */
5839 /* IDL: lsa_String home_drive; */
5840 /* IDL: lsa_String logon_script; */
5841 /* IDL: lsa_String profile_path; */
5842 /* IDL: lsa_String description; */
5843 /* IDL: lsa_String workstations; */
5844 /* IDL: lsa_String comment; */
5845 /* IDL: lsa_BinaryString parameters; */
5846 /* IDL: lsa_BinaryString lm_owf_password; */
5847 /* IDL: lsa_BinaryString nt_owf_password; */
5848 /* IDL: lsa_String private_data; */
5849 /* IDL: uint32 buf_count; */
5850 /* IDL: [size_is(buf_count)] [unique(1)] uint8 *buffer; */
5851 /* IDL: uint32 rid; */
5852 /* IDL: uint32 primary_gid; */
5853 /* IDL: samr_AcctFlags acct_flags; */
5854 /* IDL: samr_FieldsPresent fields_present; */
5855 /* IDL: samr_LogonHours logon_hours; */
5856 /* IDL: uint16 bad_password_count; */
5857 /* IDL: uint16 logon_count; */
5858 /* IDL: uint16 country_code; */
5859 /* IDL: uint16 code_page; */
5860 /* IDL: uint8 lm_password_set; */
5861 /* IDL: uint8 nt_password_set; */
5862 /* IDL: uint8 password_expired; */
5863 /* IDL: uint8 private_data_sensitive; */
5864 /* IDL: } */
5866 static int
5867 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_, uint8_t *drep _U_)
5869 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_last_logon);
5871 return offset;
5874 static int
5875 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_, uint8_t *drep _U_)
5877 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_last_logoff);
5879 return offset;
5882 static int
5883 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_, uint8_t *drep _U_)
5885 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_last_password_change);
5887 return offset;
5890 static int
5891 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_, uint8_t *drep _U_)
5893 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_acct_expiry);
5895 return offset;
5898 static int
5899 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_, uint8_t *drep _U_)
5901 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_allow_password_change);
5903 return offset;
5906 static int
5907 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_, uint8_t *drep _U_)
5909 offset = dissect_ndr_nt_NTTIME(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_force_password_change);
5911 return offset;
5914 static int
5915 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_, uint8_t *drep _U_)
5917 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_account_name);
5919 return offset;
5922 static int
5923 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_, uint8_t *drep _U_)
5925 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_full_name);
5927 return offset;
5930 static int
5931 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_, uint8_t *drep _U_)
5933 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_home_directory);
5935 return offset;
5938 static int
5939 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_, uint8_t *drep _U_)
5941 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_home_drive);
5943 return offset;
5946 static int
5947 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_, uint8_t *drep _U_)
5949 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_logon_script);
5951 return offset;
5954 static int
5955 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_, uint8_t *drep _U_)
5957 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_profile_path);
5959 return offset;
5962 static int
5963 samr_dissect_element_UserInfo21_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5965 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_description);
5967 return offset;
5970 static int
5971 samr_dissect_element_UserInfo21_workstations(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5973 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_workstations);
5975 return offset;
5978 static int
5979 samr_dissect_element_UserInfo21_comment(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5981 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_comment);
5983 return offset;
5986 static int
5987 samr_dissect_element_UserInfo21_parameters(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5989 offset=lsarpc_dissect_struct_lsa_BinaryString(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_parameters, 0);
5991 return offset;
5994 static int
5995 samr_dissect_element_UserInfo21_lm_owf_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
5997 offset=lsarpc_dissect_struct_lsa_BinaryString(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_lm_owf_password, 0);
5999 return offset;
6002 static int
6003 samr_dissect_element_UserInfo21_nt_owf_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6005 offset=lsarpc_dissect_struct_lsa_BinaryString(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_nt_owf_password, 0);
6007 return offset;
6010 static int
6011 samr_dissect_element_UserInfo21_private_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6013 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_UserInfo21_private_data);
6015 return offset;
6018 static int
6019 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_, uint8_t *drep _U_)
6021 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_buf_count, 0);
6023 return offset;
6026 static int
6027 samr_dissect_element_UserInfo21_buffer(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6029 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);
6031 return offset;
6034 static int
6035 samr_dissect_element_UserInfo21_buffer_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6037 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_UserInfo21_buffer__);
6039 return offset;
6042 static int
6043 samr_dissect_element_UserInfo21_buffer__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6045 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_buffer, 0);
6047 return offset;
6050 static int
6051 samr_dissect_element_UserInfo21_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6053 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
6055 return offset;
6058 static int
6059 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_, uint8_t *drep _U_)
6061 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_primary_gid, 0);
6063 return offset;
6066 static int
6067 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_, uint8_t *drep _U_)
6069 offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_acct_flags, 0);
6071 return offset;
6074 static int
6075 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_, uint8_t *drep _U_)
6077 offset = samr_dissect_bitmap_FieldsPresent(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_fields_present, 0);
6079 return offset;
6082 static int
6083 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_, uint8_t *drep _U_)
6085 offset = samr_dissect_struct_LogonHours(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo21_logon_hours,0);
6087 return offset;
6090 static int
6091 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_, uint8_t *drep _U_)
6093 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_bad_password_count, 0);
6095 return offset;
6098 static int
6099 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_, uint8_t *drep _U_)
6101 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_logon_count, 0);
6103 return offset;
6106 static int
6107 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_, uint8_t *drep _U_)
6109 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_country_code, 0);
6111 return offset;
6114 static int
6115 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_, uint8_t *drep _U_)
6117 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_code_page, 0);
6119 return offset;
6122 static int
6123 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_, uint8_t *drep _U_)
6125 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_lm_password_set, 0);
6127 return offset;
6130 static int
6131 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_, uint8_t *drep _U_)
6133 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_nt_password_set, 0);
6135 return offset;
6138 static int
6139 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_, uint8_t *drep _U_)
6141 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_password_expired, 0);
6143 return offset;
6146 static int
6147 samr_dissect_element_UserInfo21_private_data_sensitive(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6149 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo21_private_data_sensitive, 0);
6151 return offset;
6155 samr_dissect_struct_UserInfo21(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
6157 proto_item *item = NULL;
6158 proto_tree *tree = NULL;
6159 int old_offset;
6161 ALIGN_TO_5_BYTES;
6163 old_offset = offset;
6165 if (parent_tree) {
6166 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6167 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo21);
6170 offset = samr_dissect_element_UserInfo21_last_logon(tvb, offset, pinfo, tree, di, drep);
6172 offset = samr_dissect_element_UserInfo21_last_logoff(tvb, offset, pinfo, tree, di, drep);
6174 offset = samr_dissect_element_UserInfo21_last_password_change(tvb, offset, pinfo, tree, di, drep);
6176 offset = samr_dissect_element_UserInfo21_acct_expiry(tvb, offset, pinfo, tree, di, drep);
6178 offset = samr_dissect_element_UserInfo21_allow_password_change(tvb, offset, pinfo, tree, di, drep);
6180 offset = samr_dissect_element_UserInfo21_force_password_change(tvb, offset, pinfo, tree, di, drep);
6182 offset = samr_dissect_element_UserInfo21_account_name(tvb, offset, pinfo, tree, di, drep);
6184 offset = samr_dissect_element_UserInfo21_full_name(tvb, offset, pinfo, tree, di, drep);
6186 offset = samr_dissect_element_UserInfo21_home_directory(tvb, offset, pinfo, tree, di, drep);
6188 offset = samr_dissect_element_UserInfo21_home_drive(tvb, offset, pinfo, tree, di, drep);
6190 offset = samr_dissect_element_UserInfo21_logon_script(tvb, offset, pinfo, tree, di, drep);
6192 offset = samr_dissect_element_UserInfo21_profile_path(tvb, offset, pinfo, tree, di, drep);
6194 offset = samr_dissect_element_UserInfo21_description(tvb, offset, pinfo, tree, di, drep);
6196 offset = samr_dissect_element_UserInfo21_workstations(tvb, offset, pinfo, tree, di, drep);
6198 offset = samr_dissect_element_UserInfo21_comment(tvb, offset, pinfo, tree, di, drep);
6200 offset = samr_dissect_element_UserInfo21_parameters(tvb, offset, pinfo, tree, di, drep);
6202 offset = samr_dissect_element_UserInfo21_lm_owf_password(tvb, offset, pinfo, tree, di, drep);
6204 offset = samr_dissect_element_UserInfo21_nt_owf_password(tvb, offset, pinfo, tree, di, drep);
6206 offset = samr_dissect_element_UserInfo21_private_data(tvb, offset, pinfo, tree, di, drep);
6208 offset = samr_dissect_element_UserInfo21_buf_count(tvb, offset, pinfo, tree, di, drep);
6210 offset = samr_dissect_element_UserInfo21_buffer(tvb, offset, pinfo, tree, di, drep);
6212 offset = samr_dissect_element_UserInfo21_rid(tvb, offset, pinfo, tree, di, drep);
6214 offset = samr_dissect_element_UserInfo21_primary_gid(tvb, offset, pinfo, tree, di, drep);
6216 offset = samr_dissect_element_UserInfo21_acct_flags(tvb, offset, pinfo, tree, di, drep);
6218 offset = samr_dissect_element_UserInfo21_fields_present(tvb, offset, pinfo, tree, di, drep);
6220 offset = samr_dissect_element_UserInfo21_logon_hours(tvb, offset, pinfo, tree, di, drep);
6222 offset = samr_dissect_element_UserInfo21_bad_password_count(tvb, offset, pinfo, tree, di, drep);
6224 offset = samr_dissect_element_UserInfo21_logon_count(tvb, offset, pinfo, tree, di, drep);
6226 offset = samr_dissect_element_UserInfo21_country_code(tvb, offset, pinfo, tree, di, drep);
6228 offset = samr_dissect_element_UserInfo21_code_page(tvb, offset, pinfo, tree, di, drep);
6230 offset = samr_dissect_element_UserInfo21_lm_password_set(tvb, offset, pinfo, tree, di, drep);
6232 offset = samr_dissect_element_UserInfo21_nt_password_set(tvb, offset, pinfo, tree, di, drep);
6234 offset = samr_dissect_element_UserInfo21_password_expired(tvb, offset, pinfo, tree, di, drep);
6236 offset = samr_dissect_element_UserInfo21_private_data_sensitive(tvb, offset, pinfo, tree, di, drep);
6239 proto_item_set_len(item, offset-old_offset);
6242 if (di->call_data->flags & DCERPC_IS_NDR64) {
6243 ALIGN_TO_5_BYTES;
6246 return offset;
6250 /* IDL: struct { */
6251 /* IDL: uint8 data[516]; */
6252 /* IDL: } */
6254 static int
6255 samr_dissect_element_CryptPassword_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6257 int i;
6258 for (i = 0; i < 516; i++)
6259 offset = samr_dissect_element_CryptPassword_data_(tvb, offset, pinfo, tree, di, drep);
6261 return offset;
6264 static int
6265 samr_dissect_element_CryptPassword_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6267 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_CryptPassword_data, 0);
6269 return offset;
6273 samr_dissect_struct_CryptPassword(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
6275 proto_item *item = NULL;
6276 proto_tree *tree = NULL;
6277 int old_offset;
6279 old_offset = offset;
6281 if (parent_tree) {
6282 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6283 tree = proto_item_add_subtree(item, ett_samr_samr_CryptPassword);
6286 offset = samr_dissect_element_CryptPassword_data(tvb, offset, pinfo, tree, di, drep);
6289 proto_item_set_len(item, offset-old_offset);
6292 return offset;
6296 /* IDL: struct { */
6297 /* IDL: samr_UserInfo21 info; */
6298 /* IDL: samr_CryptPassword password; */
6299 /* IDL: } */
6301 static int
6302 samr_dissect_element_UserInfo23_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6304 offset = samr_dissect_struct_UserInfo21(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo23_info,0);
6306 return offset;
6309 static int
6310 samr_dissect_element_UserInfo23_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6312 offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo23_password,0);
6314 return offset;
6318 samr_dissect_struct_UserInfo23(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
6320 proto_item *item = NULL;
6321 proto_tree *tree = NULL;
6322 int old_offset;
6324 ALIGN_TO_5_BYTES;
6326 old_offset = offset;
6328 if (parent_tree) {
6329 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6330 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo23);
6333 offset = samr_dissect_element_UserInfo23_info(tvb, offset, pinfo, tree, di, drep);
6335 offset = samr_dissect_element_UserInfo23_password(tvb, offset, pinfo, tree, di, drep);
6338 proto_item_set_len(item, offset-old_offset);
6341 if (di->call_data->flags & DCERPC_IS_NDR64) {
6342 ALIGN_TO_5_BYTES;
6345 return offset;
6349 /* IDL: struct { */
6350 /* IDL: samr_CryptPassword password; */
6351 /* IDL: uint8 password_expired; */
6352 /* IDL: } */
6354 static int
6355 samr_dissect_element_UserInfo24_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6357 offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo24_password,0);
6359 return offset;
6362 static int
6363 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_, uint8_t *drep _U_)
6365 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo24_password_expired, 0);
6367 return offset;
6371 samr_dissect_struct_UserInfo24(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
6373 proto_item *item = NULL;
6374 proto_tree *tree = NULL;
6375 int old_offset;
6377 old_offset = offset;
6379 if (parent_tree) {
6380 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6381 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo24);
6384 offset = samr_dissect_element_UserInfo24_password(tvb, offset, pinfo, tree, di, drep);
6386 offset = samr_dissect_element_UserInfo24_password_expired(tvb, offset, pinfo, tree, di, drep);
6389 proto_item_set_len(item, offset-old_offset);
6392 return offset;
6396 /* IDL: struct { */
6397 /* IDL: uint8 data[532]; */
6398 /* IDL: } */
6400 static int
6401 samr_dissect_element_CryptPasswordEx_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6403 int i;
6404 for (i = 0; i < 532; i++)
6405 offset = samr_dissect_element_CryptPasswordEx_data_(tvb, offset, pinfo, tree, di, drep);
6407 return offset;
6410 static int
6411 samr_dissect_element_CryptPasswordEx_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6413 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_CryptPasswordEx_data, 0);
6415 return offset;
6419 samr_dissect_struct_CryptPasswordEx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
6421 proto_item *item = NULL;
6422 proto_tree *tree = NULL;
6423 int old_offset;
6425 old_offset = offset;
6427 if (parent_tree) {
6428 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6429 tree = proto_item_add_subtree(item, ett_samr_samr_CryptPasswordEx);
6432 offset = samr_dissect_element_CryptPasswordEx_data(tvb, offset, pinfo, tree, di, drep);
6435 proto_item_set_len(item, offset-old_offset);
6438 return offset;
6442 /* IDL: struct { */
6443 /* IDL: samr_UserInfo21 info; */
6444 /* IDL: samr_CryptPasswordEx password; */
6445 /* IDL: } */
6447 static int
6448 samr_dissect_element_UserInfo25_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6450 offset = samr_dissect_struct_UserInfo21(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo25_info,0);
6452 return offset;
6455 static int
6456 samr_dissect_element_UserInfo25_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6458 offset = samr_dissect_struct_CryptPasswordEx(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo25_password,0);
6460 return offset;
6464 samr_dissect_struct_UserInfo25(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
6466 proto_item *item = NULL;
6467 proto_tree *tree = NULL;
6468 int old_offset;
6470 ALIGN_TO_5_BYTES;
6472 old_offset = offset;
6474 if (parent_tree) {
6475 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6476 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo25);
6479 offset = samr_dissect_element_UserInfo25_info(tvb, offset, pinfo, tree, di, drep);
6481 offset = samr_dissect_element_UserInfo25_password(tvb, offset, pinfo, tree, di, drep);
6484 proto_item_set_len(item, offset-old_offset);
6487 if (di->call_data->flags & DCERPC_IS_NDR64) {
6488 ALIGN_TO_5_BYTES;
6491 return offset;
6495 /* IDL: struct { */
6496 /* IDL: samr_CryptPasswordEx password; */
6497 /* IDL: uint8 password_expired; */
6498 /* IDL: } */
6500 static int
6501 samr_dissect_element_UserInfo26_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6503 offset = samr_dissect_struct_CryptPasswordEx(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo26_password,0);
6505 return offset;
6508 static int
6509 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_, uint8_t *drep _U_)
6511 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo26_password_expired, 0);
6513 return offset;
6517 samr_dissect_struct_UserInfo26(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
6519 proto_item *item = NULL;
6520 proto_tree *tree = NULL;
6521 int old_offset;
6523 old_offset = offset;
6525 if (parent_tree) {
6526 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6527 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo26);
6530 offset = samr_dissect_element_UserInfo26_password(tvb, offset, pinfo, tree, di, drep);
6532 offset = samr_dissect_element_UserInfo26_password_expired(tvb, offset, pinfo, tree, di, drep);
6535 proto_item_set_len(item, offset-old_offset);
6538 return offset;
6542 /* IDL: struct { */
6543 /* IDL: uint8 auth_data[64]; */
6544 /* IDL: uint8 salt[16]; */
6545 /* IDL: uint32 cipher_len; */
6546 /* IDL: [size_is(cipher_len)] [unique(1)] uint8 *cipher; */
6547 /* IDL: hyper PBKDF2Iterations; */
6548 /* IDL: } */
6550 static int
6551 samr_dissect_element_EncryptedPasswordAES_auth_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6553 int i;
6554 for (i = 0; i < 64; i++)
6555 offset = samr_dissect_element_EncryptedPasswordAES_auth_data_(tvb, offset, pinfo, tree, di, drep);
6557 return offset;
6560 static int
6561 samr_dissect_element_EncryptedPasswordAES_auth_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6563 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EncryptedPasswordAES_auth_data, 0);
6565 return offset;
6568 static int
6569 samr_dissect_element_EncryptedPasswordAES_salt(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6571 int i;
6572 for (i = 0; i < 16; i++)
6573 offset = samr_dissect_element_EncryptedPasswordAES_salt_(tvb, offset, pinfo, tree, di, drep);
6575 return offset;
6578 static int
6579 samr_dissect_element_EncryptedPasswordAES_salt_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6581 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EncryptedPasswordAES_salt, 0);
6583 return offset;
6586 static int
6587 samr_dissect_element_EncryptedPasswordAES_cipher_len(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6589 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EncryptedPasswordAES_cipher_len, 0);
6591 return offset;
6594 static int
6595 samr_dissect_element_EncryptedPasswordAES_cipher(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6597 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EncryptedPasswordAES_cipher_, NDR_POINTER_UNIQUE, "Pointer to Cipher (uint8)",hf_samr_samr_EncryptedPasswordAES_cipher);
6599 return offset;
6602 static int
6603 samr_dissect_element_EncryptedPasswordAES_cipher_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6605 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_EncryptedPasswordAES_cipher__);
6607 return offset;
6610 static int
6611 samr_dissect_element_EncryptedPasswordAES_cipher__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6613 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EncryptedPasswordAES_cipher, 0);
6615 return offset;
6618 static int
6619 samr_dissect_element_EncryptedPasswordAES_PBKDF2Iterations(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6621 offset=cnf_dissect_hyper(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_EncryptedPasswordAES_PBKDF2Iterations);
6623 return offset;
6627 samr_dissect_struct_EncryptedPasswordAES(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
6629 proto_item *item = NULL;
6630 proto_tree *tree = NULL;
6631 int old_offset;
6633 ALIGN_TO_8_BYTES;
6635 old_offset = offset;
6637 if (parent_tree) {
6638 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6639 tree = proto_item_add_subtree(item, ett_samr_samr_EncryptedPasswordAES);
6642 offset = samr_dissect_element_EncryptedPasswordAES_auth_data(tvb, offset, pinfo, tree, di, drep);
6644 offset = samr_dissect_element_EncryptedPasswordAES_salt(tvb, offset, pinfo, tree, di, drep);
6646 offset = samr_dissect_element_EncryptedPasswordAES_cipher_len(tvb, offset, pinfo, tree, di, drep);
6648 offset = samr_dissect_element_EncryptedPasswordAES_cipher(tvb, offset, pinfo, tree, di, drep);
6650 offset = samr_dissect_element_EncryptedPasswordAES_PBKDF2Iterations(tvb, offset, pinfo, tree, di, drep);
6653 proto_item_set_len(item, offset-old_offset);
6656 if (di->call_data->flags & DCERPC_IS_NDR64) {
6657 ALIGN_TO_8_BYTES;
6660 return offset;
6664 /* IDL: struct { */
6665 /* IDL: samr_EncryptedPasswordAES password; */
6666 /* IDL: uint8 password_expired; */
6667 /* IDL: } */
6669 static int
6670 samr_dissect_element_UserInfo31_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6672 offset = samr_dissect_struct_EncryptedPasswordAES(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo31_password,0);
6674 return offset;
6677 static int
6678 samr_dissect_element_UserInfo31_password_expired(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6680 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_UserInfo31_password_expired, 0);
6682 return offset;
6686 samr_dissect_struct_UserInfo31(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
6688 proto_item *item = NULL;
6689 proto_tree *tree = NULL;
6690 int old_offset;
6692 ALIGN_TO_8_BYTES;
6694 old_offset = offset;
6696 if (parent_tree) {
6697 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6698 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo31);
6701 offset = samr_dissect_element_UserInfo31_password(tvb, offset, pinfo, tree, di, drep);
6703 offset = samr_dissect_element_UserInfo31_password_expired(tvb, offset, pinfo, tree, di, drep);
6706 proto_item_set_len(item, offset-old_offset);
6709 if (di->call_data->flags & DCERPC_IS_NDR64) {
6710 ALIGN_TO_8_BYTES;
6713 return offset;
6717 /* IDL: struct { */
6718 /* IDL: samr_UserInfo21 info; */
6719 /* IDL: samr_EncryptedPasswordAES password; */
6720 /* IDL: } */
6722 static int
6723 samr_dissect_element_UserInfo32_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6725 offset = samr_dissect_struct_UserInfo21(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo32_info,0);
6727 return offset;
6730 static int
6731 samr_dissect_element_UserInfo32_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6733 offset = samr_dissect_struct_EncryptedPasswordAES(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo32_password,0);
6735 return offset;
6739 samr_dissect_struct_UserInfo32(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
6741 proto_item *item = NULL;
6742 proto_tree *tree = NULL;
6743 int old_offset;
6745 ALIGN_TO_8_BYTES;
6747 old_offset = offset;
6749 if (parent_tree) {
6750 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
6751 tree = proto_item_add_subtree(item, ett_samr_samr_UserInfo32);
6754 offset = samr_dissect_element_UserInfo32_info(tvb, offset, pinfo, tree, di, drep);
6756 offset = samr_dissect_element_UserInfo32_password(tvb, offset, pinfo, tree, di, drep);
6759 proto_item_set_len(item, offset-old_offset);
6762 if (di->call_data->flags & DCERPC_IS_NDR64) {
6763 ALIGN_TO_8_BYTES;
6766 return offset;
6770 /* IDL: [switch_type(uint16)] union { */
6771 /* IDL: [case(1)] [case(1)] samr_UserInfo1 info1; */
6772 /* IDL: [case(2)] [case(2)] samr_UserInfo2 info2; */
6773 /* IDL: [case(3)] [case(3)] samr_UserInfo3 info3; */
6774 /* IDL: [case(4)] [case(4)] samr_UserInfo4 info4; */
6775 /* IDL: [case(5)] [case(5)] samr_UserInfo5 info5; */
6776 /* IDL: [case(6)] [case(6)] samr_UserInfo6 info6; */
6777 /* IDL: [case(7)] [case(7)] samr_UserInfo7 info7; */
6778 /* IDL: [case(8)] [case(8)] samr_UserInfo8 info8; */
6779 /* IDL: [case(9)] [case(9)] samr_UserInfo9 info9; */
6780 /* IDL: [case(10)] [case(10)] samr_UserInfo10 info10; */
6781 /* IDL: [case(11)] [case(11)] samr_UserInfo11 info11; */
6782 /* IDL: [case(12)] [case(12)] samr_UserInfo12 info12; */
6783 /* IDL: [case(13)] [case(13)] samr_UserInfo13 info13; */
6784 /* IDL: [case(14)] [case(14)] samr_UserInfo14 info14; */
6785 /* IDL: [case(16)] [case(16)] samr_UserInfo16 info16; */
6786 /* IDL: [case(17)] [case(17)] samr_UserInfo17 info17; */
6787 /* IDL: [case(18)] [case(18)] samr_UserInfo18 info18; */
6788 /* IDL: [case(20)] [case(20)] samr_UserInfo20 info20; */
6789 /* IDL: [case(21)] [case(21)] samr_UserInfo21 info21; */
6790 /* IDL: [case(23)] [case(23)] samr_UserInfo23 info23; */
6791 /* IDL: [case(24)] [case(24)] samr_UserInfo24 info24; */
6792 /* IDL: [case(25)] [case(25)] samr_UserInfo25 info25; */
6793 /* IDL: [case(26)] [case(26)] samr_UserInfo26 info26; */
6794 /* IDL: [case(31)] [case(31)] samr_UserInfo31 info31; */
6795 /* IDL: [case(32)] [case(32)] samr_UserInfo32 info32; */
6796 /* IDL: } */
6798 static int
6799 samr_dissect_element_UserInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6801 offset = samr_dissect_struct_UserInfo1(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info1,0);
6803 return offset;
6806 static int
6807 samr_dissect_element_UserInfo_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6809 offset = samr_dissect_struct_UserInfo2(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info2,0);
6811 return offset;
6814 static int
6815 samr_dissect_element_UserInfo_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6817 offset = samr_dissect_struct_UserInfo3(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info3,0);
6819 return offset;
6822 static int
6823 samr_dissect_element_UserInfo_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6825 offset = samr_dissect_struct_UserInfo4(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info4,0);
6827 return offset;
6830 static int
6831 samr_dissect_element_UserInfo_info5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6833 offset = samr_dissect_struct_UserInfo5(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info5,0);
6835 return offset;
6838 static int
6839 samr_dissect_element_UserInfo_info6(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6841 offset = samr_dissect_struct_UserInfo6(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info6,0);
6843 return offset;
6846 static int
6847 samr_dissect_element_UserInfo_info7(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6849 offset = samr_dissect_struct_UserInfo7(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info7,0);
6851 return offset;
6854 static int
6855 samr_dissect_element_UserInfo_info8(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6857 offset = samr_dissect_struct_UserInfo8(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info8,0);
6859 return offset;
6862 static int
6863 samr_dissect_element_UserInfo_info9(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6865 offset = samr_dissect_struct_UserInfo9(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info9,0);
6867 return offset;
6870 static int
6871 samr_dissect_element_UserInfo_info10(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6873 offset = samr_dissect_struct_UserInfo10(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info10,0);
6875 return offset;
6878 static int
6879 samr_dissect_element_UserInfo_info11(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6881 offset = samr_dissect_struct_UserInfo11(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info11,0);
6883 return offset;
6886 static int
6887 samr_dissect_element_UserInfo_info12(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6889 offset = samr_dissect_struct_UserInfo12(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info12,0);
6891 return offset;
6894 static int
6895 samr_dissect_element_UserInfo_info13(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6897 offset = samr_dissect_struct_UserInfo13(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info13,0);
6899 return offset;
6902 static int
6903 samr_dissect_element_UserInfo_info14(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6905 offset = samr_dissect_struct_UserInfo14(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info14,0);
6907 return offset;
6910 static int
6911 samr_dissect_element_UserInfo_info16(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6913 offset = samr_dissect_struct_UserInfo16(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info16,0);
6915 return offset;
6918 static int
6919 samr_dissect_element_UserInfo_info17(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6921 offset = samr_dissect_struct_UserInfo17(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info17,0);
6923 return offset;
6926 static int
6927 samr_dissect_element_UserInfo_info18(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6929 offset = samr_dissect_struct_UserInfo18(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info18,0);
6931 return offset;
6934 static int
6935 samr_dissect_element_UserInfo_info20(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6937 offset = samr_dissect_struct_UserInfo20(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info20,0);
6939 return offset;
6942 static int
6943 samr_dissect_element_UserInfo_info21(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6945 offset = samr_dissect_struct_UserInfo21(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info21,0);
6947 return offset;
6950 static int
6951 samr_dissect_element_UserInfo_info23(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6953 offset = samr_dissect_struct_UserInfo23(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info23,0);
6955 return offset;
6958 static int
6959 samr_dissect_element_UserInfo_info24(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6961 offset = samr_dissect_struct_UserInfo24(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info24,0);
6963 return offset;
6966 static int
6967 samr_dissect_element_UserInfo_info25(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6969 offset = samr_dissect_struct_UserInfo25(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info25,0);
6971 return offset;
6974 static int
6975 samr_dissect_element_UserInfo_info26(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6977 offset = samr_dissect_struct_UserInfo26(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info26,0);
6979 return offset;
6982 static int
6983 samr_dissect_element_UserInfo_info31(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6985 offset = samr_dissect_struct_UserInfo31(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info31,0);
6987 return offset;
6990 static int
6991 samr_dissect_element_UserInfo_info32(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
6993 offset = samr_dissect_struct_UserInfo32(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_UserInfo_info32,0);
6995 return offset;
6998 static int
6999 samr_dissect_UserInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
7001 proto_item *item = NULL;
7002 proto_tree *tree = NULL;
7003 int old_offset;
7004 uint16_t level;
7006 old_offset = offset;
7007 if (parent_tree) {
7008 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_samr_samr_UserInfo, &item, "samr_UserInfo");
7011 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
7012 ALIGN_TO_8_BYTES;
7014 switch(level) {
7015 case 1:
7016 offset = samr_dissect_element_UserInfo_info1(tvb, offset, pinfo, tree, di, drep);
7017 break;
7019 case 2:
7020 offset = samr_dissect_element_UserInfo_info2(tvb, offset, pinfo, tree, di, drep);
7021 break;
7023 case 3:
7024 offset = samr_dissect_element_UserInfo_info3(tvb, offset, pinfo, tree, di, drep);
7025 break;
7027 case 4:
7028 offset = samr_dissect_element_UserInfo_info4(tvb, offset, pinfo, tree, di, drep);
7029 break;
7031 case 5:
7032 offset = samr_dissect_element_UserInfo_info5(tvb, offset, pinfo, tree, di, drep);
7033 break;
7035 case 6:
7036 offset = samr_dissect_element_UserInfo_info6(tvb, offset, pinfo, tree, di, drep);
7037 break;
7039 case 7:
7040 offset = samr_dissect_element_UserInfo_info7(tvb, offset, pinfo, tree, di, drep);
7041 break;
7043 case 8:
7044 offset = samr_dissect_element_UserInfo_info8(tvb, offset, pinfo, tree, di, drep);
7045 break;
7047 case 9:
7048 offset = samr_dissect_element_UserInfo_info9(tvb, offset, pinfo, tree, di, drep);
7049 break;
7051 case 10:
7052 offset = samr_dissect_element_UserInfo_info10(tvb, offset, pinfo, tree, di, drep);
7053 break;
7055 case 11:
7056 offset = samr_dissect_element_UserInfo_info11(tvb, offset, pinfo, tree, di, drep);
7057 break;
7059 case 12:
7060 offset = samr_dissect_element_UserInfo_info12(tvb, offset, pinfo, tree, di, drep);
7061 break;
7063 case 13:
7064 offset = samr_dissect_element_UserInfo_info13(tvb, offset, pinfo, tree, di, drep);
7065 break;
7067 case 14:
7068 offset = samr_dissect_element_UserInfo_info14(tvb, offset, pinfo, tree, di, drep);
7069 break;
7071 case 16:
7072 offset = samr_dissect_element_UserInfo_info16(tvb, offset, pinfo, tree, di, drep);
7073 break;
7075 case 17:
7076 offset = samr_dissect_element_UserInfo_info17(tvb, offset, pinfo, tree, di, drep);
7077 break;
7079 case 18:
7080 offset = samr_dissect_element_UserInfo_info18(tvb, offset, pinfo, tree, di, drep);
7081 break;
7083 case 20:
7084 offset = samr_dissect_element_UserInfo_info20(tvb, offset, pinfo, tree, di, drep);
7085 break;
7087 case 21:
7088 offset = samr_dissect_element_UserInfo_info21(tvb, offset, pinfo, tree, di, drep);
7089 break;
7091 case 23:
7092 offset = samr_dissect_element_UserInfo_info23(tvb, offset, pinfo, tree, di, drep);
7093 break;
7095 case 24:
7096 offset = samr_dissect_element_UserInfo_info24(tvb, offset, pinfo, tree, di, drep);
7097 break;
7099 case 25:
7100 offset = samr_dissect_element_UserInfo_info25(tvb, offset, pinfo, tree, di, drep);
7101 break;
7103 case 26:
7104 offset = samr_dissect_element_UserInfo_info26(tvb, offset, pinfo, tree, di, drep);
7105 break;
7107 case 31:
7108 offset = samr_dissect_element_UserInfo_info31(tvb, offset, pinfo, tree, di, drep);
7109 break;
7111 case 32:
7112 offset = samr_dissect_element_UserInfo_info32(tvb, offset, pinfo, tree, di, drep);
7113 break;
7115 proto_item_set_len(item, offset-old_offset);
7118 return offset;
7121 /* IDL: struct { */
7122 /* IDL: uint32 rid; */
7123 /* IDL: samr_GroupAttrs attributes; */
7124 /* IDL: } */
7126 static int
7127 samr_dissect_element_RidWithAttribute_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7129 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
7131 return offset;
7134 static int
7135 samr_dissect_element_RidWithAttribute_attributes(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7137 offset = samr_dissect_bitmap_GroupAttrs(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_RidWithAttribute_attributes, 0);
7139 return offset;
7143 samr_dissect_struct_RidWithAttribute(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
7145 proto_item *item = NULL;
7146 proto_tree *tree = NULL;
7147 int old_offset;
7149 ALIGN_TO_4_BYTES;
7151 old_offset = offset;
7153 if (parent_tree) {
7154 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7155 tree = proto_item_add_subtree(item, ett_samr_samr_RidWithAttribute);
7158 offset = samr_dissect_element_RidWithAttribute_rid(tvb, offset, pinfo, tree, di, drep);
7160 offset = samr_dissect_element_RidWithAttribute_attributes(tvb, offset, pinfo, tree, di, drep);
7163 proto_item_set_len(item, offset-old_offset);
7166 if (di->call_data->flags & DCERPC_IS_NDR64) {
7167 ALIGN_TO_4_BYTES;
7170 return offset;
7174 /* IDL: struct { */
7175 /* IDL: uint32 count; */
7176 /* IDL: [size_is(count)] [unique(1)] samr_RidWithAttribute *rids; */
7177 /* IDL: } */
7179 static int
7180 samr_dissect_element_RidWithAttributeArray_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7182 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_RidWithAttributeArray_count, 0);
7184 return offset;
7187 static int
7188 samr_dissect_element_RidWithAttributeArray_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7190 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);
7192 return offset;
7195 static int
7196 samr_dissect_element_RidWithAttributeArray_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7198 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_RidWithAttributeArray_rids__);
7200 return offset;
7203 static int
7204 samr_dissect_element_RidWithAttributeArray_rids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7206 offset = samr_dissect_struct_RidWithAttribute(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_RidWithAttributeArray_rids,0);
7208 return offset;
7212 samr_dissect_struct_RidWithAttributeArray(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
7214 proto_item *item = NULL;
7215 proto_tree *tree = NULL;
7216 int old_offset;
7218 ALIGN_TO_5_BYTES;
7220 old_offset = offset;
7222 if (parent_tree) {
7223 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7224 tree = proto_item_add_subtree(item, ett_samr_samr_RidWithAttributeArray);
7227 offset = samr_dissect_element_RidWithAttributeArray_count(tvb, offset, pinfo, tree, di, drep);
7229 offset = samr_dissect_element_RidWithAttributeArray_rids(tvb, offset, pinfo, tree, di, drep);
7232 proto_item_set_len(item, offset-old_offset);
7235 if (di->call_data->flags & DCERPC_IS_NDR64) {
7236 ALIGN_TO_5_BYTES;
7239 return offset;
7243 /* IDL: struct { */
7244 /* IDL: uint32 idx; */
7245 /* IDL: uint32 rid; */
7246 /* IDL: samr_AcctFlags acct_flags; */
7247 /* IDL: lsa_String account_name; */
7248 /* IDL: lsa_String description; */
7249 /* IDL: lsa_String full_name; */
7250 /* IDL: } */
7252 static int
7253 samr_dissect_element_DispEntryGeneral_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7255 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryGeneral_idx, 0);
7257 return offset;
7260 static int
7261 samr_dissect_element_DispEntryGeneral_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7263 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
7265 return offset;
7268 static int
7269 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_, uint8_t *drep _U_)
7271 offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryGeneral_acct_flags, 0);
7273 return offset;
7276 static int
7277 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_, uint8_t *drep _U_)
7279 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryGeneral_account_name);
7281 return offset;
7284 static int
7285 samr_dissect_element_DispEntryGeneral_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7287 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryGeneral_description);
7289 return offset;
7292 static int
7293 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_, uint8_t *drep _U_)
7295 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryGeneral_full_name);
7297 return offset;
7301 samr_dissect_struct_DispEntryGeneral(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
7303 proto_item *item = NULL;
7304 proto_tree *tree = NULL;
7305 int old_offset;
7307 ALIGN_TO_5_BYTES;
7309 old_offset = offset;
7311 if (parent_tree) {
7312 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7313 tree = proto_item_add_subtree(item, ett_samr_samr_DispEntryGeneral);
7316 offset = samr_dissect_element_DispEntryGeneral_idx(tvb, offset, pinfo, tree, di, drep);
7318 offset = samr_dissect_element_DispEntryGeneral_rid(tvb, offset, pinfo, tree, di, drep);
7320 offset = samr_dissect_element_DispEntryGeneral_acct_flags(tvb, offset, pinfo, tree, di, drep);
7322 offset = samr_dissect_element_DispEntryGeneral_account_name(tvb, offset, pinfo, tree, di, drep);
7324 offset = samr_dissect_element_DispEntryGeneral_description(tvb, offset, pinfo, tree, di, drep);
7326 offset = samr_dissect_element_DispEntryGeneral_full_name(tvb, offset, pinfo, tree, di, drep);
7329 proto_item_set_len(item, offset-old_offset);
7332 if (di->call_data->flags & DCERPC_IS_NDR64) {
7333 ALIGN_TO_5_BYTES;
7336 return offset;
7340 /* IDL: struct { */
7341 /* IDL: uint32 count; */
7342 /* IDL: [size_is(count)] [unique(1)] samr_DispEntryGeneral *entries; */
7343 /* IDL: } */
7345 static int
7346 samr_dissect_element_DispInfoGeneral_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7348 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispInfoGeneral_count, 0);
7350 return offset;
7353 static int
7354 samr_dissect_element_DispInfoGeneral_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7356 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);
7358 return offset;
7361 static int
7362 samr_dissect_element_DispInfoGeneral_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7364 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoGeneral_entries__);
7366 return offset;
7369 static int
7370 samr_dissect_element_DispInfoGeneral_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7372 offset = samr_dissect_struct_DispEntryGeneral(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfoGeneral_entries,0);
7374 return offset;
7378 samr_dissect_struct_DispInfoGeneral(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
7380 proto_item *item = NULL;
7381 proto_tree *tree = NULL;
7382 int old_offset;
7384 ALIGN_TO_5_BYTES;
7386 old_offset = offset;
7388 if (parent_tree) {
7389 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7390 tree = proto_item_add_subtree(item, ett_samr_samr_DispInfoGeneral);
7393 offset = samr_dissect_element_DispInfoGeneral_count(tvb, offset, pinfo, tree, di, drep);
7395 offset = samr_dissect_element_DispInfoGeneral_entries(tvb, offset, pinfo, tree, di, drep);
7398 proto_item_set_len(item, offset-old_offset);
7401 if (di->call_data->flags & DCERPC_IS_NDR64) {
7402 ALIGN_TO_5_BYTES;
7405 return offset;
7409 /* IDL: struct { */
7410 /* IDL: uint32 idx; */
7411 /* IDL: uint32 rid; */
7412 /* IDL: samr_AcctFlags acct_flags; */
7413 /* IDL: lsa_String account_name; */
7414 /* IDL: lsa_String description; */
7415 /* IDL: } */
7417 static int
7418 samr_dissect_element_DispEntryFull_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7420 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryFull_idx, 0);
7422 return offset;
7425 static int
7426 samr_dissect_element_DispEntryFull_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7428 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
7430 return offset;
7433 static int
7434 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_, uint8_t *drep _U_)
7436 offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryFull_acct_flags, 0);
7438 return offset;
7441 static int
7442 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_, uint8_t *drep _U_)
7444 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryFull_account_name);
7446 return offset;
7449 static int
7450 samr_dissect_element_DispEntryFull_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7452 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryFull_description);
7454 return offset;
7458 samr_dissect_struct_DispEntryFull(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
7460 proto_item *item = NULL;
7461 proto_tree *tree = NULL;
7462 int old_offset;
7464 ALIGN_TO_5_BYTES;
7466 old_offset = offset;
7468 if (parent_tree) {
7469 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7470 tree = proto_item_add_subtree(item, ett_samr_samr_DispEntryFull);
7473 offset = samr_dissect_element_DispEntryFull_idx(tvb, offset, pinfo, tree, di, drep);
7475 offset = samr_dissect_element_DispEntryFull_rid(tvb, offset, pinfo, tree, di, drep);
7477 offset = samr_dissect_element_DispEntryFull_acct_flags(tvb, offset, pinfo, tree, di, drep);
7479 offset = samr_dissect_element_DispEntryFull_account_name(tvb, offset, pinfo, tree, di, drep);
7481 offset = samr_dissect_element_DispEntryFull_description(tvb, offset, pinfo, tree, di, drep);
7484 proto_item_set_len(item, offset-old_offset);
7487 if (di->call_data->flags & DCERPC_IS_NDR64) {
7488 ALIGN_TO_5_BYTES;
7491 return offset;
7495 /* IDL: struct { */
7496 /* IDL: uint32 count; */
7497 /* IDL: [size_is(count)] [unique(1)] samr_DispEntryFull *entries; */
7498 /* IDL: } */
7500 static int
7501 samr_dissect_element_DispInfoFull_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7503 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispInfoFull_count, 0);
7505 return offset;
7508 static int
7509 samr_dissect_element_DispInfoFull_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7511 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);
7513 return offset;
7516 static int
7517 samr_dissect_element_DispInfoFull_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7519 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoFull_entries__);
7521 return offset;
7524 static int
7525 samr_dissect_element_DispInfoFull_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7527 offset = samr_dissect_struct_DispEntryFull(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfoFull_entries,0);
7529 return offset;
7533 samr_dissect_struct_DispInfoFull(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
7535 proto_item *item = NULL;
7536 proto_tree *tree = NULL;
7537 int old_offset;
7539 ALIGN_TO_5_BYTES;
7541 old_offset = offset;
7543 if (parent_tree) {
7544 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7545 tree = proto_item_add_subtree(item, ett_samr_samr_DispInfoFull);
7548 offset = samr_dissect_element_DispInfoFull_count(tvb, offset, pinfo, tree, di, drep);
7550 offset = samr_dissect_element_DispInfoFull_entries(tvb, offset, pinfo, tree, di, drep);
7553 proto_item_set_len(item, offset-old_offset);
7556 if (di->call_data->flags & DCERPC_IS_NDR64) {
7557 ALIGN_TO_5_BYTES;
7560 return offset;
7564 /* IDL: struct { */
7565 /* IDL: uint32 idx; */
7566 /* IDL: uint32 rid; */
7567 /* IDL: samr_GroupAttrs acct_flags; */
7568 /* IDL: lsa_String account_name; */
7569 /* IDL: lsa_String description; */
7570 /* IDL: } */
7572 static int
7573 samr_dissect_element_DispEntryFullGroup_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7575 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryFullGroup_idx, 0);
7577 return offset;
7580 static int
7581 samr_dissect_element_DispEntryFullGroup_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7583 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
7585 return offset;
7588 static int
7589 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_, uint8_t *drep _U_)
7591 offset = samr_dissect_bitmap_GroupAttrs(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryFullGroup_acct_flags, 0);
7593 return offset;
7596 static int
7597 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_, uint8_t *drep _U_)
7599 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryFullGroup_account_name);
7601 return offset;
7604 static int
7605 samr_dissect_element_DispEntryFullGroup_description(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7607 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryFullGroup_description);
7609 return offset;
7613 samr_dissect_struct_DispEntryFullGroup(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
7615 proto_item *item = NULL;
7616 proto_tree *tree = NULL;
7617 int old_offset;
7619 ALIGN_TO_5_BYTES;
7621 old_offset = offset;
7623 if (parent_tree) {
7624 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7625 tree = proto_item_add_subtree(item, ett_samr_samr_DispEntryFullGroup);
7628 offset = samr_dissect_element_DispEntryFullGroup_idx(tvb, offset, pinfo, tree, di, drep);
7630 offset = samr_dissect_element_DispEntryFullGroup_rid(tvb, offset, pinfo, tree, di, drep);
7632 offset = samr_dissect_element_DispEntryFullGroup_acct_flags(tvb, offset, pinfo, tree, di, drep);
7634 offset = samr_dissect_element_DispEntryFullGroup_account_name(tvb, offset, pinfo, tree, di, drep);
7636 offset = samr_dissect_element_DispEntryFullGroup_description(tvb, offset, pinfo, tree, di, drep);
7639 proto_item_set_len(item, offset-old_offset);
7642 if (di->call_data->flags & DCERPC_IS_NDR64) {
7643 ALIGN_TO_5_BYTES;
7646 return offset;
7650 /* IDL: struct { */
7651 /* IDL: uint32 count; */
7652 /* IDL: [size_is(count)] [unique(1)] samr_DispEntryFullGroup *entries; */
7653 /* IDL: } */
7655 static int
7656 samr_dissect_element_DispInfoFullGroups_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7658 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispInfoFullGroups_count, 0);
7660 return offset;
7663 static int
7664 samr_dissect_element_DispInfoFullGroups_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7666 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);
7668 return offset;
7671 static int
7672 samr_dissect_element_DispInfoFullGroups_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7674 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoFullGroups_entries__);
7676 return offset;
7679 static int
7680 samr_dissect_element_DispInfoFullGroups_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7682 offset = samr_dissect_struct_DispEntryFullGroup(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfoFullGroups_entries,0);
7684 return offset;
7688 samr_dissect_struct_DispInfoFullGroups(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
7690 proto_item *item = NULL;
7691 proto_tree *tree = NULL;
7692 int old_offset;
7694 ALIGN_TO_5_BYTES;
7696 old_offset = offset;
7698 if (parent_tree) {
7699 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7700 tree = proto_item_add_subtree(item, ett_samr_samr_DispInfoFullGroups);
7703 offset = samr_dissect_element_DispInfoFullGroups_count(tvb, offset, pinfo, tree, di, drep);
7705 offset = samr_dissect_element_DispInfoFullGroups_entries(tvb, offset, pinfo, tree, di, drep);
7708 proto_item_set_len(item, offset-old_offset);
7711 if (di->call_data->flags & DCERPC_IS_NDR64) {
7712 ALIGN_TO_5_BYTES;
7715 return offset;
7719 /* IDL: struct { */
7720 /* IDL: uint32 idx; */
7721 /* IDL: lsa_AsciiStringLarge account_name; */
7722 /* IDL: } */
7724 static int
7725 samr_dissect_element_DispEntryAscii_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7727 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispEntryAscii_idx, 0);
7729 return offset;
7732 static int
7733 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_, uint8_t *drep _U_)
7735 offset=cnf_dissect_lsa_AsciiString(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_DispEntryAscii_account_name);
7737 return offset;
7741 samr_dissect_struct_DispEntryAscii(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
7743 proto_item *item = NULL;
7744 proto_tree *tree = NULL;
7745 int old_offset;
7747 ALIGN_TO_5_BYTES;
7749 old_offset = offset;
7751 if (parent_tree) {
7752 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7753 tree = proto_item_add_subtree(item, ett_samr_samr_DispEntryAscii);
7756 offset = samr_dissect_element_DispEntryAscii_idx(tvb, offset, pinfo, tree, di, drep);
7758 offset = samr_dissect_element_DispEntryAscii_account_name(tvb, offset, pinfo, tree, di, drep);
7761 proto_item_set_len(item, offset-old_offset);
7764 if (di->call_data->flags & DCERPC_IS_NDR64) {
7765 ALIGN_TO_5_BYTES;
7768 return offset;
7772 /* IDL: struct { */
7773 /* IDL: uint32 count; */
7774 /* IDL: [size_is(count)] [unique(1)] samr_DispEntryAscii *entries; */
7775 /* IDL: } */
7777 static int
7778 samr_dissect_element_DispInfoAscii_count(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7780 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_DispInfoAscii_count, 0);
7782 return offset;
7785 static int
7786 samr_dissect_element_DispInfoAscii_entries(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7788 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);
7790 return offset;
7793 static int
7794 samr_dissect_element_DispInfoAscii_entries_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7796 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_DispInfoAscii_entries__);
7798 return offset;
7801 static int
7802 samr_dissect_element_DispInfoAscii_entries__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7804 offset = samr_dissect_struct_DispEntryAscii(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfoAscii_entries,0);
7806 return offset;
7810 samr_dissect_struct_DispInfoAscii(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
7812 proto_item *item = NULL;
7813 proto_tree *tree = NULL;
7814 int old_offset;
7816 ALIGN_TO_5_BYTES;
7818 old_offset = offset;
7820 if (parent_tree) {
7821 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7822 tree = proto_item_add_subtree(item, ett_samr_samr_DispInfoAscii);
7825 offset = samr_dissect_element_DispInfoAscii_count(tvb, offset, pinfo, tree, di, drep);
7827 offset = samr_dissect_element_DispInfoAscii_entries(tvb, offset, pinfo, tree, di, drep);
7830 proto_item_set_len(item, offset-old_offset);
7833 if (di->call_data->flags & DCERPC_IS_NDR64) {
7834 ALIGN_TO_5_BYTES;
7837 return offset;
7841 /* IDL: enum { */
7842 /* IDL: SAMR_DOMAIN_DISPLAY_USER=1, */
7843 /* IDL: SAMR_DOMAIN_DISPLAY_MACHINE=2, */
7844 /* IDL: SAMR_DOMAIN_DISPLAY_GROUP=3, */
7845 /* IDL: SAMR_DOMAIN_DISPLAY_OEM_USER=4, */
7846 /* IDL: SAMR_DOMAIN_DISPLAY_OEM_GROUP=5, */
7847 /* IDL: } */
7850 samr_dissect_enum_DomainDisplayInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
7852 uint32_t parameter=0;
7853 if (param) {
7854 parameter = *param;
7856 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
7857 if (param) {
7858 *param = parameter;
7860 return offset;
7864 /* IDL: [switch_type(uint16)] union { */
7865 /* IDL: [case(SAMR_DOMAIN_DISPLAY_USER)] [case(SAMR_DOMAIN_DISPLAY_USER)] samr_DispInfoGeneral info1; */
7866 /* IDL: [case(SAMR_DOMAIN_DISPLAY_MACHINE)] [case(SAMR_DOMAIN_DISPLAY_MACHINE)] samr_DispInfoFull info2; */
7867 /* IDL: [case(SAMR_DOMAIN_DISPLAY_GROUP)] [case(SAMR_DOMAIN_DISPLAY_GROUP)] samr_DispInfoFullGroups info3; */
7868 /* IDL: [case(SAMR_DOMAIN_DISPLAY_OEM_USER)] [case(SAMR_DOMAIN_DISPLAY_OEM_USER)] samr_DispInfoAscii info4; */
7869 /* IDL: [case(SAMR_DOMAIN_DISPLAY_OEM_GROUP)] [case(SAMR_DOMAIN_DISPLAY_OEM_GROUP)] samr_DispInfoAscii info5; */
7870 /* IDL: } */
7872 static int
7873 samr_dissect_element_DispInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7875 offset = samr_dissect_struct_DispInfoGeneral(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfo_info1,0);
7877 return offset;
7880 static int
7881 samr_dissect_element_DispInfo_info2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7883 offset = samr_dissect_struct_DispInfoFull(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfo_info2,0);
7885 return offset;
7888 static int
7889 samr_dissect_element_DispInfo_info3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7891 offset = samr_dissect_struct_DispInfoFullGroups(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfo_info3,0);
7893 return offset;
7896 static int
7897 samr_dissect_element_DispInfo_info4(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7899 offset = samr_dissect_struct_DispInfoAscii(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfo_info4,0);
7901 return offset;
7904 static int
7905 samr_dissect_element_DispInfo_info5(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
7907 offset = samr_dissect_struct_DispInfoAscii(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_DispInfo_info5,0);
7909 return offset;
7912 static int
7913 samr_dissect_DispInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
7915 proto_item *item = NULL;
7916 proto_tree *tree = NULL;
7917 int old_offset;
7918 uint16_t level;
7920 old_offset = offset;
7921 if (parent_tree) {
7922 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_samr_samr_DispInfo, &item, "samr_DispInfo");
7925 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
7926 ALIGN_TO_5_BYTES;
7928 switch(level) {
7929 case SAMR_DOMAIN_DISPLAY_USER:
7930 offset = samr_dissect_element_DispInfo_info1(tvb, offset, pinfo, tree, di, drep);
7931 break;
7933 case SAMR_DOMAIN_DISPLAY_MACHINE:
7934 offset = samr_dissect_element_DispInfo_info2(tvb, offset, pinfo, tree, di, drep);
7935 break;
7937 case SAMR_DOMAIN_DISPLAY_GROUP:
7938 offset = samr_dissect_element_DispInfo_info3(tvb, offset, pinfo, tree, di, drep);
7939 break;
7941 case SAMR_DOMAIN_DISPLAY_OEM_USER:
7942 offset = samr_dissect_element_DispInfo_info4(tvb, offset, pinfo, tree, di, drep);
7943 break;
7945 case SAMR_DOMAIN_DISPLAY_OEM_GROUP:
7946 offset = samr_dissect_element_DispInfo_info5(tvb, offset, pinfo, tree, di, drep);
7947 break;
7949 proto_item_set_len(item, offset-old_offset);
7952 return offset;
7955 /* IDL: struct { */
7956 /* IDL: uint16 min_password_length; */
7957 /* IDL: samr_PasswordProperties password_properties; */
7958 /* IDL: } */
7960 static int
7961 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_, uint8_t *drep _U_)
7963 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_PwInfo_min_password_length, 0);
7965 return offset;
7968 static int
7969 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_, uint8_t *drep _U_)
7971 offset = samr_dissect_bitmap_PasswordProperties(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_PwInfo_password_properties, 0);
7973 return offset;
7977 samr_dissect_struct_PwInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
7979 proto_item *item = NULL;
7980 proto_tree *tree = NULL;
7981 int old_offset;
7983 ALIGN_TO_4_BYTES;
7985 old_offset = offset;
7987 if (parent_tree) {
7988 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
7989 tree = proto_item_add_subtree(item, ett_samr_samr_PwInfo);
7992 offset = samr_dissect_element_PwInfo_min_password_length(tvb, offset, pinfo, tree, di, drep);
7994 offset = samr_dissect_element_PwInfo_password_properties(tvb, offset, pinfo, tree, di, drep);
7997 proto_item_set_len(item, offset-old_offset);
8000 if (di->call_data->flags & DCERPC_IS_NDR64) {
8001 ALIGN_TO_4_BYTES;
8004 return offset;
8008 /* IDL: enum { */
8009 /* IDL: SAMR_CONNECT_PRE_W2K=1, */
8010 /* IDL: SAMR_CONNECT_W2K=2, */
8011 /* IDL: SAMR_CONNECT_AFTER_W2K=3, */
8012 /* IDL: } */
8015 samr_dissect_enum_ConnectVersion(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
8017 uint32_t parameter=0;
8018 if (param) {
8019 parameter = *param;
8021 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
8022 if (param) {
8023 *param = parameter;
8025 return offset;
8029 /* IDL: enum { */
8030 /* IDL: SAM_PWD_CHANGE_NO_ERROR=0, */
8031 /* IDL: SAM_PWD_CHANGE_PASSWORD_TOO_SHORT=1, */
8032 /* IDL: SAM_PWD_CHANGE_PWD_IN_HISTORY=2, */
8033 /* IDL: SAM_PWD_CHANGE_USERNAME_IN_PASSWORD=3, */
8034 /* IDL: SAM_PWD_CHANGE_FULLNAME_IN_PASSWORD=4, */
8035 /* IDL: SAM_PWD_CHANGE_NOT_COMPLEX=5, */
8036 /* IDL: SAM_PWD_CHANGE_MACHINE_NOT_DEFAULT=6, */
8037 /* IDL: SAM_PWD_CHANGE_FAILED_BY_FILTER=7, */
8038 /* IDL: SAM_PWD_CHANGE_PASSWORD_TOO_LONG=8, */
8039 /* IDL: } */
8042 samr_dissect_enum_samPwdChangeReason(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
8044 uint32_t parameter=0;
8045 if (param) {
8046 parameter = *param;
8048 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
8049 if (param) {
8050 *param = parameter;
8052 return offset;
8056 /* IDL: struct { */
8057 /* IDL: samPwdChangeReason extendedFailureReason; */
8058 /* IDL: lsa_String filterModuleName; */
8059 /* IDL: } */
8061 static int
8062 samr_dissect_element_userPwdChangeFailureInformation_extendedFailureReason(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8064 offset = samr_dissect_enum_samPwdChangeReason(tvb, offset, pinfo, tree, di, drep, hf_samr_userPwdChangeFailureInformation_extendedFailureReason, 0);
8066 return offset;
8069 static int
8070 samr_dissect_element_userPwdChangeFailureInformation_filterModuleName(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8072 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_userPwdChangeFailureInformation_filterModuleName);
8074 return offset;
8078 samr_dissect_struct_userPwdChangeFailureInformation(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
8080 proto_item *item = NULL;
8081 proto_tree *tree = NULL;
8082 int old_offset;
8084 ALIGN_TO_5_BYTES;
8086 old_offset = offset;
8088 if (parent_tree) {
8089 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8090 tree = proto_item_add_subtree(item, ett_samr_userPwdChangeFailureInformation);
8093 offset = samr_dissect_element_userPwdChangeFailureInformation_extendedFailureReason(tvb, offset, pinfo, tree, di, drep);
8095 offset = samr_dissect_element_userPwdChangeFailureInformation_filterModuleName(tvb, offset, pinfo, tree, di, drep);
8098 proto_item_set_len(item, offset-old_offset);
8101 if (di->call_data->flags & DCERPC_IS_NDR64) {
8102 ALIGN_TO_5_BYTES;
8105 return offset;
8109 /* IDL: enum { */
8110 /* IDL: SAMR_CONNECT_FEATURE_RID_ONLY=0x00000001, */
8111 /* IDL: SAMR_CONNECT_FEATURE_RESRVED1=0x00000002, */
8112 /* IDL: SAMR_CONNECT_FEATURE_RESRVED2=0x00000004, */
8113 /* IDL: SAMR_CONNECT_FEATURE_USE_AES=0x00000010, */
8114 /* IDL: } */
8117 samr_dissect_enum_SupportedFeatures(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
8119 uint32_t parameter=0;
8120 if (param) {
8121 parameter = *param;
8123 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
8124 if (param) {
8125 *param = parameter;
8127 return offset;
8131 /* IDL: struct { */
8132 /* IDL: samr_ConnectVersion client_version; */
8133 /* IDL: samr_SupportedFeatures supported_features; */
8134 /* IDL: } */
8136 static int
8137 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_, uint8_t *drep _U_)
8139 offset = samr_dissect_enum_ConnectVersion(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ConnectInfo1_client_version, 0);
8141 return offset;
8144 static int
8145 samr_dissect_element_ConnectInfo1_supported_features(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8147 offset = samr_dissect_enum_SupportedFeatures(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ConnectInfo1_supported_features, 0);
8149 return offset;
8153 samr_dissect_struct_ConnectInfo1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
8155 proto_item *item = NULL;
8156 proto_tree *tree = NULL;
8157 int old_offset;
8159 ALIGN_TO_4_BYTES;
8161 old_offset = offset;
8163 if (parent_tree) {
8164 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8165 tree = proto_item_add_subtree(item, ett_samr_samr_ConnectInfo1);
8168 offset = samr_dissect_element_ConnectInfo1_client_version(tvb, offset, pinfo, tree, di, drep);
8170 offset = samr_dissect_element_ConnectInfo1_supported_features(tvb, offset, pinfo, tree, di, drep);
8173 proto_item_set_len(item, offset-old_offset);
8176 if (di->call_data->flags & DCERPC_IS_NDR64) {
8177 ALIGN_TO_4_BYTES;
8180 return offset;
8184 /* IDL: union { */
8185 /* IDL: [case(1)] [case(1)] samr_ConnectInfo1 info1; */
8186 /* IDL: } */
8188 static int
8189 samr_dissect_element_ConnectInfo_info1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8191 offset = samr_dissect_struct_ConnectInfo1(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ConnectInfo_info1,0);
8193 return offset;
8196 static int
8197 samr_dissect_ConnectInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
8199 proto_item *item = NULL;
8200 proto_tree *tree = NULL;
8201 int old_offset;
8202 uint32_t level;
8204 old_offset = offset;
8205 if (parent_tree) {
8206 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_samr_samr_ConnectInfo, &item, "samr_ConnectInfo");
8209 offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
8210 ALIGN_TO_4_BYTES;
8212 switch(level) {
8213 case 1:
8214 offset = samr_dissect_element_ConnectInfo_info1(tvb, offset, pinfo, tree, di, drep);
8215 break;
8217 proto_item_set_len(item, offset-old_offset);
8220 return offset;
8223 /* IDL: bitmap { */
8224 /* IDL: SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET = 0x00000001 , */
8225 /* IDL: SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME = 0x00000002 , */
8226 /* IDL: SAMR_VALIDATE_FIELD_LOCKOUT_TIME = 0x00000004 , */
8227 /* IDL: SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT = 0x00000008 , */
8228 /* IDL: SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH = 0x00000010 , */
8229 /* IDL: SAMR_VALIDATE_FIELD_PASSWORD_HISTORY = 0x00000020 , */
8230 /* IDL: } */
8233 samr_dissect_bitmap_ValidateFieldsPresent(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
8235 proto_item *item;
8236 static int * const samr_samr_ValidateFieldsPresent_fields[] = {
8237 &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET,
8238 &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME,
8239 &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_LOCKOUT_TIME,
8240 &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT,
8241 &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH,
8242 &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY,
8243 NULL
8245 uint32_t flags;
8246 ALIGN_TO_4_BYTES;
8248 item = proto_tree_add_bitmask_with_flags(parent_tree, tvb, offset, hf_index,
8249 ett_samr_samr_ValidateFieldsPresent, samr_samr_ValidateFieldsPresent_fields, DREP_ENC_INTEGER(drep), BMT_NO_FALSE);
8251 offset = dissect_ndr_uint32(tvb, offset, pinfo, parent_tree, di, drep, -1, &flags);
8253 if (!flags)
8254 proto_item_append_text(item, ": (No values set)");
8256 if (flags & (~0x0000003f)) {
8257 flags &= (~0x0000003f);
8258 proto_item_append_text(item, "Unknown bitmap value 0x%x", flags);
8261 return offset;
8265 /* IDL: enum { */
8266 /* IDL: NetValidateAuthentication=1, */
8267 /* IDL: NetValidatePasswordChange=2, */
8268 /* IDL: NetValidatePasswordReset=3, */
8269 /* IDL: } */
8272 samr_dissect_enum_ValidatePasswordLevel(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
8274 uint32_t parameter=0;
8275 if (param) {
8276 parameter = *param;
8278 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
8279 if (param) {
8280 *param = parameter;
8282 return offset;
8286 /* IDL: enum { */
8287 /* IDL: SAMR_VALIDATION_STATUS_SUCCESS=0, */
8288 /* IDL: SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE=1, */
8289 /* IDL: SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT=2, */
8290 /* IDL: SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED=3, */
8291 /* IDL: SAMR_VALIDATION_STATUS_BAD_PASSWORD=4, */
8292 /* IDL: SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT=5, */
8293 /* IDL: SAMR_VALIDATION_STATUS_PWD_TOO_SHORT=6, */
8294 /* IDL: SAMR_VALIDATION_STATUS_PWD_TOO_LONG=7, */
8295 /* IDL: SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH=8, */
8296 /* IDL: SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT=9, */
8297 /* IDL: SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR=10, */
8298 /* IDL: } */
8301 samr_dissect_enum_ValidationStatus(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t *param _U_)
8303 uint32_t parameter=0;
8304 if (param) {
8305 parameter = *param;
8307 offset = dissect_ndr_uint1632(tvb, offset, pinfo, tree, di, drep, hf_index, &parameter);
8308 if (param) {
8309 *param = parameter;
8311 return offset;
8315 /* IDL: struct { */
8316 /* IDL: uint32 length; */
8317 /* IDL: [size_is(length)] [unique(1)] uint8 *data; */
8318 /* IDL: } */
8320 static int
8321 samr_dissect_element_ValidationBlob_length(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8323 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidationBlob_length, 0);
8325 return offset;
8328 static int
8329 samr_dissect_element_ValidationBlob_data(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8331 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);
8333 return offset;
8336 static int
8337 samr_dissect_element_ValidationBlob_data_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8339 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ValidationBlob_data__);
8341 return offset;
8344 static int
8345 samr_dissect_element_ValidationBlob_data__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8347 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidationBlob_data, 0);
8349 return offset;
8353 samr_dissect_struct_ValidationBlob(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
8355 proto_item *item = NULL;
8356 proto_tree *tree = NULL;
8357 int old_offset;
8359 ALIGN_TO_5_BYTES;
8361 old_offset = offset;
8363 if (parent_tree) {
8364 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8365 tree = proto_item_add_subtree(item, ett_samr_samr_ValidationBlob);
8368 offset = samr_dissect_element_ValidationBlob_length(tvb, offset, pinfo, tree, di, drep);
8370 offset = samr_dissect_element_ValidationBlob_data(tvb, offset, pinfo, tree, di, drep);
8373 proto_item_set_len(item, offset-old_offset);
8376 if (di->call_data->flags & DCERPC_IS_NDR64) {
8377 ALIGN_TO_5_BYTES;
8380 return offset;
8384 /* IDL: struct { */
8385 /* IDL: samr_ValidateFieldsPresent fields_present; */
8386 /* IDL: NTTIME_hyper last_password_change; */
8387 /* IDL: NTTIME_hyper bad_password_time; */
8388 /* IDL: NTTIME_hyper lockout_time; */
8389 /* IDL: uint32 bad_pwd_count; */
8390 /* IDL: uint32 pwd_history_len; */
8391 /* IDL: [size_is(pwd_history_len)] [unique(1)] samr_ValidationBlob *pwd_history; */
8392 /* IDL: } */
8394 static int
8395 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_, uint8_t *drep _U_)
8397 offset = samr_dissect_bitmap_ValidateFieldsPresent(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_fields_present, 0);
8399 return offset;
8402 static int
8403 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_, uint8_t *drep _U_)
8405 offset = dissect_ndr_nt_NTTIME_hyper(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_last_password_change);
8407 return offset;
8410 static int
8411 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_, uint8_t *drep _U_)
8413 offset = dissect_ndr_nt_NTTIME_hyper(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_bad_password_time);
8415 return offset;
8418 static int
8419 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_, uint8_t *drep _U_)
8421 offset = dissect_ndr_nt_NTTIME_hyper(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_lockout_time);
8423 return offset;
8426 static int
8427 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_, uint8_t *drep _U_)
8429 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_bad_pwd_count, 0);
8431 return offset;
8434 static int
8435 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_, uint8_t *drep _U_)
8437 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordInfo_pwd_history_len, 0);
8439 return offset;
8442 static int
8443 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_, uint8_t *drep _U_)
8445 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);
8447 return offset;
8450 static int
8451 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_, uint8_t *drep _U_)
8453 offset = dissect_ndr_ucarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ValidatePasswordInfo_pwd_history__);
8455 return offset;
8458 static int
8459 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_, uint8_t *drep _U_)
8461 offset = samr_dissect_struct_ValidationBlob(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordInfo_pwd_history,0);
8463 return offset;
8467 samr_dissect_struct_ValidatePasswordInfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
8469 proto_item *item = NULL;
8470 proto_tree *tree = NULL;
8471 int old_offset;
8473 ALIGN_TO_8_BYTES;
8475 old_offset = offset;
8477 if (parent_tree) {
8478 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8479 tree = proto_item_add_subtree(item, ett_samr_samr_ValidatePasswordInfo);
8482 offset = samr_dissect_element_ValidatePasswordInfo_fields_present(tvb, offset, pinfo, tree, di, drep);
8484 offset = samr_dissect_element_ValidatePasswordInfo_last_password_change(tvb, offset, pinfo, tree, di, drep);
8486 offset = samr_dissect_element_ValidatePasswordInfo_bad_password_time(tvb, offset, pinfo, tree, di, drep);
8488 offset = samr_dissect_element_ValidatePasswordInfo_lockout_time(tvb, offset, pinfo, tree, di, drep);
8490 offset = samr_dissect_element_ValidatePasswordInfo_bad_pwd_count(tvb, offset, pinfo, tree, di, drep);
8492 offset = samr_dissect_element_ValidatePasswordInfo_pwd_history_len(tvb, offset, pinfo, tree, di, drep);
8494 offset = samr_dissect_element_ValidatePasswordInfo_pwd_history(tvb, offset, pinfo, tree, di, drep);
8497 proto_item_set_len(item, offset-old_offset);
8500 if (di->call_data->flags & DCERPC_IS_NDR64) {
8501 ALIGN_TO_8_BYTES;
8504 return offset;
8508 /* IDL: struct { */
8509 /* IDL: samr_ValidatePasswordInfo info; */
8510 /* IDL: samr_ValidationStatus status; */
8511 /* IDL: } */
8513 static int
8514 samr_dissect_element_ValidatePasswordRepCtr_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8516 offset = samr_dissect_struct_ValidatePasswordInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordRepCtr_info,0);
8518 return offset;
8521 static int
8522 samr_dissect_element_ValidatePasswordRepCtr_status(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8524 offset = samr_dissect_enum_ValidationStatus(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordRepCtr_status, 0);
8526 return offset;
8530 samr_dissect_struct_ValidatePasswordRepCtr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
8532 proto_item *item = NULL;
8533 proto_tree *tree = NULL;
8534 int old_offset;
8536 ALIGN_TO_8_BYTES;
8538 old_offset = offset;
8540 if (parent_tree) {
8541 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8542 tree = proto_item_add_subtree(item, ett_samr_samr_ValidatePasswordRepCtr);
8545 offset = samr_dissect_element_ValidatePasswordRepCtr_info(tvb, offset, pinfo, tree, di, drep);
8547 offset = samr_dissect_element_ValidatePasswordRepCtr_status(tvb, offset, pinfo, tree, di, drep);
8550 proto_item_set_len(item, offset-old_offset);
8553 if (di->call_data->flags & DCERPC_IS_NDR64) {
8554 ALIGN_TO_8_BYTES;
8557 return offset;
8561 /* IDL: [switch_type(uint16)] union { */
8562 /* IDL: [case(1)] [case(1)] samr_ValidatePasswordRepCtr ctr1; */
8563 /* IDL: [case(2)] [case(2)] samr_ValidatePasswordRepCtr ctr2; */
8564 /* IDL: [case(3)] [case(3)] samr_ValidatePasswordRepCtr ctr3; */
8565 /* IDL: } */
8567 static int
8568 samr_dissect_element_ValidatePasswordRep_ctr1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8570 offset = samr_dissect_struct_ValidatePasswordRepCtr(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordRep_ctr1,0);
8572 return offset;
8575 static int
8576 samr_dissect_element_ValidatePasswordRep_ctr2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8578 offset = samr_dissect_struct_ValidatePasswordRepCtr(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordRep_ctr2,0);
8580 return offset;
8583 static int
8584 samr_dissect_element_ValidatePasswordRep_ctr3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8586 offset = samr_dissect_struct_ValidatePasswordRepCtr(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordRep_ctr3,0);
8588 return offset;
8591 static int
8592 samr_dissect_ValidatePasswordRep(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
8594 proto_item *item = NULL;
8595 proto_tree *tree = NULL;
8596 int old_offset;
8597 uint16_t level;
8599 old_offset = offset;
8600 if (parent_tree) {
8601 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_samr_samr_ValidatePasswordRep, &item, "samr_ValidatePasswordRep");
8604 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
8605 ALIGN_TO_8_BYTES;
8607 switch(level) {
8608 case 1:
8609 offset = samr_dissect_element_ValidatePasswordRep_ctr1(tvb, offset, pinfo, tree, di, drep);
8610 break;
8612 case 2:
8613 offset = samr_dissect_element_ValidatePasswordRep_ctr2(tvb, offset, pinfo, tree, di, drep);
8614 break;
8616 case 3:
8617 offset = samr_dissect_element_ValidatePasswordRep_ctr3(tvb, offset, pinfo, tree, di, drep);
8618 break;
8620 proto_item_set_len(item, offset-old_offset);
8623 return offset;
8626 /* IDL: struct { */
8627 /* IDL: samr_ValidatePasswordInfo info; */
8628 /* IDL: lsa_StringLarge password; */
8629 /* IDL: lsa_StringLarge account; */
8630 /* IDL: samr_ValidationBlob hash; */
8631 /* IDL: uint8 pwd_must_change_at_next_logon; */
8632 /* IDL: uint8 clear_lockout; */
8633 /* IDL: } */
8635 static int
8636 samr_dissect_element_ValidatePasswordReq3_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8638 offset = samr_dissect_struct_ValidatePasswordInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq3_info,0);
8640 return offset;
8643 static int
8644 samr_dissect_element_ValidatePasswordReq3_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8646 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ValidatePasswordReq3_password);
8648 return offset;
8651 static int
8652 samr_dissect_element_ValidatePasswordReq3_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8654 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ValidatePasswordReq3_account);
8656 return offset;
8659 static int
8660 samr_dissect_element_ValidatePasswordReq3_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8662 offset = samr_dissect_struct_ValidationBlob(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq3_hash,0);
8664 return offset;
8667 static int
8668 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_, uint8_t *drep _U_)
8670 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordReq3_pwd_must_change_at_next_logon, 0);
8672 return offset;
8675 static int
8676 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_, uint8_t *drep _U_)
8678 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordReq3_clear_lockout, 0);
8680 return offset;
8684 samr_dissect_struct_ValidatePasswordReq3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
8686 proto_item *item = NULL;
8687 proto_tree *tree = NULL;
8688 int old_offset;
8690 ALIGN_TO_8_BYTES;
8692 old_offset = offset;
8694 if (parent_tree) {
8695 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8696 tree = proto_item_add_subtree(item, ett_samr_samr_ValidatePasswordReq3);
8699 offset = samr_dissect_element_ValidatePasswordReq3_info(tvb, offset, pinfo, tree, di, drep);
8701 offset = samr_dissect_element_ValidatePasswordReq3_password(tvb, offset, pinfo, tree, di, drep);
8703 offset = samr_dissect_element_ValidatePasswordReq3_account(tvb, offset, pinfo, tree, di, drep);
8705 offset = samr_dissect_element_ValidatePasswordReq3_hash(tvb, offset, pinfo, tree, di, drep);
8707 offset = samr_dissect_element_ValidatePasswordReq3_pwd_must_change_at_next_logon(tvb, offset, pinfo, tree, di, drep);
8709 offset = samr_dissect_element_ValidatePasswordReq3_clear_lockout(tvb, offset, pinfo, tree, di, drep);
8712 proto_item_set_len(item, offset-old_offset);
8715 if (di->call_data->flags & DCERPC_IS_NDR64) {
8716 ALIGN_TO_8_BYTES;
8719 return offset;
8723 /* IDL: struct { */
8724 /* IDL: samr_ValidatePasswordInfo info; */
8725 /* IDL: lsa_StringLarge password; */
8726 /* IDL: lsa_StringLarge account; */
8727 /* IDL: samr_ValidationBlob hash; */
8728 /* IDL: uint8 password_matched; */
8729 /* IDL: } */
8731 static int
8732 samr_dissect_element_ValidatePasswordReq2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8734 offset = samr_dissect_struct_ValidatePasswordInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq2_info,0);
8736 return offset;
8739 static int
8740 samr_dissect_element_ValidatePasswordReq2_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8742 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ValidatePasswordReq2_password);
8744 return offset;
8747 static int
8748 samr_dissect_element_ValidatePasswordReq2_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8750 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ValidatePasswordReq2_account);
8752 return offset;
8755 static int
8756 samr_dissect_element_ValidatePasswordReq2_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8758 offset = samr_dissect_struct_ValidationBlob(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq2_hash,0);
8760 return offset;
8763 static int
8764 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_, uint8_t *drep _U_)
8766 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordReq2_password_matched, 0);
8768 return offset;
8772 samr_dissect_struct_ValidatePasswordReq2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
8774 proto_item *item = NULL;
8775 proto_tree *tree = NULL;
8776 int old_offset;
8778 ALIGN_TO_8_BYTES;
8780 old_offset = offset;
8782 if (parent_tree) {
8783 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8784 tree = proto_item_add_subtree(item, ett_samr_samr_ValidatePasswordReq2);
8787 offset = samr_dissect_element_ValidatePasswordReq2_info(tvb, offset, pinfo, tree, di, drep);
8789 offset = samr_dissect_element_ValidatePasswordReq2_password(tvb, offset, pinfo, tree, di, drep);
8791 offset = samr_dissect_element_ValidatePasswordReq2_account(tvb, offset, pinfo, tree, di, drep);
8793 offset = samr_dissect_element_ValidatePasswordReq2_hash(tvb, offset, pinfo, tree, di, drep);
8795 offset = samr_dissect_element_ValidatePasswordReq2_password_matched(tvb, offset, pinfo, tree, di, drep);
8798 proto_item_set_len(item, offset-old_offset);
8801 if (di->call_data->flags & DCERPC_IS_NDR64) {
8802 ALIGN_TO_8_BYTES;
8805 return offset;
8809 /* IDL: struct { */
8810 /* IDL: samr_ValidatePasswordInfo info; */
8811 /* IDL: uint8 password_matched; */
8812 /* IDL: } */
8814 static int
8815 samr_dissect_element_ValidatePasswordReq1_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8817 offset = samr_dissect_struct_ValidatePasswordInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq1_info,0);
8819 return offset;
8822 static int
8823 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_, uint8_t *drep _U_)
8825 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePasswordReq1_password_matched, 0);
8827 return offset;
8831 samr_dissect_struct_ValidatePasswordReq1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
8833 proto_item *item = NULL;
8834 proto_tree *tree = NULL;
8835 int old_offset;
8837 ALIGN_TO_8_BYTES;
8839 old_offset = offset;
8841 if (parent_tree) {
8842 item = proto_tree_add_item(parent_tree, hf_index, tvb, offset, -1, ENC_NA);
8843 tree = proto_item_add_subtree(item, ett_samr_samr_ValidatePasswordReq1);
8846 offset = samr_dissect_element_ValidatePasswordReq1_info(tvb, offset, pinfo, tree, di, drep);
8848 offset = samr_dissect_element_ValidatePasswordReq1_password_matched(tvb, offset, pinfo, tree, di, drep);
8851 proto_item_set_len(item, offset-old_offset);
8854 if (di->call_data->flags & DCERPC_IS_NDR64) {
8855 ALIGN_TO_8_BYTES;
8858 return offset;
8862 /* IDL: [switch_type(uint16)] union { */
8863 /* IDL: [case(1)] [case(1)] samr_ValidatePasswordReq1 req1; */
8864 /* IDL: [case(2)] [case(2)] samr_ValidatePasswordReq2 req2; */
8865 /* IDL: [case(3)] [case(3)] samr_ValidatePasswordReq3 req3; */
8866 /* IDL: } */
8868 static int
8869 samr_dissect_element_ValidatePasswordReq_req1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8871 offset = samr_dissect_struct_ValidatePasswordReq1(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq_req1,0);
8873 return offset;
8876 static int
8877 samr_dissect_element_ValidatePasswordReq_req2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8879 offset = samr_dissect_struct_ValidatePasswordReq2(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq_req2,0);
8881 return offset;
8884 static int
8885 samr_dissect_element_ValidatePasswordReq_req3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8887 offset = samr_dissect_struct_ValidatePasswordReq3(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ValidatePasswordReq_req3,0);
8889 return offset;
8892 static int
8893 samr_dissect_ValidatePasswordReq(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_, int hf_index _U_, uint32_t param _U_)
8895 proto_item *item = NULL;
8896 proto_tree *tree = NULL;
8897 int old_offset;
8898 uint16_t level;
8900 old_offset = offset;
8901 if (parent_tree) {
8902 tree = proto_tree_add_subtree(parent_tree, tvb, offset, -1, ett_samr_samr_ValidatePasswordReq, &item, "samr_ValidatePasswordReq");
8905 offset = dissect_ndr_uint16(tvb, offset, pinfo, tree, di, drep, hf_index, &level);
8906 ALIGN_TO_8_BYTES;
8908 switch(level) {
8909 case 1:
8910 offset = samr_dissect_element_ValidatePasswordReq_req1(tvb, offset, pinfo, tree, di, drep);
8911 break;
8913 case 2:
8914 offset = samr_dissect_element_ValidatePasswordReq_req2(tvb, offset, pinfo, tree, di, drep);
8915 break;
8917 case 3:
8918 offset = samr_dissect_element_ValidatePasswordReq_req3(tvb, offset, pinfo, tree, di, drep);
8919 break;
8921 proto_item_set_len(item, offset-old_offset);
8924 return offset;
8926 static int
8927 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_, uint8_t *drep _U_)
8929 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);
8931 return offset;
8934 static int
8935 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_, uint8_t *drep _U_)
8937 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect_system_name, 0);
8939 return offset;
8942 static int
8943 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_, uint8_t *drep _U_)
8945 offset = samr_dissect_bitmap_ConnectAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask, 0);
8947 return offset;
8950 static int
8951 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_, uint8_t *drep _U_)
8953 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);
8955 return offset;
8958 static int
8959 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_, uint8_t *drep _U_)
8961 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_CONNECT);
8963 return offset;
8966 /* IDL: NTSTATUS samr_Connect( */
8967 /* IDL: [in] [unique(1)] uint16 *system_name, */
8968 /* IDL: [in] samr_ConnectAccessMask access_mask, */
8969 /* IDL: [out] [ref] policy_handle *connect_handle */
8970 /* IDL: ); */
8972 static int
8973 samr_dissect_Connect_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8975 uint32_t status;
8977 di->dcerpc_procedure_name="Connect";
8978 offset = samr_dissect_element_Connect_connect_handle(tvb, offset, pinfo, tree, di, drep);
8979 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8981 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
8983 if (status != 0)
8984 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
8986 return offset;
8989 static int
8990 samr_dissect_Connect_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
8992 di->dcerpc_procedure_name="Connect";
8993 offset = samr_dissect_element_Connect_system_name(tvb, offset, pinfo, tree, di, drep);
8994 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8995 offset = samr_dissect_element_Connect_access_mask(tvb, offset, pinfo, tree, di, drep);
8996 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
8997 return offset;
9000 static int
9001 samr_dissect_element_Close_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9003 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);
9005 return offset;
9008 static int
9009 samr_dissect_element_Close_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9011 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_handle, PIDL_POLHND_CLOSE);
9013 return offset;
9016 /* IDL: NTSTATUS samr_Close( */
9017 /* IDL: [in] [out] [ref] policy_handle *handle */
9018 /* IDL: ); */
9020 static int
9021 samr_dissect_Close_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9023 uint32_t status;
9025 di->dcerpc_procedure_name="Close";
9026 offset = samr_dissect_element_Close_handle(tvb, offset, pinfo, tree, di, drep);
9027 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9029 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9031 if (status != 0)
9032 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9034 return offset;
9037 static int
9038 samr_dissect_Close_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9040 di->dcerpc_procedure_name="Close";
9041 offset = samr_dissect_element_Close_handle(tvb, offset, pinfo, tree, di, drep);
9042 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9043 return offset;
9046 static int
9047 samr_dissect_element_SetSecurity_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9049 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);
9051 return offset;
9054 static int
9055 samr_dissect_element_SetSecurity_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9057 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_handle, 0);
9059 return offset;
9062 static int
9063 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_, uint8_t *drep _U_)
9065 offset=cnf_dissect_samr_security_secinfo(tvb, offset, pinfo, tree, drep);
9067 return offset;
9070 static int
9071 samr_dissect_element_SetSecurity_sdbuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9073 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);
9075 return offset;
9078 static int
9079 samr_dissect_element_SetSecurity_sdbuf_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9081 offset=cnf_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep);
9083 return offset;
9086 /* IDL: NTSTATUS samr_SetSecurity( */
9087 /* IDL: [in] [ref] policy_handle *handle, */
9088 /* IDL: [in] security_secinfo sec_info, */
9089 /* IDL: [in] [ref] sec_desc_buf *sdbuf */
9090 /* IDL: ); */
9092 static int
9093 samr_dissect_SetSecurity_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9095 uint32_t status;
9097 di->dcerpc_procedure_name="SetSecurity";
9098 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9100 if (status != 0)
9101 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9103 return offset;
9106 static int
9107 samr_dissect_SetSecurity_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9109 di->dcerpc_procedure_name="SetSecurity";
9110 offset = samr_dissect_element_SetSecurity_handle(tvb, offset, pinfo, tree, di, drep);
9111 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9112 offset = samr_dissect_element_SetSecurity_sec_info(tvb, offset, pinfo, tree, di, drep);
9113 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9114 offset = samr_dissect_element_SetSecurity_sdbuf(tvb, offset, pinfo, tree, di, drep);
9115 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9116 return offset;
9119 static int
9120 samr_dissect_element_QuerySecurity_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9122 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);
9124 return offset;
9127 static int
9128 samr_dissect_element_QuerySecurity_handle_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9130 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_handle, 0);
9132 return offset;
9135 static int
9136 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_, uint8_t *drep _U_)
9138 offset=cnf_dissect_samr_security_secinfo(tvb, offset, pinfo, tree, drep);
9140 return offset;
9143 static int
9144 samr_dissect_element_QuerySecurity_sdbuf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9146 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);
9148 return offset;
9151 static int
9152 samr_dissect_element_QuerySecurity_sdbuf_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9154 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);
9156 return offset;
9159 static int
9160 samr_dissect_element_QuerySecurity_sdbuf__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9162 offset=cnf_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep);
9164 return offset;
9167 /* IDL: NTSTATUS samr_QuerySecurity( */
9168 /* IDL: [in] [ref] policy_handle *handle, */
9169 /* IDL: [in] security_secinfo sec_info, */
9170 /* IDL: [out] [ref] sec_desc_buf **sdbuf */
9171 /* IDL: ); */
9173 static int
9174 samr_dissect_QuerySecurity_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9176 uint32_t status;
9178 di->dcerpc_procedure_name="QuerySecurity";
9179 offset = samr_dissect_element_QuerySecurity_sdbuf(tvb, offset, pinfo, tree, di, drep);
9180 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9182 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9184 if (status != 0)
9185 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9187 return offset;
9190 static int
9191 samr_dissect_QuerySecurity_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9193 di->dcerpc_procedure_name="QuerySecurity";
9194 offset = samr_dissect_element_QuerySecurity_handle(tvb, offset, pinfo, tree, di, drep);
9195 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9196 offset = samr_dissect_element_QuerySecurity_sec_info(tvb, offset, pinfo, tree, di, drep);
9197 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9198 return offset;
9201 static int
9202 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_, uint8_t *drep _U_)
9204 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);
9206 return offset;
9209 static int
9210 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_, uint8_t *drep _U_)
9212 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Shutdown_connect_handle, PIDL_POLHND_CLOSE);
9214 return offset;
9217 /* IDL: NTSTATUS samr_Shutdown( */
9218 /* IDL: [in] [ref] policy_handle *connect_handle */
9219 /* IDL: ); */
9221 static int
9222 samr_dissect_Shutdown_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9224 uint32_t status;
9226 di->dcerpc_procedure_name="Shutdown";
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_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9232 return offset;
9235 static int
9236 samr_dissect_Shutdown_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9238 di->dcerpc_procedure_name="Shutdown";
9239 offset = samr_dissect_element_Shutdown_connect_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_LookupDomain_connect_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9247 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);
9249 return offset;
9252 static int
9253 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_, uint8_t *drep _U_)
9255 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, 0);
9257 return offset;
9260 static int
9261 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_, uint8_t *drep _U_)
9263 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);
9265 return offset;
9268 static int
9269 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_, uint8_t *drep _U_)
9271 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 3|PIDL_SET_COL_INFO, hf_samr_samr_LookupDomain_domain_name);
9273 return offset;
9276 static int
9277 samr_dissect_element_LookupDomain_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9279 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);
9281 return offset;
9284 static int
9285 samr_dissect_element_LookupDomain_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9287 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);
9289 return offset;
9292 static int
9293 samr_dissect_element_LookupDomain_sid__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9295 offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
9297 return offset;
9300 /* IDL: NTSTATUS samr_LookupDomain( */
9301 /* IDL: [in] [ref] policy_handle *connect_handle, */
9302 /* IDL: [in] [ref] lsa_String *domain_name, */
9303 /* IDL: [out] [ref] dom_sid2 **sid */
9304 /* IDL: ); */
9306 static int
9307 samr_dissect_LookupDomain_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9309 uint32_t status;
9311 di->dcerpc_procedure_name="LookupDomain";
9312 offset = samr_dissect_element_LookupDomain_sid(tvb, offset, pinfo, tree, di, drep);
9313 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9315 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9317 if (status != 0)
9318 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9320 return offset;
9323 static int
9324 samr_dissect_LookupDomain_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9326 di->dcerpc_procedure_name="LookupDomain";
9327 offset = samr_dissect_element_LookupDomain_connect_handle(tvb, offset, pinfo, tree, di, drep);
9328 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9329 offset = samr_dissect_element_LookupDomain_domain_name(tvb, offset, pinfo, tree, di, drep);
9330 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9331 return offset;
9334 static int
9335 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_, uint8_t *drep _U_)
9337 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);
9339 return offset;
9342 static int
9343 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_, uint8_t *drep _U_)
9345 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomains_connect_handle, 0);
9347 return offset;
9350 static int
9351 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_, uint8_t *drep _U_)
9353 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);
9355 return offset;
9358 static int
9359 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_, uint8_t *drep _U_)
9361 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomains_resume_handle, 0);
9363 return offset;
9366 static int
9367 samr_dissect_element_EnumDomains_sam(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9369 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);
9371 return offset;
9374 static int
9375 samr_dissect_element_EnumDomains_sam_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9377 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);
9379 return offset;
9382 static int
9383 samr_dissect_element_EnumDomains_sam__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9385 offset = samr_dissect_struct_SamArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_EnumDomains_sam,0);
9387 return offset;
9390 static int
9391 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_, uint8_t *drep _U_)
9393 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomains_buf_size, 0);
9395 return offset;
9398 static int
9399 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_, uint8_t *drep _U_)
9401 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);
9403 return offset;
9406 static int
9407 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_, uint8_t *drep _U_)
9409 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomains_num_entries, 0);
9411 return offset;
9414 /* IDL: NTSTATUS samr_EnumDomains( */
9415 /* IDL: [in] [ref] policy_handle *connect_handle, */
9416 /* IDL: [in] [out] [ref] uint32 *resume_handle, */
9417 /* IDL: [out] [ref] samr_SamArray **sam, */
9418 /* IDL: [in] uint32 buf_size, */
9419 /* IDL: [out] [ref] uint32 *num_entries */
9420 /* IDL: ); */
9422 static int
9423 samr_dissect_EnumDomains_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9425 uint32_t status;
9427 di->dcerpc_procedure_name="EnumDomains";
9428 offset = samr_dissect_element_EnumDomains_resume_handle(tvb, offset, pinfo, tree, di, drep);
9429 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9431 offset = samr_dissect_element_EnumDomains_sam(tvb, offset, pinfo, tree, di, drep);
9432 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9434 offset = samr_dissect_element_EnumDomains_num_entries(tvb, offset, pinfo, tree, di, drep);
9435 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9437 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9439 if (status != 0)
9440 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9442 return offset;
9445 static int
9446 samr_dissect_EnumDomains_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9448 di->dcerpc_procedure_name="EnumDomains";
9449 offset = samr_dissect_element_EnumDomains_connect_handle(tvb, offset, pinfo, tree, di, drep);
9450 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9451 offset = samr_dissect_element_EnumDomains_resume_handle(tvb, offset, pinfo, tree, di, drep);
9452 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9453 offset = samr_dissect_element_EnumDomains_buf_size(tvb, offset, pinfo, tree, di, drep);
9454 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9455 return offset;
9458 static int
9459 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_, uint8_t *drep _U_)
9461 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);
9463 return offset;
9466 static int
9467 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_, uint8_t *drep _U_)
9469 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, 0);
9471 return offset;
9474 static int
9475 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_, uint8_t *drep _U_)
9477 offset = samr_dissect_bitmap_DomainAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_access_mask, 0);
9479 return offset;
9482 static int
9483 samr_dissect_element_OpenDomain_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9485 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);
9487 return offset;
9490 static int
9491 samr_dissect_element_OpenDomain_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9493 offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
9495 return offset;
9498 static int
9499 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_, uint8_t *drep _U_)
9501 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);
9503 return offset;
9506 static int
9507 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_, uint8_t *drep _U_)
9509 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_DOMAIN);
9511 return offset;
9514 /* IDL: NTSTATUS samr_OpenDomain( */
9515 /* IDL: [in] [ref] policy_handle *connect_handle, */
9516 /* IDL: [in] samr_DomainAccessMask access_mask, */
9517 /* IDL: [in] [ref] dom_sid2 *sid, */
9518 /* IDL: [out] [ref] policy_handle *domain_handle */
9519 /* IDL: ); */
9521 static int
9522 samr_dissect_OpenDomain_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9524 uint32_t status;
9526 di->dcerpc_procedure_name="OpenDomain";
9527 offset = samr_dissect_element_OpenDomain_domain_handle(tvb, offset, pinfo, tree, di, drep);
9528 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9530 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9532 if (status != 0)
9533 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9535 return offset;
9538 static int
9539 samr_dissect_OpenDomain_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9541 di->dcerpc_procedure_name="OpenDomain";
9542 offset = samr_dissect_element_OpenDomain_connect_handle(tvb, offset, pinfo, tree, di, drep);
9543 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9544 offset = samr_dissect_element_OpenDomain_access_mask(tvb, offset, pinfo, tree, di, drep);
9545 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9546 offset = samr_dissect_element_OpenDomain_sid(tvb, offset, pinfo, tree, di, drep);
9547 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9548 return offset;
9551 static int
9552 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_, uint8_t *drep _U_)
9554 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);
9556 return offset;
9559 static int
9560 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_, uint8_t *drep _U_)
9562 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
9564 return offset;
9567 static int
9568 samr_dissect_element_QueryDomainInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9570 offset = samr_dissect_enum_DomainInfoClass(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDomainInfo_level, 0);
9572 return offset;
9575 static int
9576 samr_dissect_element_QueryDomainInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9578 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);
9580 return offset;
9583 static int
9584 samr_dissect_element_QueryDomainInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9586 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);
9588 return offset;
9591 static int
9592 samr_dissect_element_QueryDomainInfo_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9594 offset = samr_dissect_DomainInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDomainInfo_info, 0);
9596 return offset;
9599 /* IDL: NTSTATUS samr_QueryDomainInfo( */
9600 /* IDL: [in] [ref] policy_handle *domain_handle, */
9601 /* IDL: [in] samr_DomainInfoClass level, */
9602 /* IDL: [out] [ref] [switch_is(level)] samr_DomainInfo **info */
9603 /* IDL: ); */
9605 static int
9606 samr_dissect_QueryDomainInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9608 uint32_t status;
9610 di->dcerpc_procedure_name="QueryDomainInfo";
9611 offset = samr_dissect_element_QueryDomainInfo_info(tvb, offset, pinfo, tree, di, drep);
9612 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9614 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9616 if (status != 0)
9617 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9619 return offset;
9622 static int
9623 samr_dissect_QueryDomainInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9625 di->dcerpc_procedure_name="QueryDomainInfo";
9626 offset = samr_dissect_element_QueryDomainInfo_domain_handle(tvb, offset, pinfo, tree, di, drep);
9627 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9628 offset = samr_dissect_element_QueryDomainInfo_level(tvb, offset, pinfo, tree, di, drep);
9629 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9630 return offset;
9633 static int
9634 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_, uint8_t *drep _U_)
9636 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);
9638 return offset;
9641 static int
9642 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_, uint8_t *drep _U_)
9644 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
9646 return offset;
9649 static int
9650 samr_dissect_element_SetDomainInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9652 offset = samr_dissect_enum_DomainInfoClass(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetDomainInfo_level, 0);
9654 return offset;
9657 static int
9658 samr_dissect_element_SetDomainInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9660 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);
9662 return offset;
9665 static int
9666 samr_dissect_element_SetDomainInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9668 offset = samr_dissect_DomainInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetDomainInfo_info, 0);
9670 return offset;
9673 /* IDL: NTSTATUS samr_SetDomainInfo( */
9674 /* IDL: [in] [ref] policy_handle *domain_handle, */
9675 /* IDL: [in] samr_DomainInfoClass level, */
9676 /* IDL: [in] [ref] [switch_is(level)] samr_DomainInfo *info */
9677 /* IDL: ); */
9679 static int
9680 samr_dissect_SetDomainInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9682 uint32_t status;
9684 di->dcerpc_procedure_name="SetDomainInfo";
9685 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9687 if (status != 0)
9688 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9690 return offset;
9693 static int
9694 samr_dissect_SetDomainInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9696 di->dcerpc_procedure_name="SetDomainInfo";
9697 offset = samr_dissect_element_SetDomainInfo_domain_handle(tvb, offset, pinfo, tree, di, drep);
9698 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9699 offset = samr_dissect_element_SetDomainInfo_level(tvb, offset, pinfo, tree, di, drep);
9700 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9701 offset = samr_dissect_element_SetDomainInfo_info(tvb, offset, pinfo, tree, di, drep);
9702 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9703 return offset;
9706 static int
9707 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_, uint8_t *drep _U_)
9709 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);
9711 return offset;
9714 static int
9715 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_, uint8_t *drep _U_)
9717 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
9719 return offset;
9722 static int
9723 samr_dissect_element_CreateDomainGroup_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9725 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);
9727 return offset;
9730 static int
9731 samr_dissect_element_CreateDomainGroup_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9733 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_CreateDomainGroup_name);
9735 return offset;
9738 static int
9739 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_, uint8_t *drep _U_)
9741 offset = samr_dissect_bitmap_GroupAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_group_access_mask, 0);
9743 return offset;
9746 static int
9747 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_, uint8_t *drep _U_)
9749 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);
9751 return offset;
9754 static int
9755 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_, uint8_t *drep _U_)
9757 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_GROUP);
9759 return offset;
9762 static int
9763 samr_dissect_element_CreateDomainGroup_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9765 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);
9767 return offset;
9770 static int
9771 samr_dissect_element_CreateDomainGroup_rid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9773 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
9775 return offset;
9778 /* IDL: NTSTATUS samr_CreateDomainGroup( */
9779 /* IDL: [in] [ref] policy_handle *domain_handle, */
9780 /* IDL: [in] [ref] lsa_String *name, */
9781 /* IDL: [in] samr_GroupAccessMask access_mask, */
9782 /* IDL: [out] [ref] policy_handle *group_handle, */
9783 /* IDL: [out] [ref] uint32 *rid */
9784 /* IDL: ); */
9786 static int
9787 samr_dissect_CreateDomainGroup_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9789 uint32_t status;
9791 di->dcerpc_procedure_name="CreateDomainGroup";
9792 offset = samr_dissect_element_CreateDomainGroup_group_handle(tvb, offset, pinfo, tree, di, drep);
9793 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9795 offset = samr_dissect_element_CreateDomainGroup_rid(tvb, offset, pinfo, tree, di, drep);
9796 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9798 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9800 if (status != 0)
9801 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9803 return offset;
9806 static int
9807 samr_dissect_CreateDomainGroup_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9809 di->dcerpc_procedure_name="CreateDomainGroup";
9810 offset = samr_dissect_element_CreateDomainGroup_domain_handle(tvb, offset, pinfo, tree, di, drep);
9811 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9812 offset = samr_dissect_element_CreateDomainGroup_name(tvb, offset, pinfo, tree, di, drep);
9813 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9814 offset = samr_dissect_element_CreateDomainGroup_access_mask(tvb, offset, pinfo, tree, di, drep);
9815 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9816 return offset;
9819 static int
9820 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_, uint8_t *drep _U_)
9822 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);
9824 return offset;
9827 static int
9828 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_, uint8_t *drep _U_)
9830 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
9832 return offset;
9835 static int
9836 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_, uint8_t *drep _U_)
9838 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);
9840 return offset;
9843 static int
9844 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_, uint8_t *drep _U_)
9846 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainGroups_resume_handle, 0);
9848 return offset;
9851 static int
9852 samr_dissect_element_EnumDomainGroups_sam(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9854 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);
9856 return offset;
9859 static int
9860 samr_dissect_element_EnumDomainGroups_sam_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9862 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);
9864 return offset;
9867 static int
9868 samr_dissect_element_EnumDomainGroups_sam__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9870 offset = samr_dissect_struct_SamArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_EnumDomainGroups_sam,0);
9872 return offset;
9875 static int
9876 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_, uint8_t *drep _U_)
9878 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainGroups_max_size, 0);
9880 return offset;
9883 static int
9884 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_, uint8_t *drep _U_)
9886 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);
9888 return offset;
9891 static int
9892 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_, uint8_t *drep _U_)
9894 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainGroups_num_entries, 0);
9896 return offset;
9899 /* IDL: NTSTATUS samr_EnumDomainGroups( */
9900 /* IDL: [in] [ref] policy_handle *domain_handle, */
9901 /* IDL: [in] [out] [ref] uint32 *resume_handle, */
9902 /* IDL: [out] [ref] samr_SamArray **sam, */
9903 /* IDL: [in] uint32 max_size, */
9904 /* IDL: [out] [ref] uint32 *num_entries */
9905 /* IDL: ); */
9907 static int
9908 samr_dissect_EnumDomainGroups_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9910 uint32_t status;
9912 di->dcerpc_procedure_name="EnumDomainGroups";
9913 offset = samr_dissect_element_EnumDomainGroups_resume_handle(tvb, offset, pinfo, tree, di, drep);
9914 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9916 offset = samr_dissect_element_EnumDomainGroups_sam(tvb, offset, pinfo, tree, di, drep);
9917 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9919 offset = samr_dissect_element_EnumDomainGroups_num_entries(tvb, offset, pinfo, tree, di, drep);
9920 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9922 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
9924 if (status != 0)
9925 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
9927 return offset;
9930 static int
9931 samr_dissect_EnumDomainGroups_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
9933 di->dcerpc_procedure_name="EnumDomainGroups";
9934 offset = samr_dissect_element_EnumDomainGroups_domain_handle(tvb, offset, pinfo, tree, di, drep);
9935 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9936 offset = samr_dissect_element_EnumDomainGroups_resume_handle(tvb, offset, pinfo, tree, di, drep);
9937 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9938 offset = samr_dissect_element_EnumDomainGroups_max_size(tvb, offset, pinfo, tree, di, drep);
9939 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
9940 return offset;
9943 static int
9944 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_, uint8_t *drep _U_)
9946 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);
9948 return offset;
9951 static int
9952 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_, uint8_t *drep _U_)
9954 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
9956 return offset;
9959 static int
9960 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_, uint8_t *drep _U_)
9962 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);
9964 return offset;
9967 static int
9968 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_, uint8_t *drep _U_)
9970 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);
9972 return offset;
9975 static int
9976 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_, uint8_t *drep _U_)
9978 offset = samr_dissect_bitmap_UserAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_user_access_mask, 0);
9980 return offset;
9983 static int
9984 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_, uint8_t *drep _U_)
9986 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);
9988 return offset;
9991 static int
9992 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_, uint8_t *drep _U_)
9994 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_USER);
9996 return offset;
9999 static int
10000 samr_dissect_element_CreateUser_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10002 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);
10004 return offset;
10007 static int
10008 samr_dissect_element_CreateUser_rid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10010 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
10012 return offset;
10015 /* IDL: NTSTATUS samr_CreateUser( */
10016 /* IDL: [in] [ref] policy_handle *domain_handle, */
10017 /* IDL: [in] [ref] lsa_String *account_name, */
10018 /* IDL: [in] samr_UserAccessMask access_mask, */
10019 /* IDL: [out] [ref] policy_handle *user_handle, */
10020 /* IDL: [out] [ref] uint32 *rid */
10021 /* IDL: ); */
10023 static int
10024 samr_dissect_CreateUser_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10026 uint32_t status;
10028 di->dcerpc_procedure_name="CreateUser";
10029 offset = samr_dissect_element_CreateUser_user_handle(tvb, offset, pinfo, tree, di, drep);
10030 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10032 offset = samr_dissect_element_CreateUser_rid(tvb, offset, pinfo, tree, di, drep);
10033 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10035 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10037 if (status != 0)
10038 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10040 return offset;
10043 static int
10044 samr_dissect_CreateUser_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10046 di->dcerpc_procedure_name="CreateUser";
10047 offset = samr_dissect_element_CreateUser_domain_handle(tvb, offset, pinfo, tree, di, drep);
10048 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10049 offset = samr_dissect_element_CreateUser_account_name(tvb, offset, pinfo, tree, di, drep);
10050 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10051 offset = samr_dissect_element_CreateUser_access_mask(tvb, offset, pinfo, tree, di, drep);
10052 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10053 return offset;
10056 static int
10057 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_, uint8_t *drep _U_)
10059 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);
10061 return offset;
10064 static int
10065 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_, uint8_t *drep _U_)
10067 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10069 return offset;
10072 static int
10073 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_, uint8_t *drep _U_)
10075 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);
10077 return offset;
10080 static int
10081 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_, uint8_t *drep _U_)
10083 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainUsers_resume_handle, 0);
10085 return offset;
10088 static int
10089 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_, uint8_t *drep _U_)
10091 offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainUsers_acct_flags, 0);
10093 return offset;
10096 static int
10097 samr_dissect_element_EnumDomainUsers_sam(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10099 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);
10101 return offset;
10104 static int
10105 samr_dissect_element_EnumDomainUsers_sam_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10107 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);
10109 return offset;
10112 static int
10113 samr_dissect_element_EnumDomainUsers_sam__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10115 offset = samr_dissect_struct_SamArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_EnumDomainUsers_sam,0);
10117 return offset;
10120 static int
10121 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_, uint8_t *drep _U_)
10123 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainUsers_max_size, 0);
10125 return offset;
10128 static int
10129 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_, uint8_t *drep _U_)
10131 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);
10133 return offset;
10136 static int
10137 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_, uint8_t *drep _U_)
10139 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainUsers_num_entries, 0);
10141 return offset;
10144 /* IDL: NTSTATUS samr_EnumDomainUsers( */
10145 /* IDL: [in] [ref] policy_handle *domain_handle, */
10146 /* IDL: [in] [out] [ref] uint32 *resume_handle, */
10147 /* IDL: [in] samr_AcctFlags acct_flags, */
10148 /* IDL: [out] [ref] samr_SamArray **sam, */
10149 /* IDL: [in] uint32 max_size, */
10150 /* IDL: [out] [ref] uint32 *num_entries */
10151 /* IDL: ); */
10153 static int
10154 samr_dissect_EnumDomainUsers_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10156 uint32_t status;
10158 di->dcerpc_procedure_name="EnumDomainUsers";
10159 offset = samr_dissect_element_EnumDomainUsers_resume_handle(tvb, offset, pinfo, tree, di, drep);
10160 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10162 offset = samr_dissect_element_EnumDomainUsers_sam(tvb, offset, pinfo, tree, di, drep);
10163 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10165 offset = samr_dissect_element_EnumDomainUsers_num_entries(tvb, offset, pinfo, tree, di, drep);
10166 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10168 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10170 if (status != 0)
10171 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10173 return offset;
10176 static int
10177 samr_dissect_EnumDomainUsers_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10179 di->dcerpc_procedure_name="EnumDomainUsers";
10180 offset = samr_dissect_element_EnumDomainUsers_domain_handle(tvb, offset, pinfo, tree, di, drep);
10181 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10182 offset = samr_dissect_element_EnumDomainUsers_resume_handle(tvb, offset, pinfo, tree, di, drep);
10183 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10184 offset = samr_dissect_element_EnumDomainUsers_acct_flags(tvb, offset, pinfo, tree, di, drep);
10185 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10186 offset = samr_dissect_element_EnumDomainUsers_max_size(tvb, offset, pinfo, tree, di, drep);
10187 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10188 return offset;
10191 static int
10192 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_, uint8_t *drep _U_)
10194 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);
10196 return offset;
10199 static int
10200 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_, uint8_t *drep _U_)
10202 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10204 return offset;
10207 static int
10208 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_, uint8_t *drep _U_)
10210 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);
10212 return offset;
10215 static int
10216 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_, uint8_t *drep _U_)
10218 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_CreateDomAlias_alias_name);
10220 return offset;
10223 static int
10224 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_, uint8_t *drep _U_)
10226 offset = samr_dissect_bitmap_AliasAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_access_mask, 0);
10228 return offset;
10231 static int
10232 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_, uint8_t *drep _U_)
10234 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);
10236 return offset;
10239 static int
10240 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_, uint8_t *drep _U_)
10242 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_ALIAS);
10244 return offset;
10247 static int
10248 samr_dissect_element_CreateDomAlias_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10250 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);
10252 return offset;
10255 static int
10256 samr_dissect_element_CreateDomAlias_rid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10258 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
10260 return offset;
10263 /* IDL: NTSTATUS samr_CreateDomAlias( */
10264 /* IDL: [in] [ref] policy_handle *domain_handle, */
10265 /* IDL: [in] [ref] lsa_String *alias_name, */
10266 /* IDL: [in] samr_AliasAccessMask access_mask, */
10267 /* IDL: [out] [ref] policy_handle *alias_handle, */
10268 /* IDL: [out] [ref] uint32 *rid */
10269 /* IDL: ); */
10271 static int
10272 samr_dissect_CreateDomAlias_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10274 uint32_t status;
10276 di->dcerpc_procedure_name="CreateDomAlias";
10277 offset = samr_dissect_element_CreateDomAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
10278 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10280 offset = samr_dissect_element_CreateDomAlias_rid(tvb, offset, pinfo, tree, di, drep);
10281 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10283 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10285 if (status != 0)
10286 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10288 return offset;
10291 static int
10292 samr_dissect_CreateDomAlias_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10294 di->dcerpc_procedure_name="CreateDomAlias";
10295 offset = samr_dissect_element_CreateDomAlias_domain_handle(tvb, offset, pinfo, tree, di, drep);
10296 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10297 offset = samr_dissect_element_CreateDomAlias_alias_name(tvb, offset, pinfo, tree, di, drep);
10298 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10299 offset = samr_dissect_element_CreateDomAlias_access_mask(tvb, offset, pinfo, tree, di, drep);
10300 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10301 return offset;
10304 static int
10305 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_, uint8_t *drep _U_)
10307 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);
10309 return offset;
10312 static int
10313 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_, uint8_t *drep _U_)
10315 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10317 return offset;
10320 static int
10321 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_, uint8_t *drep _U_)
10323 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);
10325 return offset;
10328 static int
10329 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_, uint8_t *drep _U_)
10331 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainAliases_resume_handle, 0);
10333 return offset;
10336 static int
10337 samr_dissect_element_EnumDomainAliases_sam(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10339 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);
10341 return offset;
10344 static int
10345 samr_dissect_element_EnumDomainAliases_sam_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10347 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);
10349 return offset;
10352 static int
10353 samr_dissect_element_EnumDomainAliases_sam__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10355 offset = samr_dissect_struct_SamArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_EnumDomainAliases_sam,0);
10357 return offset;
10360 static int
10361 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_, uint8_t *drep _U_)
10363 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainAliases_max_size, 0);
10365 return offset;
10368 static int
10369 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_, uint8_t *drep _U_)
10371 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);
10373 return offset;
10376 static int
10377 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_, uint8_t *drep _U_)
10379 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_EnumDomainAliases_num_entries, 0);
10381 return offset;
10384 /* IDL: NTSTATUS samr_EnumDomainAliases( */
10385 /* IDL: [in] [ref] policy_handle *domain_handle, */
10386 /* IDL: [in] [out] [ref] uint32 *resume_handle, */
10387 /* IDL: [out] [ref] samr_SamArray **sam, */
10388 /* IDL: [in] uint32 max_size, */
10389 /* IDL: [out] [ref] uint32 *num_entries */
10390 /* IDL: ); */
10392 static int
10393 samr_dissect_EnumDomainAliases_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10395 uint32_t status;
10397 di->dcerpc_procedure_name="EnumDomainAliases";
10398 offset = samr_dissect_element_EnumDomainAliases_resume_handle(tvb, offset, pinfo, tree, di, drep);
10399 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10401 offset = samr_dissect_element_EnumDomainAliases_sam(tvb, offset, pinfo, tree, di, drep);
10402 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10404 offset = samr_dissect_element_EnumDomainAliases_num_entries(tvb, offset, pinfo, tree, di, drep);
10405 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10407 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10409 if (status != 0)
10410 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10412 return offset;
10415 static int
10416 samr_dissect_EnumDomainAliases_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10418 di->dcerpc_procedure_name="EnumDomainAliases";
10419 offset = samr_dissect_element_EnumDomainAliases_domain_handle(tvb, offset, pinfo, tree, di, drep);
10420 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10421 offset = samr_dissect_element_EnumDomainAliases_resume_handle(tvb, offset, pinfo, tree, di, drep);
10422 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10423 offset = samr_dissect_element_EnumDomainAliases_max_size(tvb, offset, pinfo, tree, di, drep);
10424 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10425 return offset;
10428 static int
10429 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_, uint8_t *drep _U_)
10431 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);
10433 return offset;
10436 static int
10437 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_, uint8_t *drep _U_)
10439 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10441 return offset;
10444 static int
10445 samr_dissect_element_GetAliasMembership_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10447 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);
10449 return offset;
10452 static int
10453 samr_dissect_element_GetAliasMembership_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10455 offset=cnf_dissect_lsa_SidArray(tvb, offset, pinfo, tree, di, drep);
10457 return offset;
10460 static int
10461 samr_dissect_element_GetAliasMembership_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10463 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);
10465 return offset;
10468 static int
10469 samr_dissect_element_GetAliasMembership_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10471 offset = samr_dissect_struct_Ids(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GetAliasMembership_rids,0);
10473 return offset;
10476 /* IDL: NTSTATUS samr_GetAliasMembership( */
10477 /* IDL: [in] [ref] policy_handle *domain_handle, */
10478 /* IDL: [in] [ref] lsa_SidArray *sids, */
10479 /* IDL: [out] [ref] samr_Ids *rids */
10480 /* IDL: ); */
10482 static int
10483 samr_dissect_GetAliasMembership_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10485 uint32_t status;
10487 di->dcerpc_procedure_name="GetAliasMembership";
10488 offset = samr_dissect_element_GetAliasMembership_rids(tvb, offset, pinfo, tree, di, drep);
10489 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10491 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10493 if (status != 0)
10494 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10496 return offset;
10499 static int
10500 samr_dissect_GetAliasMembership_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10502 di->dcerpc_procedure_name="GetAliasMembership";
10503 offset = samr_dissect_element_GetAliasMembership_domain_handle(tvb, offset, pinfo, tree, di, drep);
10504 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10505 offset = samr_dissect_element_GetAliasMembership_sids(tvb, offset, pinfo, tree, di, drep);
10506 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10507 return offset;
10510 static int
10511 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_, uint8_t *drep _U_)
10513 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);
10515 return offset;
10518 static int
10519 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_, uint8_t *drep _U_)
10521 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10523 return offset;
10526 static int
10527 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_, uint8_t *drep _U_)
10529 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_LookupNames_num_names, 0);
10531 return offset;
10534 static int
10535 samr_dissect_element_LookupNames_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10537 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);
10539 return offset;
10542 static int
10543 samr_dissect_element_LookupNames_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10545 offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupNames_names__);
10547 return offset;
10550 static int
10551 samr_dissect_element_LookupNames_names__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10553 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_LookupNames_names);
10555 return offset;
10558 static int
10559 samr_dissect_element_LookupNames_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10561 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);
10563 return offset;
10566 static int
10567 samr_dissect_element_LookupNames_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10569 offset = samr_dissect_struct_Ids(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_LookupNames_rids,0);
10571 return offset;
10574 static int
10575 samr_dissect_element_LookupNames_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10577 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);
10579 return offset;
10582 static int
10583 samr_dissect_element_LookupNames_types_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10585 offset = samr_dissect_struct_Ids(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_LookupNames_types,0);
10587 return offset;
10590 /* IDL: NTSTATUS samr_LookupNames( */
10591 /* IDL: [in] [ref] policy_handle *domain_handle, */
10592 /* IDL: [in] [range(0,1000)] uint32 num_names, */
10593 /* IDL: [in] [length_is(num_names)] [ref] [size_is(1000)] lsa_String *names, */
10594 /* IDL: [out] [ref] samr_Ids *rids, */
10595 /* IDL: [out] [ref] samr_Ids *types */
10596 /* IDL: ); */
10598 static int
10599 samr_dissect_LookupNames_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10601 uint32_t status;
10603 di->dcerpc_procedure_name="LookupNames";
10604 offset = samr_dissect_element_LookupNames_rids(tvb, offset, pinfo, tree, di, drep);
10605 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10607 offset = samr_dissect_element_LookupNames_types(tvb, offset, pinfo, tree, di, drep);
10608 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10610 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10612 if (status != 0)
10613 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10615 return offset;
10618 static int
10619 samr_dissect_LookupNames_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10621 di->dcerpc_procedure_name="LookupNames";
10622 offset = samr_dissect_element_LookupNames_domain_handle(tvb, offset, pinfo, tree, di, drep);
10623 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10624 offset = samr_dissect_element_LookupNames_num_names(tvb, offset, pinfo, tree, di, drep);
10625 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10626 offset = samr_dissect_element_LookupNames_names(tvb, offset, pinfo, tree, di, drep);
10627 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10628 return offset;
10631 static int
10632 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_, uint8_t *drep _U_)
10634 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);
10636 return offset;
10639 static int
10640 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_, uint8_t *drep _U_)
10642 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10644 return offset;
10647 static int
10648 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_, uint8_t *drep _U_)
10650 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_LookupRids_num_rids, 0);
10652 return offset;
10655 static int
10656 samr_dissect_element_LookupRids_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10658 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupRids_rids_, NDR_POINTER_REF, "Pointer to Rids (uint32)",hf_samr_rid);
10660 return offset;
10663 static int
10664 samr_dissect_element_LookupRids_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10666 offset = dissect_ndr_ucvarray(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_LookupRids_rids__);
10668 return offset;
10671 static int
10672 samr_dissect_element_LookupRids_rids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10674 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
10676 return offset;
10679 static int
10680 samr_dissect_element_LookupRids_names(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10682 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);
10684 return offset;
10687 static int
10688 samr_dissect_element_LookupRids_names_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10690 offset = samr_dissect_struct_lsa_Strings(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_LookupRids_names,0);
10692 return offset;
10695 static int
10696 samr_dissect_element_LookupRids_types(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10698 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);
10700 return offset;
10703 static int
10704 samr_dissect_element_LookupRids_types_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10706 offset = samr_dissect_struct_Ids(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_LookupRids_types,0);
10708 return offset;
10711 /* IDL: NTSTATUS samr_LookupRids( */
10712 /* IDL: [in] [ref] policy_handle *domain_handle, */
10713 /* IDL: [in] [range(0,1000)] uint32 num_rids, */
10714 /* IDL: [in] [length_is(num_rids)] [ref] [size_is(1000)] uint32 *rids, */
10715 /* IDL: [out] [ref] lsa_Strings *names, */
10716 /* IDL: [out] [ref] samr_Ids *types */
10717 /* IDL: ); */
10719 static int
10720 samr_dissect_LookupRids_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10722 uint32_t status;
10724 di->dcerpc_procedure_name="LookupRids";
10725 offset = samr_dissect_element_LookupRids_names(tvb, offset, pinfo, tree, di, drep);
10726 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10728 offset = samr_dissect_element_LookupRids_types(tvb, offset, pinfo, tree, di, drep);
10729 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10731 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10733 if (status != 0)
10734 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10736 return offset;
10739 static int
10740 samr_dissect_LookupRids_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10742 di->dcerpc_procedure_name="LookupRids";
10743 offset = samr_dissect_element_LookupRids_domain_handle(tvb, offset, pinfo, tree, di, drep);
10744 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10745 offset = samr_dissect_element_LookupRids_num_rids(tvb, offset, pinfo, tree, di, drep);
10746 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10747 offset = samr_dissect_element_LookupRids_rids(tvb, offset, pinfo, tree, di, drep);
10748 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10749 return offset;
10752 static int
10753 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_, uint8_t *drep _U_)
10755 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);
10757 return offset;
10760 static int
10761 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_, uint8_t *drep _U_)
10763 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
10765 return offset;
10768 static int
10769 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_, uint8_t *drep _U_)
10771 offset = samr_dissect_bitmap_GroupAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_group_access_mask, 0);
10773 return offset;
10776 static int
10777 samr_dissect_element_OpenGroup_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10779 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
10781 return offset;
10784 static int
10785 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_, uint8_t *drep _U_)
10787 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);
10789 return offset;
10792 static int
10793 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_, uint8_t *drep _U_)
10795 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_GROUP);
10797 return offset;
10800 /* IDL: NTSTATUS samr_OpenGroup( */
10801 /* IDL: [in] [ref] policy_handle *domain_handle, */
10802 /* IDL: [in] samr_GroupAccessMask access_mask, */
10803 /* IDL: [in] uint32 rid, */
10804 /* IDL: [out] [ref] policy_handle *group_handle */
10805 /* IDL: ); */
10807 static int
10808 samr_dissect_OpenGroup_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10810 uint32_t status;
10812 di->dcerpc_procedure_name="OpenGroup";
10813 offset = samr_dissect_element_OpenGroup_group_handle(tvb, offset, pinfo, tree, di, drep);
10814 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10816 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10818 if (status != 0)
10819 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10821 return offset;
10824 static int
10825 samr_dissect_OpenGroup_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10827 di->dcerpc_procedure_name="OpenGroup";
10828 offset = samr_dissect_element_OpenGroup_domain_handle(tvb, offset, pinfo, tree, di, drep);
10829 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10830 offset = samr_dissect_element_OpenGroup_access_mask(tvb, offset, pinfo, tree, di, drep);
10831 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10832 offset = samr_dissect_element_OpenGroup_rid(tvb, offset, pinfo, tree, di, drep);
10833 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10834 return offset;
10837 static int
10838 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_, uint8_t *drep _U_)
10840 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);
10842 return offset;
10845 static int
10846 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_, uint8_t *drep _U_)
10848 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
10850 return offset;
10853 static int
10854 samr_dissect_element_QueryGroupInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10856 offset = samr_dissect_enum_GroupInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryGroupInfo_level, 0);
10858 return offset;
10861 static int
10862 samr_dissect_element_QueryGroupInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10864 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);
10866 return offset;
10869 static int
10870 samr_dissect_element_QueryGroupInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10872 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);
10874 return offset;
10877 static int
10878 samr_dissect_element_QueryGroupInfo_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10880 offset = samr_dissect_GroupInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryGroupInfo_info, 0);
10882 return offset;
10885 /* IDL: NTSTATUS samr_QueryGroupInfo( */
10886 /* IDL: [in] [ref] policy_handle *group_handle, */
10887 /* IDL: [in] samr_GroupInfoEnum level, */
10888 /* IDL: [out] [ref] [switch_is(level)] samr_GroupInfo **info */
10889 /* IDL: ); */
10891 static int
10892 samr_dissect_QueryGroupInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10894 uint32_t status;
10896 di->dcerpc_procedure_name="QueryGroupInfo";
10897 offset = samr_dissect_element_QueryGroupInfo_info(tvb, offset, pinfo, tree, di, drep);
10898 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10900 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10902 if (status != 0)
10903 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10905 return offset;
10908 static int
10909 samr_dissect_QueryGroupInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10911 di->dcerpc_procedure_name="QueryGroupInfo";
10912 offset = samr_dissect_element_QueryGroupInfo_group_handle(tvb, offset, pinfo, tree, di, drep);
10913 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10914 offset = samr_dissect_element_QueryGroupInfo_level(tvb, offset, pinfo, tree, di, drep);
10915 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10916 return offset;
10919 static int
10920 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_, uint8_t *drep _U_)
10922 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);
10924 return offset;
10927 static int
10928 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_, uint8_t *drep _U_)
10930 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
10932 return offset;
10935 static int
10936 samr_dissect_element_SetGroupInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10938 offset = samr_dissect_enum_GroupInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetGroupInfo_level, 0);
10940 return offset;
10943 static int
10944 samr_dissect_element_SetGroupInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10946 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);
10948 return offset;
10951 static int
10952 samr_dissect_element_SetGroupInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10954 offset = samr_dissect_GroupInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetGroupInfo_info, 0);
10956 return offset;
10959 /* IDL: NTSTATUS samr_SetGroupInfo( */
10960 /* IDL: [in] [ref] policy_handle *group_handle, */
10961 /* IDL: [in] samr_GroupInfoEnum level, */
10962 /* IDL: [in] [ref] [switch_is(level)] samr_GroupInfo *info */
10963 /* IDL: ); */
10965 static int
10966 samr_dissect_SetGroupInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10968 uint32_t status;
10970 di->dcerpc_procedure_name="SetGroupInfo";
10971 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
10973 if (status != 0)
10974 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
10976 return offset;
10979 static int
10980 samr_dissect_SetGroupInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
10982 di->dcerpc_procedure_name="SetGroupInfo";
10983 offset = samr_dissect_element_SetGroupInfo_group_handle(tvb, offset, pinfo, tree, di, drep);
10984 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10985 offset = samr_dissect_element_SetGroupInfo_level(tvb, offset, pinfo, tree, di, drep);
10986 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10987 offset = samr_dissect_element_SetGroupInfo_info(tvb, offset, pinfo, tree, di, drep);
10988 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
10989 return offset;
10992 static int
10993 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_, uint8_t *drep _U_)
10995 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);
10997 return offset;
11000 static int
11001 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_, uint8_t *drep _U_)
11003 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
11005 return offset;
11008 static int
11009 samr_dissect_element_AddGroupMember_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11011 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
11013 return offset;
11016 static int
11017 samr_dissect_element_AddGroupMember_flags(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11019 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_AddGroupMember_flags, 0);
11021 return offset;
11024 /* IDL: NTSTATUS samr_AddGroupMember( */
11025 /* IDL: [in] [ref] policy_handle *group_handle, */
11026 /* IDL: [in] uint32 rid, */
11027 /* IDL: [in] uint32 flags */
11028 /* IDL: ); */
11030 static int
11031 samr_dissect_AddGroupMember_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11033 uint32_t status;
11035 di->dcerpc_procedure_name="AddGroupMember";
11036 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11038 if (status != 0)
11039 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11041 return offset;
11044 static int
11045 samr_dissect_AddGroupMember_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11047 di->dcerpc_procedure_name="AddGroupMember";
11048 offset = samr_dissect_element_AddGroupMember_group_handle(tvb, offset, pinfo, tree, di, drep);
11049 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11050 offset = samr_dissect_element_AddGroupMember_rid(tvb, offset, pinfo, tree, di, drep);
11051 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11052 offset = samr_dissect_element_AddGroupMember_flags(tvb, offset, pinfo, tree, di, drep);
11053 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11054 return offset;
11057 static int
11058 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_, uint8_t *drep _U_)
11060 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);
11062 return offset;
11065 static int
11066 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_, uint8_t *drep _U_)
11068 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, PIDL_POLHND_CLOSE);
11070 return offset;
11073 /* IDL: NTSTATUS samr_DeleteDomainGroup( */
11074 /* IDL: [in] [out] [ref] policy_handle *group_handle */
11075 /* IDL: ); */
11077 static int
11078 samr_dissect_DeleteDomainGroup_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11080 uint32_t status;
11082 di->dcerpc_procedure_name="DeleteDomainGroup";
11083 offset = samr_dissect_element_DeleteDomainGroup_group_handle(tvb, offset, pinfo, tree, di, drep);
11084 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11086 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11088 if (status != 0)
11089 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11091 return offset;
11094 static int
11095 samr_dissect_DeleteDomainGroup_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11097 di->dcerpc_procedure_name="DeleteDomainGroup";
11098 offset = samr_dissect_element_DeleteDomainGroup_group_handle(tvb, offset, pinfo, tree, di, drep);
11099 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11100 return offset;
11103 static int
11104 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_, uint8_t *drep _U_)
11106 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);
11108 return offset;
11111 static int
11112 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_, uint8_t *drep _U_)
11114 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
11116 return offset;
11119 static int
11120 samr_dissect_element_DeleteGroupMember_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11122 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
11124 return offset;
11127 /* IDL: NTSTATUS samr_DeleteGroupMember( */
11128 /* IDL: [in] [ref] policy_handle *group_handle, */
11129 /* IDL: [in] uint32 rid */
11130 /* IDL: ); */
11132 static int
11133 samr_dissect_DeleteGroupMember_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11135 uint32_t status;
11137 di->dcerpc_procedure_name="DeleteGroupMember";
11138 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11140 if (status != 0)
11141 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11143 return offset;
11146 static int
11147 samr_dissect_DeleteGroupMember_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11149 di->dcerpc_procedure_name="DeleteGroupMember";
11150 offset = samr_dissect_element_DeleteGroupMember_group_handle(tvb, offset, pinfo, tree, di, drep);
11151 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11152 offset = samr_dissect_element_DeleteGroupMember_rid(tvb, offset, pinfo, tree, di, drep);
11153 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11154 return offset;
11157 static int
11158 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_, uint8_t *drep _U_)
11160 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);
11162 return offset;
11165 static int
11166 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_, uint8_t *drep _U_)
11168 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
11170 return offset;
11173 static int
11174 samr_dissect_element_QueryGroupMember_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11176 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);
11178 return offset;
11181 static int
11182 samr_dissect_element_QueryGroupMember_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11184 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);
11186 return offset;
11189 static int
11190 samr_dissect_element_QueryGroupMember_rids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11192 offset = samr_dissect_struct_RidTypeArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_QueryGroupMember_rids,0);
11194 return offset;
11197 /* IDL: NTSTATUS samr_QueryGroupMember( */
11198 /* IDL: [in] [ref] policy_handle *group_handle, */
11199 /* IDL: [out] [ref] samr_RidTypeArray **rids */
11200 /* IDL: ); */
11202 static int
11203 samr_dissect_QueryGroupMember_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11205 uint32_t status;
11207 di->dcerpc_procedure_name="QueryGroupMember";
11208 offset = samr_dissect_element_QueryGroupMember_rids(tvb, offset, pinfo, tree, di, drep);
11209 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11211 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11213 if (status != 0)
11214 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11216 return offset;
11219 static int
11220 samr_dissect_QueryGroupMember_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11222 di->dcerpc_procedure_name="QueryGroupMember";
11223 offset = samr_dissect_element_QueryGroupMember_group_handle(tvb, offset, pinfo, tree, di, drep);
11224 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11225 return offset;
11228 static int
11229 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_, uint8_t *drep _U_)
11231 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);
11233 return offset;
11236 static int
11237 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_, uint8_t *drep _U_)
11239 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_group_handle, 0);
11241 return offset;
11244 static int
11245 samr_dissect_element_SetMemberAttributesOfGroup_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11247 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetMemberAttributesOfGroup_unknown1, 0);
11249 return offset;
11252 static int
11253 samr_dissect_element_SetMemberAttributesOfGroup_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11255 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetMemberAttributesOfGroup_unknown2, 0);
11257 return offset;
11260 /* IDL: NTSTATUS samr_SetMemberAttributesOfGroup( */
11261 /* IDL: [in] [ref] policy_handle *group_handle, */
11262 /* IDL: [in] uint32 unknown1, */
11263 /* IDL: [in] uint32 unknown2 */
11264 /* IDL: ); */
11266 static int
11267 samr_dissect_SetMemberAttributesOfGroup_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11269 uint32_t status;
11271 di->dcerpc_procedure_name="SetMemberAttributesOfGroup";
11272 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11274 if (status != 0)
11275 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11277 return offset;
11280 static int
11281 samr_dissect_SetMemberAttributesOfGroup_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11283 di->dcerpc_procedure_name="SetMemberAttributesOfGroup";
11284 offset = samr_dissect_element_SetMemberAttributesOfGroup_group_handle(tvb, offset, pinfo, tree, di, drep);
11285 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11286 offset = samr_dissect_element_SetMemberAttributesOfGroup_unknown1(tvb, offset, pinfo, tree, di, drep);
11287 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11288 offset = samr_dissect_element_SetMemberAttributesOfGroup_unknown2(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_OpenAlias_domain_handle(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11296 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);
11298 return offset;
11301 static int
11302 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_, uint8_t *drep _U_)
11304 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
11306 return offset;
11309 static int
11310 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_, uint8_t *drep _U_)
11312 offset = samr_dissect_bitmap_AliasAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_access_mask, 0);
11314 return offset;
11317 static int
11318 samr_dissect_element_OpenAlias_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11320 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
11322 return offset;
11325 static int
11326 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_, uint8_t *drep _U_)
11328 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);
11330 return offset;
11333 static int
11334 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_, uint8_t *drep _U_)
11336 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_ALIAS);
11338 return offset;
11341 /* IDL: NTSTATUS samr_OpenAlias( */
11342 /* IDL: [in] [ref] policy_handle *domain_handle, */
11343 /* IDL: [in] samr_AliasAccessMask access_mask, */
11344 /* IDL: [in] uint32 rid, */
11345 /* IDL: [out] [ref] policy_handle *alias_handle */
11346 /* IDL: ); */
11348 static int
11349 samr_dissect_OpenAlias_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11351 uint32_t status;
11353 di->dcerpc_procedure_name="OpenAlias";
11354 offset = samr_dissect_element_OpenAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
11355 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11357 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11359 if (status != 0)
11360 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11362 return offset;
11365 static int
11366 samr_dissect_OpenAlias_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11368 di->dcerpc_procedure_name="OpenAlias";
11369 offset = samr_dissect_element_OpenAlias_domain_handle(tvb, offset, pinfo, tree, di, drep);
11370 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11371 offset = samr_dissect_element_OpenAlias_access_mask(tvb, offset, pinfo, tree, di, drep);
11372 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11373 offset = samr_dissect_element_OpenAlias_rid(tvb, offset, pinfo, tree, di, drep);
11374 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11375 return offset;
11378 static int
11379 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_, uint8_t *drep _U_)
11381 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);
11383 return offset;
11386 static int
11387 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_, uint8_t *drep _U_)
11389 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
11391 return offset;
11394 static int
11395 samr_dissect_element_QueryAliasInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11397 offset = samr_dissect_enum_AliasInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryAliasInfo_level, 0);
11399 return offset;
11402 static int
11403 samr_dissect_element_QueryAliasInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11405 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);
11407 return offset;
11410 static int
11411 samr_dissect_element_QueryAliasInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11413 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);
11415 return offset;
11418 static int
11419 samr_dissect_element_QueryAliasInfo_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11421 offset = samr_dissect_AliasInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryAliasInfo_info, 0);
11423 return offset;
11426 /* IDL: NTSTATUS samr_QueryAliasInfo( */
11427 /* IDL: [in] [ref] policy_handle *alias_handle, */
11428 /* IDL: [in] samr_AliasInfoEnum level, */
11429 /* IDL: [out] [ref] [switch_is(level)] samr_AliasInfo **info */
11430 /* IDL: ); */
11432 static int
11433 samr_dissect_QueryAliasInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11435 uint32_t status;
11437 di->dcerpc_procedure_name="QueryAliasInfo";
11438 offset = samr_dissect_element_QueryAliasInfo_info(tvb, offset, pinfo, tree, di, drep);
11439 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11441 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11443 if (status != 0)
11444 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11446 return offset;
11449 static int
11450 samr_dissect_QueryAliasInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11452 di->dcerpc_procedure_name="QueryAliasInfo";
11453 offset = samr_dissect_element_QueryAliasInfo_alias_handle(tvb, offset, pinfo, tree, di, drep);
11454 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11455 offset = samr_dissect_element_QueryAliasInfo_level(tvb, offset, pinfo, tree, di, drep);
11456 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11457 return offset;
11460 static int
11461 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_, uint8_t *drep _U_)
11463 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);
11465 return offset;
11468 static int
11469 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_, uint8_t *drep _U_)
11471 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
11473 return offset;
11476 static int
11477 samr_dissect_element_SetAliasInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11479 offset = samr_dissect_enum_AliasInfoEnum(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetAliasInfo_level, 0);
11481 return offset;
11484 static int
11485 samr_dissect_element_SetAliasInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11487 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);
11489 return offset;
11492 static int
11493 samr_dissect_element_SetAliasInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11495 offset = samr_dissect_AliasInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetAliasInfo_info, 0);
11497 return offset;
11500 /* IDL: NTSTATUS samr_SetAliasInfo( */
11501 /* IDL: [in] [ref] policy_handle *alias_handle, */
11502 /* IDL: [in] samr_AliasInfoEnum level, */
11503 /* IDL: [in] [ref] [switch_is(level)] samr_AliasInfo *info */
11504 /* IDL: ); */
11506 static int
11507 samr_dissect_SetAliasInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11509 uint32_t status;
11511 di->dcerpc_procedure_name="SetAliasInfo";
11512 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11514 if (status != 0)
11515 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11517 return offset;
11520 static int
11521 samr_dissect_SetAliasInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11523 di->dcerpc_procedure_name="SetAliasInfo";
11524 offset = samr_dissect_element_SetAliasInfo_alias_handle(tvb, offset, pinfo, tree, di, drep);
11525 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11526 offset = samr_dissect_element_SetAliasInfo_level(tvb, offset, pinfo, tree, di, drep);
11527 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11528 offset = samr_dissect_element_SetAliasInfo_info(tvb, offset, pinfo, tree, di, drep);
11529 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11530 return offset;
11533 static int
11534 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_, uint8_t *drep _U_)
11536 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);
11538 return offset;
11541 static int
11542 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_, uint8_t *drep _U_)
11544 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, PIDL_POLHND_CLOSE);
11546 return offset;
11549 /* IDL: NTSTATUS samr_DeleteDomAlias( */
11550 /* IDL: [in] [out] [ref] policy_handle *alias_handle */
11551 /* IDL: ); */
11553 static int
11554 samr_dissect_DeleteDomAlias_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11556 uint32_t status;
11558 di->dcerpc_procedure_name="DeleteDomAlias";
11559 offset = samr_dissect_element_DeleteDomAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
11560 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11562 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11564 if (status != 0)
11565 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11567 return offset;
11570 static int
11571 samr_dissect_DeleteDomAlias_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11573 di->dcerpc_procedure_name="DeleteDomAlias";
11574 offset = samr_dissect_element_DeleteDomAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
11575 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11576 return offset;
11579 static int
11580 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_, uint8_t *drep _U_)
11582 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);
11584 return offset;
11587 static int
11588 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_, uint8_t *drep _U_)
11590 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
11592 return offset;
11595 static int
11596 samr_dissect_element_AddAliasMember_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11598 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);
11600 return offset;
11603 static int
11604 samr_dissect_element_AddAliasMember_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11606 offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
11608 return offset;
11611 /* IDL: NTSTATUS samr_AddAliasMember( */
11612 /* IDL: [in] [ref] policy_handle *alias_handle, */
11613 /* IDL: [in] [ref] dom_sid2 *sid */
11614 /* IDL: ); */
11616 static int
11617 samr_dissect_AddAliasMember_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11619 uint32_t status;
11621 di->dcerpc_procedure_name="AddAliasMember";
11622 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11624 if (status != 0)
11625 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11627 return offset;
11630 static int
11631 samr_dissect_AddAliasMember_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11633 di->dcerpc_procedure_name="AddAliasMember";
11634 offset = samr_dissect_element_AddAliasMember_alias_handle(tvb, offset, pinfo, tree, di, drep);
11635 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11636 offset = samr_dissect_element_AddAliasMember_sid(tvb, offset, pinfo, tree, di, drep);
11637 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11638 return offset;
11641 static int
11642 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_, uint8_t *drep _U_)
11644 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);
11646 return offset;
11649 static int
11650 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_, uint8_t *drep _U_)
11652 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
11654 return offset;
11657 static int
11658 samr_dissect_element_DeleteAliasMember_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11660 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);
11662 return offset;
11665 static int
11666 samr_dissect_element_DeleteAliasMember_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11668 offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
11670 return offset;
11673 /* IDL: NTSTATUS samr_DeleteAliasMember( */
11674 /* IDL: [in] [ref] policy_handle *alias_handle, */
11675 /* IDL: [in] [ref] dom_sid2 *sid */
11676 /* IDL: ); */
11678 static int
11679 samr_dissect_DeleteAliasMember_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11681 uint32_t status;
11683 di->dcerpc_procedure_name="DeleteAliasMember";
11684 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11686 if (status != 0)
11687 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11689 return offset;
11692 static int
11693 samr_dissect_DeleteAliasMember_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11695 di->dcerpc_procedure_name="DeleteAliasMember";
11696 offset = samr_dissect_element_DeleteAliasMember_alias_handle(tvb, offset, pinfo, tree, di, drep);
11697 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11698 offset = samr_dissect_element_DeleteAliasMember_sid(tvb, offset, pinfo, tree, di, drep);
11699 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11700 return offset;
11703 static int
11704 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_, uint8_t *drep _U_)
11706 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);
11708 return offset;
11711 static int
11712 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_, uint8_t *drep _U_)
11714 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
11716 return offset;
11719 static int
11720 samr_dissect_element_GetMembersInAlias_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11722 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);
11724 return offset;
11727 static int
11728 samr_dissect_element_GetMembersInAlias_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11730 offset=cnf_dissect_lsa_SidArray(tvb, offset, pinfo, tree, di, drep);
11732 return offset;
11735 /* IDL: NTSTATUS samr_GetMembersInAlias( */
11736 /* IDL: [in] [ref] policy_handle *alias_handle, */
11737 /* IDL: [out] [ref] lsa_SidArray *sids */
11738 /* IDL: ); */
11740 static int
11741 samr_dissect_GetMembersInAlias_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11743 uint32_t status;
11745 di->dcerpc_procedure_name="GetMembersInAlias";
11746 offset = samr_dissect_element_GetMembersInAlias_sids(tvb, offset, pinfo, tree, di, drep);
11747 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11749 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11751 if (status != 0)
11752 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11754 return offset;
11757 static int
11758 samr_dissect_GetMembersInAlias_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11760 di->dcerpc_procedure_name="GetMembersInAlias";
11761 offset = samr_dissect_element_GetMembersInAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
11762 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11763 return offset;
11766 static int
11767 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_, uint8_t *drep _U_)
11769 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);
11771 return offset;
11774 static int
11775 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_, uint8_t *drep _U_)
11777 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
11779 return offset;
11782 static int
11783 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_, uint8_t *drep _U_)
11785 offset = samr_dissect_bitmap_UserAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_user_access_mask, 0);
11787 return offset;
11790 static int
11791 samr_dissect_element_OpenUser_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11793 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
11795 return offset;
11798 static int
11799 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_, uint8_t *drep _U_)
11801 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);
11803 return offset;
11806 static int
11807 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_, uint8_t *drep _U_)
11809 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_USER);
11811 return offset;
11814 /* IDL: NTSTATUS samr_OpenUser( */
11815 /* IDL: [in] [ref] policy_handle *domain_handle, */
11816 /* IDL: [in] samr_UserAccessMask access_mask, */
11817 /* IDL: [in] uint32 rid, */
11818 /* IDL: [out] [ref] policy_handle *user_handle */
11819 /* IDL: ); */
11821 static int
11822 samr_dissect_OpenUser_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11824 uint32_t status;
11826 di->dcerpc_procedure_name="OpenUser";
11827 offset = samr_dissect_element_OpenUser_user_handle(tvb, offset, pinfo, tree, di, drep);
11828 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11830 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11832 if (status != 0)
11833 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11835 return offset;
11838 static int
11839 samr_dissect_OpenUser_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11841 di->dcerpc_procedure_name="OpenUser";
11842 offset = samr_dissect_element_OpenUser_domain_handle(tvb, offset, pinfo, tree, di, drep);
11843 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11844 offset = samr_dissect_element_OpenUser_access_mask(tvb, offset, pinfo, tree, di, drep);
11845 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11846 offset = samr_dissect_element_OpenUser_rid(tvb, offset, pinfo, tree, di, drep);
11847 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11848 return offset;
11851 static int
11852 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_, uint8_t *drep _U_)
11854 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);
11856 return offset;
11859 static int
11860 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_, uint8_t *drep _U_)
11862 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, PIDL_POLHND_CLOSE);
11864 return offset;
11867 /* IDL: NTSTATUS samr_DeleteUser( */
11868 /* IDL: [in] [out] [ref] policy_handle *user_handle */
11869 /* IDL: ); */
11871 static int
11872 samr_dissect_DeleteUser_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11874 uint32_t status;
11876 di->dcerpc_procedure_name="DeleteUser";
11877 offset = samr_dissect_element_DeleteUser_user_handle(tvb, offset, pinfo, tree, di, drep);
11878 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11880 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11882 if (status != 0)
11883 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11885 return offset;
11888 static int
11889 samr_dissect_DeleteUser_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11891 di->dcerpc_procedure_name="DeleteUser";
11892 offset = samr_dissect_element_DeleteUser_user_handle(tvb, offset, pinfo, tree, di, drep);
11893 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11894 return offset;
11897 static int
11898 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_, uint8_t *drep _U_)
11900 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);
11902 return offset;
11905 static int
11906 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_, uint8_t *drep _U_)
11908 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
11910 return offset;
11913 static int
11914 samr_dissect_element_QueryUserInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11916 offset = samr_dissect_enum_UserInfoLevel(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryUserInfo_level, 0);
11918 return offset;
11921 static int
11922 samr_dissect_element_QueryUserInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11924 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);
11926 return offset;
11929 static int
11930 samr_dissect_element_QueryUserInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11932 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);
11934 return offset;
11937 static int
11938 samr_dissect_element_QueryUserInfo_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11940 offset = samr_dissect_UserInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryUserInfo_info, 0);
11942 return offset;
11945 /* IDL: NTSTATUS samr_QueryUserInfo( */
11946 /* IDL: [in] [ref] policy_handle *user_handle, */
11947 /* IDL: [in] samr_UserInfoLevel level, */
11948 /* IDL: [out] [ref] [switch_is(level)] samr_UserInfo **info */
11949 /* IDL: ); */
11951 static int
11952 samr_dissect_QueryUserInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11954 uint32_t status;
11956 di->dcerpc_procedure_name="QueryUserInfo";
11957 offset = samr_dissect_element_QueryUserInfo_info(tvb, offset, pinfo, tree, di, drep);
11958 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11960 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
11962 if (status != 0)
11963 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
11965 return offset;
11968 static int
11969 samr_dissect_QueryUserInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11971 di->dcerpc_procedure_name="QueryUserInfo";
11972 offset = samr_dissect_element_QueryUserInfo_user_handle(tvb, offset, pinfo, tree, di, drep);
11973 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11974 offset = samr_dissect_element_QueryUserInfo_level(tvb, offset, pinfo, tree, di, drep);
11975 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
11976 return offset;
11979 static int
11980 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_, uint8_t *drep _U_)
11982 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);
11984 return offset;
11987 static int
11988 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_, uint8_t *drep _U_)
11990 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
11992 return offset;
11995 static int
11996 samr_dissect_element_SetUserInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
11998 offset = samr_dissect_enum_UserInfoLevel(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetUserInfo_level, 0);
12000 return offset;
12003 static int
12004 samr_dissect_element_SetUserInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12006 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);
12008 return offset;
12011 static int
12012 samr_dissect_element_SetUserInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12014 offset = samr_dissect_UserInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetUserInfo_info, 0);
12016 return offset;
12019 /* IDL: NTSTATUS samr_SetUserInfo( */
12020 /* IDL: [in] [ref] policy_handle *user_handle, */
12021 /* IDL: [in] samr_UserInfoLevel level, */
12022 /* IDL: [in] [ref] [switch_is(level)] samr_UserInfo *info */
12023 /* IDL: ); */
12025 static int
12026 samr_dissect_SetUserInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12028 uint32_t status;
12030 di->dcerpc_procedure_name="SetUserInfo";
12031 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12033 if (status != 0)
12034 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12036 return offset;
12039 static int
12040 samr_dissect_SetUserInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12042 di->dcerpc_procedure_name="SetUserInfo";
12043 offset = samr_dissect_element_SetUserInfo_user_handle(tvb, offset, pinfo, tree, di, drep);
12044 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12045 offset = samr_dissect_element_SetUserInfo_level(tvb, offset, pinfo, tree, di, drep);
12046 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12047 offset = samr_dissect_element_SetUserInfo_info(tvb, offset, pinfo, tree, di, drep);
12048 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12049 return offset;
12052 static int
12053 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_, uint8_t *drep _U_)
12055 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);
12057 return offset;
12060 static int
12061 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_, uint8_t *drep _U_)
12063 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
12065 return offset;
12068 static int
12069 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_, uint8_t *drep _U_)
12071 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser_lm_present, 0);
12073 return offset;
12076 static int
12077 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_, uint8_t *drep _U_)
12079 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);
12081 return offset;
12084 static int
12085 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_, uint8_t *drep _U_)
12087 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_old_lm_crypted,0);
12089 return offset;
12092 static int
12093 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_, uint8_t *drep _U_)
12095 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);
12097 return offset;
12100 static int
12101 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_, uint8_t *drep _U_)
12103 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_new_lm_crypted,0);
12105 return offset;
12108 static int
12109 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_, uint8_t *drep _U_)
12111 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser_nt_present, 0);
12113 return offset;
12116 static int
12117 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_, uint8_t *drep _U_)
12119 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);
12121 return offset;
12124 static int
12125 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_, uint8_t *drep _U_)
12127 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_old_nt_crypted,0);
12129 return offset;
12132 static int
12133 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_, uint8_t *drep _U_)
12135 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);
12137 return offset;
12140 static int
12141 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_, uint8_t *drep _U_)
12143 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_new_nt_crypted,0);
12145 return offset;
12148 static int
12149 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_, uint8_t *drep _U_)
12151 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser_cross1_present, 0);
12153 return offset;
12156 static int
12157 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_, uint8_t *drep _U_)
12159 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);
12161 return offset;
12164 static int
12165 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_, uint8_t *drep _U_)
12167 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_nt_cross,0);
12169 return offset;
12172 static int
12173 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_, uint8_t *drep _U_)
12175 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser_cross2_present, 0);
12177 return offset;
12180 static int
12181 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_, uint8_t *drep _U_)
12183 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);
12185 return offset;
12188 static int
12189 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_, uint8_t *drep _U_)
12191 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser_lm_cross,0);
12193 return offset;
12196 /* IDL: NTSTATUS samr_ChangePasswordUser( */
12197 /* IDL: [in] [ref] policy_handle *user_handle, */
12198 /* IDL: [in] uint8 lm_present, */
12199 /* IDL: [in] [unique(1)] samr_Password *old_lm_crypted, */
12200 /* IDL: [in] [unique(1)] samr_Password *new_lm_crypted, */
12201 /* IDL: [in] uint8 nt_present, */
12202 /* IDL: [in] [unique(1)] samr_Password *old_nt_crypted, */
12203 /* IDL: [in] [unique(1)] samr_Password *new_nt_crypted, */
12204 /* IDL: [in] uint8 cross1_present, */
12205 /* IDL: [in] [unique(1)] samr_Password *nt_cross, */
12206 /* IDL: [in] uint8 cross2_present, */
12207 /* IDL: [in] [unique(1)] samr_Password *lm_cross */
12208 /* IDL: ); */
12210 static int
12211 samr_dissect_ChangePasswordUser_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12213 uint32_t status;
12215 di->dcerpc_procedure_name="ChangePasswordUser";
12216 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12218 if (status != 0)
12219 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12221 return offset;
12224 static int
12225 samr_dissect_ChangePasswordUser_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12227 di->dcerpc_procedure_name="ChangePasswordUser";
12228 offset = samr_dissect_element_ChangePasswordUser_user_handle(tvb, offset, pinfo, tree, di, drep);
12229 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12230 offset = samr_dissect_element_ChangePasswordUser_lm_present(tvb, offset, pinfo, tree, di, drep);
12231 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12232 offset = samr_dissect_element_ChangePasswordUser_old_lm_crypted(tvb, offset, pinfo, tree, di, drep);
12233 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12234 offset = samr_dissect_element_ChangePasswordUser_new_lm_crypted(tvb, offset, pinfo, tree, di, drep);
12235 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12236 offset = samr_dissect_element_ChangePasswordUser_nt_present(tvb, offset, pinfo, tree, di, drep);
12237 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12238 offset = samr_dissect_element_ChangePasswordUser_old_nt_crypted(tvb, offset, pinfo, tree, di, drep);
12239 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12240 offset = samr_dissect_element_ChangePasswordUser_new_nt_crypted(tvb, offset, pinfo, tree, di, drep);
12241 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12242 offset = samr_dissect_element_ChangePasswordUser_cross1_present(tvb, offset, pinfo, tree, di, drep);
12243 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12244 offset = samr_dissect_element_ChangePasswordUser_nt_cross(tvb, offset, pinfo, tree, di, drep);
12245 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12246 offset = samr_dissect_element_ChangePasswordUser_cross2_present(tvb, offset, pinfo, tree, di, drep);
12247 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12248 offset = samr_dissect_element_ChangePasswordUser_lm_cross(tvb, offset, pinfo, tree, di, drep);
12249 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12250 return offset;
12253 static int
12254 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_, uint8_t *drep _U_)
12256 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);
12258 return offset;
12261 static int
12262 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_, uint8_t *drep _U_)
12264 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
12266 return offset;
12269 static int
12270 samr_dissect_element_GetGroupsForUser_rids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12272 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);
12274 return offset;
12277 static int
12278 samr_dissect_element_GetGroupsForUser_rids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12280 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);
12282 return offset;
12285 static int
12286 samr_dissect_element_GetGroupsForUser_rids__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12288 offset = samr_dissect_struct_RidWithAttributeArray(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GetGroupsForUser_rids,0);
12290 return offset;
12293 /* IDL: NTSTATUS samr_GetGroupsForUser( */
12294 /* IDL: [in] [ref] policy_handle *user_handle, */
12295 /* IDL: [out] [ref] samr_RidWithAttributeArray **rids */
12296 /* IDL: ); */
12298 static int
12299 samr_dissect_GetGroupsForUser_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12301 uint32_t status;
12303 di->dcerpc_procedure_name="GetGroupsForUser";
12304 offset = samr_dissect_element_GetGroupsForUser_rids(tvb, offset, pinfo, tree, di, drep);
12305 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12307 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12309 if (status != 0)
12310 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12312 return offset;
12315 static int
12316 samr_dissect_GetGroupsForUser_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12318 di->dcerpc_procedure_name="GetGroupsForUser";
12319 offset = samr_dissect_element_GetGroupsForUser_user_handle(tvb, offset, pinfo, tree, di, drep);
12320 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12321 return offset;
12324 static int
12325 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_, uint8_t *drep _U_)
12327 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);
12329 return offset;
12332 static int
12333 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_, uint8_t *drep _U_)
12335 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
12337 return offset;
12340 static int
12341 samr_dissect_element_QueryDisplayInfo_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12343 offset = samr_dissect_enum_DomainDisplayInformation(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_level, 0);
12345 return offset;
12348 static int
12349 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_, uint8_t *drep _U_)
12351 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_start_idx, 0);
12353 return offset;
12356 static int
12357 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_, uint8_t *drep _U_)
12359 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_max_entries, 0);
12361 return offset;
12364 static int
12365 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_, uint8_t *drep _U_)
12367 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_buf_size, 0);
12369 return offset;
12372 static int
12373 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_, uint8_t *drep _U_)
12375 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);
12377 return offset;
12380 static int
12381 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_, uint8_t *drep _U_)
12383 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_total_size, 0);
12385 return offset;
12388 static int
12389 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_, uint8_t *drep _U_)
12391 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);
12393 return offset;
12396 static int
12397 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_, uint8_t *drep _U_)
12399 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_returned_size, 0);
12401 return offset;
12404 static int
12405 samr_dissect_element_QueryDisplayInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12407 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);
12409 return offset;
12412 static int
12413 samr_dissect_element_QueryDisplayInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12415 offset = samr_dissect_DispInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo_info, 0);
12417 return offset;
12420 /* IDL: NTSTATUS samr_QueryDisplayInfo( */
12421 /* IDL: [in] [ref] policy_handle *domain_handle, */
12422 /* IDL: [in] samr_DomainDisplayInformation level, */
12423 /* IDL: [in] uint32 start_idx, */
12424 /* IDL: [in] uint32 max_entries, */
12425 /* IDL: [in] uint32 buf_size, */
12426 /* IDL: [out] [ref] uint32 *total_size, */
12427 /* IDL: [out] [ref] uint32 *returned_size, */
12428 /* IDL: [out] [ref] [switch_is(level)] samr_DispInfo *info */
12429 /* IDL: ); */
12431 static int
12432 samr_dissect_QueryDisplayInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12434 uint32_t status;
12436 di->dcerpc_procedure_name="QueryDisplayInfo";
12437 offset = samr_dissect_element_QueryDisplayInfo_total_size(tvb, offset, pinfo, tree, di, drep);
12438 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12440 offset = samr_dissect_element_QueryDisplayInfo_returned_size(tvb, offset, pinfo, tree, di, drep);
12441 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12443 offset = samr_dissect_element_QueryDisplayInfo_info(tvb, offset, pinfo, tree, di, drep);
12444 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12446 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12448 if (status != 0)
12449 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12451 return offset;
12454 static int
12455 samr_dissect_QueryDisplayInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12457 di->dcerpc_procedure_name="QueryDisplayInfo";
12458 offset = samr_dissect_element_QueryDisplayInfo_domain_handle(tvb, offset, pinfo, tree, di, drep);
12459 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12460 offset = samr_dissect_element_QueryDisplayInfo_level(tvb, offset, pinfo, tree, di, drep);
12461 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12462 offset = samr_dissect_element_QueryDisplayInfo_start_idx(tvb, offset, pinfo, tree, di, drep);
12463 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12464 offset = samr_dissect_element_QueryDisplayInfo_max_entries(tvb, offset, pinfo, tree, di, drep);
12465 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12466 offset = samr_dissect_element_QueryDisplayInfo_buf_size(tvb, offset, pinfo, tree, di, drep);
12467 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12468 return offset;
12471 static int
12472 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_, uint8_t *drep _U_)
12474 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);
12476 return offset;
12479 static int
12480 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_, uint8_t *drep _U_)
12482 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
12484 return offset;
12487 static int
12488 samr_dissect_element_GetDisplayEnumerationIndex_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12490 offset = PIDL_dissect_uint16(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GetDisplayEnumerationIndex_level, 0);
12492 return offset;
12495 static int
12496 samr_dissect_element_GetDisplayEnumerationIndex_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12498 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);
12500 return offset;
12503 static int
12504 samr_dissect_element_GetDisplayEnumerationIndex_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12506 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GetDisplayEnumerationIndex_name);
12508 return offset;
12511 static int
12512 samr_dissect_element_GetDisplayEnumerationIndex_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12514 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);
12516 return offset;
12519 static int
12520 samr_dissect_element_GetDisplayEnumerationIndex_idx_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12522 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GetDisplayEnumerationIndex_idx, 0);
12524 return offset;
12527 /* IDL: NTSTATUS samr_GetDisplayEnumerationIndex( */
12528 /* IDL: [in] [ref] policy_handle *domain_handle, */
12529 /* IDL: [in] uint16 level, */
12530 /* IDL: [in] [ref] lsa_String *name, */
12531 /* IDL: [out] [ref] uint32 *idx */
12532 /* IDL: ); */
12534 static int
12535 samr_dissect_GetDisplayEnumerationIndex_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12537 uint32_t status;
12539 di->dcerpc_procedure_name="GetDisplayEnumerationIndex";
12540 offset = samr_dissect_element_GetDisplayEnumerationIndex_idx(tvb, offset, pinfo, tree, di, drep);
12541 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12543 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12545 if (status != 0)
12546 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12548 return offset;
12551 static int
12552 samr_dissect_GetDisplayEnumerationIndex_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12554 di->dcerpc_procedure_name="GetDisplayEnumerationIndex";
12555 offset = samr_dissect_element_GetDisplayEnumerationIndex_domain_handle(tvb, offset, pinfo, tree, di, drep);
12556 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12557 offset = samr_dissect_element_GetDisplayEnumerationIndex_level(tvb, offset, pinfo, tree, di, drep);
12558 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12559 offset = samr_dissect_element_GetDisplayEnumerationIndex_name(tvb, offset, pinfo, tree, di, drep);
12560 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12561 return offset;
12564 static int
12565 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_, uint8_t *drep _U_)
12567 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);
12569 return offset;
12572 static int
12573 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_, uint8_t *drep _U_)
12575 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
12577 return offset;
12580 /* IDL: NTSTATUS samr_TestPrivateFunctionsDomain( */
12581 /* IDL: [in] [ref] policy_handle *domain_handle */
12582 /* IDL: ); */
12584 static int
12585 samr_dissect_TestPrivateFunctionsDomain_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12587 uint32_t status;
12589 di->dcerpc_procedure_name="TestPrivateFunctionsDomain";
12590 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12592 if (status != 0)
12593 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12595 return offset;
12598 static int
12599 samr_dissect_TestPrivateFunctionsDomain_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12601 di->dcerpc_procedure_name="TestPrivateFunctionsDomain";
12602 offset = samr_dissect_element_TestPrivateFunctionsDomain_domain_handle(tvb, offset, pinfo, tree, di, drep);
12603 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12604 return offset;
12607 static int
12608 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_, uint8_t *drep _U_)
12610 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);
12612 return offset;
12615 static int
12616 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_, uint8_t *drep _U_)
12618 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
12620 return offset;
12623 /* IDL: NTSTATUS samr_TestPrivateFunctionsUser( */
12624 /* IDL: [in] [ref] policy_handle *user_handle */
12625 /* IDL: ); */
12627 static int
12628 samr_dissect_TestPrivateFunctionsUser_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12630 uint32_t status;
12632 di->dcerpc_procedure_name="TestPrivateFunctionsUser";
12633 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12635 if (status != 0)
12636 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12638 return offset;
12641 static int
12642 samr_dissect_TestPrivateFunctionsUser_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12644 di->dcerpc_procedure_name="TestPrivateFunctionsUser";
12645 offset = samr_dissect_element_TestPrivateFunctionsUser_user_handle(tvb, offset, pinfo, tree, di, drep);
12646 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12647 return offset;
12650 static int
12651 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_, uint8_t *drep _U_)
12653 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);
12655 return offset;
12658 static int
12659 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_, uint8_t *drep _U_)
12661 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
12663 return offset;
12666 static int
12667 samr_dissect_element_GetUserPwInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12669 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);
12671 return offset;
12674 static int
12675 samr_dissect_element_GetUserPwInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12677 offset = samr_dissect_struct_PwInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GetUserPwInfo_info,0);
12679 return offset;
12682 /* IDL: NTSTATUS samr_GetUserPwInfo( */
12683 /* IDL: [in] [ref] policy_handle *user_handle, */
12684 /* IDL: [out] [ref] samr_PwInfo *info */
12685 /* IDL: ); */
12687 static int
12688 samr_dissect_GetUserPwInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12690 uint32_t status;
12692 di->dcerpc_procedure_name="GetUserPwInfo";
12693 offset = samr_dissect_element_GetUserPwInfo_info(tvb, offset, pinfo, tree, di, drep);
12694 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12696 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12698 if (status != 0)
12699 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12701 return offset;
12704 static int
12705 samr_dissect_GetUserPwInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12707 di->dcerpc_procedure_name="GetUserPwInfo";
12708 offset = samr_dissect_element_GetUserPwInfo_user_handle(tvb, offset, pinfo, tree, di, drep);
12709 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12710 return offset;
12713 static int
12714 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_, uint8_t *drep _U_)
12716 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);
12718 return offset;
12721 static int
12722 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_, uint8_t *drep _U_)
12724 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
12726 return offset;
12729 static int
12730 samr_dissect_element_RemoveMemberFromForeignDomain_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12732 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);
12734 return offset;
12737 static int
12738 samr_dissect_element_RemoveMemberFromForeignDomain_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12740 offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
12742 return offset;
12745 /* IDL: NTSTATUS samr_RemoveMemberFromForeignDomain( */
12746 /* IDL: [in] [ref] policy_handle *domain_handle, */
12747 /* IDL: [in] [ref] dom_sid2 *sid */
12748 /* IDL: ); */
12750 static int
12751 samr_dissect_RemoveMemberFromForeignDomain_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12753 uint32_t status;
12755 di->dcerpc_procedure_name="RemoveMemberFromForeignDomain";
12756 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12758 if (status != 0)
12759 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12761 return offset;
12764 static int
12765 samr_dissect_RemoveMemberFromForeignDomain_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12767 di->dcerpc_procedure_name="RemoveMemberFromForeignDomain";
12768 offset = samr_dissect_element_RemoveMemberFromForeignDomain_domain_handle(tvb, offset, pinfo, tree, di, drep);
12769 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12770 offset = samr_dissect_element_RemoveMemberFromForeignDomain_sid(tvb, offset, pinfo, tree, di, drep);
12771 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12772 return offset;
12775 static int
12776 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_, uint8_t *drep _U_)
12778 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);
12780 return offset;
12783 static int
12784 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_, uint8_t *drep _U_)
12786 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
12788 return offset;
12791 static int
12792 samr_dissect_element_QueryDomainInfo2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12794 offset = samr_dissect_enum_DomainInfoClass(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDomainInfo2_level, 0);
12796 return offset;
12799 static int
12800 samr_dissect_element_QueryDomainInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12802 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);
12804 return offset;
12807 static int
12808 samr_dissect_element_QueryDomainInfo2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12810 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);
12812 return offset;
12815 static int
12816 samr_dissect_element_QueryDomainInfo2_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12818 offset = samr_dissect_DomainInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDomainInfo2_info, 0);
12820 return offset;
12823 /* IDL: NTSTATUS samr_QueryDomainInfo2( */
12824 /* IDL: [in] [ref] policy_handle *domain_handle, */
12825 /* IDL: [in] samr_DomainInfoClass level, */
12826 /* IDL: [out] [ref] [switch_is(level)] samr_DomainInfo **info */
12827 /* IDL: ); */
12829 static int
12830 samr_dissect_QueryDomainInfo2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12832 uint32_t status;
12834 di->dcerpc_procedure_name="QueryDomainInfo2";
12835 offset = samr_dissect_element_QueryDomainInfo2_info(tvb, offset, pinfo, tree, di, drep);
12836 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12838 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12840 if (status != 0)
12841 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12843 return offset;
12846 static int
12847 samr_dissect_QueryDomainInfo2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12849 di->dcerpc_procedure_name="QueryDomainInfo2";
12850 offset = samr_dissect_element_QueryDomainInfo2_domain_handle(tvb, offset, pinfo, tree, di, drep);
12851 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12852 offset = samr_dissect_element_QueryDomainInfo2_level(tvb, offset, pinfo, tree, di, drep);
12853 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12854 return offset;
12857 static int
12858 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_, uint8_t *drep _U_)
12860 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);
12862 return offset;
12865 static int
12866 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_, uint8_t *drep _U_)
12868 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
12870 return offset;
12873 static int
12874 samr_dissect_element_QueryUserInfo2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12876 offset = samr_dissect_enum_UserInfoLevel(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryUserInfo2_level, 0);
12878 return offset;
12881 static int
12882 samr_dissect_element_QueryUserInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12884 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);
12886 return offset;
12889 static int
12890 samr_dissect_element_QueryUserInfo2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12892 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);
12894 return offset;
12897 static int
12898 samr_dissect_element_QueryUserInfo2_info__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12900 offset = samr_dissect_UserInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryUserInfo2_info, 0);
12902 return offset;
12905 /* IDL: NTSTATUS samr_QueryUserInfo2( */
12906 /* IDL: [in] [ref] policy_handle *user_handle, */
12907 /* IDL: [in] samr_UserInfoLevel level, */
12908 /* IDL: [out] [ref] [switch_is(level)] samr_UserInfo **info */
12909 /* IDL: ); */
12911 static int
12912 samr_dissect_QueryUserInfo2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12914 uint32_t status;
12916 di->dcerpc_procedure_name="QueryUserInfo2";
12917 offset = samr_dissect_element_QueryUserInfo2_info(tvb, offset, pinfo, tree, di, drep);
12918 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12920 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
12922 if (status != 0)
12923 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
12925 return offset;
12928 static int
12929 samr_dissect_QueryUserInfo2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12931 di->dcerpc_procedure_name="QueryUserInfo2";
12932 offset = samr_dissect_element_QueryUserInfo2_user_handle(tvb, offset, pinfo, tree, di, drep);
12933 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12934 offset = samr_dissect_element_QueryUserInfo2_level(tvb, offset, pinfo, tree, di, drep);
12935 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
12936 return offset;
12939 static int
12940 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_, uint8_t *drep _U_)
12942 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);
12944 return offset;
12947 static int
12948 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_, uint8_t *drep _U_)
12950 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
12952 return offset;
12955 static int
12956 samr_dissect_element_QueryDisplayInfo2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
12958 offset = samr_dissect_enum_DomainDisplayInformation(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_level, 0);
12960 return offset;
12963 static int
12964 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_, uint8_t *drep _U_)
12966 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_start_idx, 0);
12968 return offset;
12971 static int
12972 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_, uint8_t *drep _U_)
12974 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_max_entries, 0);
12976 return offset;
12979 static int
12980 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_, uint8_t *drep _U_)
12982 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_buf_size, 0);
12984 return offset;
12987 static int
12988 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_, uint8_t *drep _U_)
12990 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);
12992 return offset;
12995 static int
12996 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_, uint8_t *drep _U_)
12998 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_total_size, 0);
13000 return offset;
13003 static int
13004 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_, uint8_t *drep _U_)
13006 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);
13008 return offset;
13011 static int
13012 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_, uint8_t *drep _U_)
13014 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_returned_size, 0);
13016 return offset;
13019 static int
13020 samr_dissect_element_QueryDisplayInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13022 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);
13024 return offset;
13027 static int
13028 samr_dissect_element_QueryDisplayInfo2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13030 offset = samr_dissect_DispInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo2_info, 0);
13032 return offset;
13035 /* IDL: NTSTATUS samr_QueryDisplayInfo2( */
13036 /* IDL: [in] [ref] policy_handle *domain_handle, */
13037 /* IDL: [in] samr_DomainDisplayInformation level, */
13038 /* IDL: [in] uint32 start_idx, */
13039 /* IDL: [in] uint32 max_entries, */
13040 /* IDL: [in] uint32 buf_size, */
13041 /* IDL: [out] [ref] uint32 *total_size, */
13042 /* IDL: [out] [ref] uint32 *returned_size, */
13043 /* IDL: [out] [ref] [switch_is(level)] samr_DispInfo *info */
13044 /* IDL: ); */
13046 static int
13047 samr_dissect_QueryDisplayInfo2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13049 uint32_t status;
13051 di->dcerpc_procedure_name="QueryDisplayInfo2";
13052 offset = samr_dissect_element_QueryDisplayInfo2_total_size(tvb, offset, pinfo, tree, di, drep);
13053 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13055 offset = samr_dissect_element_QueryDisplayInfo2_returned_size(tvb, offset, pinfo, tree, di, drep);
13056 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13058 offset = samr_dissect_element_QueryDisplayInfo2_info(tvb, offset, pinfo, tree, di, drep);
13059 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13061 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13063 if (status != 0)
13064 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13066 return offset;
13069 static int
13070 samr_dissect_QueryDisplayInfo2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13072 di->dcerpc_procedure_name="QueryDisplayInfo2";
13073 offset = samr_dissect_element_QueryDisplayInfo2_domain_handle(tvb, offset, pinfo, tree, di, drep);
13074 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13075 offset = samr_dissect_element_QueryDisplayInfo2_level(tvb, offset, pinfo, tree, di, drep);
13076 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13077 offset = samr_dissect_element_QueryDisplayInfo2_start_idx(tvb, offset, pinfo, tree, di, drep);
13078 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13079 offset = samr_dissect_element_QueryDisplayInfo2_max_entries(tvb, offset, pinfo, tree, di, drep);
13080 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13081 offset = samr_dissect_element_QueryDisplayInfo2_buf_size(tvb, offset, pinfo, tree, di, drep);
13082 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13083 return offset;
13086 static int
13087 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_, uint8_t *drep _U_)
13089 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);
13091 return offset;
13094 static int
13095 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_, uint8_t *drep _U_)
13097 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
13099 return offset;
13102 static int
13103 samr_dissect_element_GetDisplayEnumerationIndex2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13105 offset = samr_dissect_enum_DomainDisplayInformation(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GetDisplayEnumerationIndex2_level, 0);
13107 return offset;
13110 static int
13111 samr_dissect_element_GetDisplayEnumerationIndex2_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13113 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);
13115 return offset;
13118 static int
13119 samr_dissect_element_GetDisplayEnumerationIndex2_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13121 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_GetDisplayEnumerationIndex2_name);
13123 return offset;
13126 static int
13127 samr_dissect_element_GetDisplayEnumerationIndex2_idx(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13129 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);
13131 return offset;
13134 static int
13135 samr_dissect_element_GetDisplayEnumerationIndex2_idx_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13137 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GetDisplayEnumerationIndex2_idx, 0);
13139 return offset;
13142 /* IDL: NTSTATUS samr_GetDisplayEnumerationIndex2( */
13143 /* IDL: [in] [ref] policy_handle *domain_handle, */
13144 /* IDL: [in] samr_DomainDisplayInformation level, */
13145 /* IDL: [in] [ref] lsa_String *name, */
13146 /* IDL: [out] [ref] uint32 *idx */
13147 /* IDL: ); */
13149 static int
13150 samr_dissect_GetDisplayEnumerationIndex2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13152 uint32_t status;
13154 di->dcerpc_procedure_name="GetDisplayEnumerationIndex2";
13155 offset = samr_dissect_element_GetDisplayEnumerationIndex2_idx(tvb, offset, pinfo, tree, di, drep);
13156 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13158 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13160 if (status != 0)
13161 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13163 return offset;
13166 static int
13167 samr_dissect_GetDisplayEnumerationIndex2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13169 di->dcerpc_procedure_name="GetDisplayEnumerationIndex2";
13170 offset = samr_dissect_element_GetDisplayEnumerationIndex2_domain_handle(tvb, offset, pinfo, tree, di, drep);
13171 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13172 offset = samr_dissect_element_GetDisplayEnumerationIndex2_level(tvb, offset, pinfo, tree, di, drep);
13173 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13174 offset = samr_dissect_element_GetDisplayEnumerationIndex2_name(tvb, offset, pinfo, tree, di, drep);
13175 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13176 return offset;
13179 static int
13180 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_, uint8_t *drep _U_)
13182 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);
13184 return offset;
13187 static int
13188 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_, uint8_t *drep _U_)
13190 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
13192 return offset;
13195 static int
13196 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_, uint8_t *drep _U_)
13198 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);
13200 return offset;
13203 static int
13204 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_, uint8_t *drep _U_)
13206 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);
13208 return offset;
13211 static int
13212 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_, uint8_t *drep _U_)
13214 offset = samr_dissect_bitmap_AcctFlags(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_CreateUser2_acct_flags, 0);
13216 return offset;
13219 static int
13220 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_, uint8_t *drep _U_)
13222 offset = samr_dissect_bitmap_UserAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_user_access_mask, 0);
13224 return offset;
13227 static int
13228 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_, uint8_t *drep _U_)
13230 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);
13232 return offset;
13235 static int
13236 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_, uint8_t *drep _U_)
13238 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_USER);
13240 return offset;
13243 static int
13244 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_, uint8_t *drep _U_)
13246 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);
13248 return offset;
13251 static int
13252 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_, uint8_t *drep _U_)
13254 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_CreateUser2_access_granted, 0);
13256 return offset;
13259 static int
13260 samr_dissect_element_CreateUser2_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13262 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);
13264 return offset;
13267 static int
13268 samr_dissect_element_CreateUser2_rid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13270 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
13272 return offset;
13275 /* IDL: NTSTATUS samr_CreateUser2( */
13276 /* IDL: [in] [ref] policy_handle *domain_handle, */
13277 /* IDL: [in] [ref] lsa_String *account_name, */
13278 /* IDL: [in] samr_AcctFlags acct_flags, */
13279 /* IDL: [in] samr_UserAccessMask access_mask, */
13280 /* IDL: [out] [ref] policy_handle *user_handle, */
13281 /* IDL: [out] [ref] uint32 *access_granted, */
13282 /* IDL: [out] [ref] uint32 *rid */
13283 /* IDL: ); */
13285 static int
13286 samr_dissect_CreateUser2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13288 uint32_t status;
13290 di->dcerpc_procedure_name="CreateUser2";
13291 offset = samr_dissect_element_CreateUser2_user_handle(tvb, offset, pinfo, tree, di, drep);
13292 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13294 offset = samr_dissect_element_CreateUser2_access_granted(tvb, offset, pinfo, tree, di, drep);
13295 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13297 offset = samr_dissect_element_CreateUser2_rid(tvb, offset, pinfo, tree, di, drep);
13298 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13300 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13302 if (status != 0)
13303 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13305 return offset;
13308 static int
13309 samr_dissect_CreateUser2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13311 di->dcerpc_procedure_name="CreateUser2";
13312 offset = samr_dissect_element_CreateUser2_domain_handle(tvb, offset, pinfo, tree, di, drep);
13313 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13314 offset = samr_dissect_element_CreateUser2_account_name(tvb, offset, pinfo, tree, di, drep);
13315 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13316 offset = samr_dissect_element_CreateUser2_acct_flags(tvb, offset, pinfo, tree, di, drep);
13317 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13318 offset = samr_dissect_element_CreateUser2_access_mask(tvb, offset, pinfo, tree, di, drep);
13319 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13320 return offset;
13323 static int
13324 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_, uint8_t *drep _U_)
13326 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);
13328 return offset;
13331 static int
13332 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_, uint8_t *drep _U_)
13334 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
13336 return offset;
13339 static int
13340 samr_dissect_element_QueryDisplayInfo3_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13342 offset = samr_dissect_enum_DomainDisplayInformation(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_level, 0);
13344 return offset;
13347 static int
13348 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_, uint8_t *drep _U_)
13350 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_start_idx, 0);
13352 return offset;
13355 static int
13356 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_, uint8_t *drep _U_)
13358 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_max_entries, 0);
13360 return offset;
13363 static int
13364 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_, uint8_t *drep _U_)
13366 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_buf_size, 0);
13368 return offset;
13371 static int
13372 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_, uint8_t *drep _U_)
13374 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);
13376 return offset;
13379 static int
13380 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_, uint8_t *drep _U_)
13382 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_total_size, 0);
13384 return offset;
13387 static int
13388 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_, uint8_t *drep _U_)
13390 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);
13392 return offset;
13395 static int
13396 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_, uint8_t *drep _U_)
13398 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_returned_size, 0);
13400 return offset;
13403 static int
13404 samr_dissect_element_QueryDisplayInfo3_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13406 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);
13408 return offset;
13411 static int
13412 samr_dissect_element_QueryDisplayInfo3_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13414 offset = samr_dissect_DispInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_QueryDisplayInfo3_info, 0);
13416 return offset;
13419 /* IDL: NTSTATUS samr_QueryDisplayInfo3( */
13420 /* IDL: [in] [ref] policy_handle *domain_handle, */
13421 /* IDL: [in] samr_DomainDisplayInformation level, */
13422 /* IDL: [in] uint32 start_idx, */
13423 /* IDL: [in] uint32 max_entries, */
13424 /* IDL: [in] uint32 buf_size, */
13425 /* IDL: [out] [ref] uint32 *total_size, */
13426 /* IDL: [out] [ref] uint32 *returned_size, */
13427 /* IDL: [out] [ref] [switch_is(level)] samr_DispInfo *info */
13428 /* IDL: ); */
13430 static int
13431 samr_dissect_QueryDisplayInfo3_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13433 uint32_t status;
13435 di->dcerpc_procedure_name="QueryDisplayInfo3";
13436 offset = samr_dissect_element_QueryDisplayInfo3_total_size(tvb, offset, pinfo, tree, di, drep);
13437 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13439 offset = samr_dissect_element_QueryDisplayInfo3_returned_size(tvb, offset, pinfo, tree, di, drep);
13440 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13442 offset = samr_dissect_element_QueryDisplayInfo3_info(tvb, offset, pinfo, tree, di, drep);
13443 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13445 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13447 if (status != 0)
13448 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13450 return offset;
13453 static int
13454 samr_dissect_QueryDisplayInfo3_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13456 di->dcerpc_procedure_name="QueryDisplayInfo3";
13457 offset = samr_dissect_element_QueryDisplayInfo3_domain_handle(tvb, offset, pinfo, tree, di, drep);
13458 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13459 offset = samr_dissect_element_QueryDisplayInfo3_level(tvb, offset, pinfo, tree, di, drep);
13460 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13461 offset = samr_dissect_element_QueryDisplayInfo3_start_idx(tvb, offset, pinfo, tree, di, drep);
13462 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13463 offset = samr_dissect_element_QueryDisplayInfo3_max_entries(tvb, offset, pinfo, tree, di, drep);
13464 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13465 offset = samr_dissect_element_QueryDisplayInfo3_buf_size(tvb, offset, pinfo, tree, di, drep);
13466 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13467 return offset;
13470 static int
13471 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_, uint8_t *drep _U_)
13473 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);
13475 return offset;
13478 static int
13479 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_, uint8_t *drep _U_)
13481 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
13483 return offset;
13486 static int
13487 samr_dissect_element_AddMultipleMembersToAlias_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13489 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);
13491 return offset;
13494 static int
13495 samr_dissect_element_AddMultipleMembersToAlias_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13497 offset=cnf_dissect_lsa_SidArray(tvb, offset, pinfo, tree, di, drep);
13499 return offset;
13502 /* IDL: NTSTATUS samr_AddMultipleMembersToAlias( */
13503 /* IDL: [in] [ref] policy_handle *alias_handle, */
13504 /* IDL: [in] [ref] lsa_SidArray *sids */
13505 /* IDL: ); */
13507 static int
13508 samr_dissect_AddMultipleMembersToAlias_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13510 uint32_t status;
13512 di->dcerpc_procedure_name="AddMultipleMembersToAlias";
13513 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13515 if (status != 0)
13516 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13518 return offset;
13521 static int
13522 samr_dissect_AddMultipleMembersToAlias_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13524 di->dcerpc_procedure_name="AddMultipleMembersToAlias";
13525 offset = samr_dissect_element_AddMultipleMembersToAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
13526 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13527 offset = samr_dissect_element_AddMultipleMembersToAlias_sids(tvb, offset, pinfo, tree, di, drep);
13528 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13529 return offset;
13532 static int
13533 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_, uint8_t *drep _U_)
13535 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);
13537 return offset;
13540 static int
13541 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_, uint8_t *drep _U_)
13543 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_alias_handle, 0);
13545 return offset;
13548 static int
13549 samr_dissect_element_RemoveMultipleMembersFromAlias_sids(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13551 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);
13553 return offset;
13556 static int
13557 samr_dissect_element_RemoveMultipleMembersFromAlias_sids_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13559 offset=cnf_dissect_lsa_SidArray(tvb, offset, pinfo, tree, di, drep);
13561 return offset;
13564 /* IDL: NTSTATUS samr_RemoveMultipleMembersFromAlias( */
13565 /* IDL: [in] [ref] policy_handle *alias_handle, */
13566 /* IDL: [in] [ref] lsa_SidArray *sids */
13567 /* IDL: ); */
13569 static int
13570 samr_dissect_RemoveMultipleMembersFromAlias_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13572 uint32_t status;
13574 di->dcerpc_procedure_name="RemoveMultipleMembersFromAlias";
13575 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13577 if (status != 0)
13578 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13580 return offset;
13583 static int
13584 samr_dissect_RemoveMultipleMembersFromAlias_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13586 di->dcerpc_procedure_name="RemoveMultipleMembersFromAlias";
13587 offset = samr_dissect_element_RemoveMultipleMembersFromAlias_alias_handle(tvb, offset, pinfo, tree, di, drep);
13588 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13589 offset = samr_dissect_element_RemoveMultipleMembersFromAlias_sids(tvb, offset, pinfo, tree, di, drep);
13590 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13591 return offset;
13594 static int
13595 samr_dissect_element_OemChangePasswordUser2_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13597 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);
13599 return offset;
13602 static int
13603 samr_dissect_element_OemChangePasswordUser2_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13605 offset=cnf_dissect_lsa_AsciiString(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_OemChangePasswordUser2_server);
13607 return offset;
13610 static int
13611 samr_dissect_element_OemChangePasswordUser2_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13613 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);
13615 return offset;
13618 static int
13619 samr_dissect_element_OemChangePasswordUser2_account_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13621 offset=cnf_dissect_lsa_AsciiString(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_OemChangePasswordUser2_account);
13623 return offset;
13626 static int
13627 samr_dissect_element_OemChangePasswordUser2_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13629 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);
13631 return offset;
13634 static int
13635 samr_dissect_element_OemChangePasswordUser2_password_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13637 offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_OemChangePasswordUser2_password,0);
13639 return offset;
13642 static int
13643 samr_dissect_element_OemChangePasswordUser2_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13645 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);
13647 return offset;
13650 static int
13651 samr_dissect_element_OemChangePasswordUser2_hash_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13653 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_OemChangePasswordUser2_hash,0);
13655 return offset;
13658 /* IDL: NTSTATUS samr_OemChangePasswordUser2( */
13659 /* IDL: [in] [unique(1)] lsa_AsciiString *server, */
13660 /* IDL: [in] [ref] lsa_AsciiString *account, */
13661 /* IDL: [in] [unique(1)] samr_CryptPassword *password, */
13662 /* IDL: [in] [unique(1)] samr_Password *hash */
13663 /* IDL: ); */
13665 static int
13666 samr_dissect_OemChangePasswordUser2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13668 uint32_t status;
13670 di->dcerpc_procedure_name="OemChangePasswordUser2";
13671 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13673 if (status != 0)
13674 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13676 return offset;
13679 static int
13680 samr_dissect_OemChangePasswordUser2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13682 di->dcerpc_procedure_name="OemChangePasswordUser2";
13683 offset = samr_dissect_element_OemChangePasswordUser2_server(tvb, offset, pinfo, tree, di, drep);
13684 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13685 offset = samr_dissect_element_OemChangePasswordUser2_account(tvb, offset, pinfo, tree, di, drep);
13686 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13687 offset = samr_dissect_element_OemChangePasswordUser2_password(tvb, offset, pinfo, tree, di, drep);
13688 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13689 offset = samr_dissect_element_OemChangePasswordUser2_hash(tvb, offset, pinfo, tree, di, drep);
13690 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13691 return offset;
13694 static int
13695 samr_dissect_element_ChangePasswordUser2_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13697 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);
13699 return offset;
13702 static int
13703 samr_dissect_element_ChangePasswordUser2_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13705 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ChangePasswordUser2_server);
13707 return offset;
13710 static int
13711 samr_dissect_element_ChangePasswordUser2_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13713 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);
13715 return offset;
13718 static int
13719 samr_dissect_element_ChangePasswordUser2_account_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13721 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ChangePasswordUser2_account);
13723 return offset;
13726 static int
13727 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_, uint8_t *drep _U_)
13729 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);
13731 return offset;
13734 static int
13735 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_, uint8_t *drep _U_)
13737 offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser2_nt_password,0);
13739 return offset;
13742 static int
13743 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_, uint8_t *drep _U_)
13745 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);
13747 return offset;
13750 static int
13751 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_, uint8_t *drep _U_)
13753 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser2_nt_verifier,0);
13755 return offset;
13758 static int
13759 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_, uint8_t *drep _U_)
13761 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser2_lm_change, 0);
13763 return offset;
13766 static int
13767 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_, uint8_t *drep _U_)
13769 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);
13771 return offset;
13774 static int
13775 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_, uint8_t *drep _U_)
13777 offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser2_lm_password,0);
13779 return offset;
13782 static int
13783 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_, uint8_t *drep _U_)
13785 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);
13787 return offset;
13790 static int
13791 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_, uint8_t *drep _U_)
13793 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser2_lm_verifier,0);
13795 return offset;
13798 /* IDL: NTSTATUS samr_ChangePasswordUser2( */
13799 /* IDL: [in] [unique(1)] lsa_String *server, */
13800 /* IDL: [in] [ref] lsa_String *account, */
13801 /* IDL: [in] [unique(1)] samr_CryptPassword *nt_password, */
13802 /* IDL: [in] [unique(1)] samr_Password *nt_verifier, */
13803 /* IDL: [in] uint8 lm_change, */
13804 /* IDL: [in] [unique(1)] samr_CryptPassword *lm_password, */
13805 /* IDL: [in] [unique(1)] samr_Password *lm_verifier */
13806 /* IDL: ); */
13808 static int
13809 samr_dissect_ChangePasswordUser2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13811 uint32_t status;
13813 di->dcerpc_procedure_name="ChangePasswordUser2";
13814 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13816 if (status != 0)
13817 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13819 return offset;
13822 static int
13823 samr_dissect_ChangePasswordUser2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13825 di->dcerpc_procedure_name="ChangePasswordUser2";
13826 offset = samr_dissect_element_ChangePasswordUser2_server(tvb, offset, pinfo, tree, di, drep);
13827 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13828 offset = samr_dissect_element_ChangePasswordUser2_account(tvb, offset, pinfo, tree, di, drep);
13829 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13830 offset = samr_dissect_element_ChangePasswordUser2_nt_password(tvb, offset, pinfo, tree, di, drep);
13831 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13832 offset = samr_dissect_element_ChangePasswordUser2_nt_verifier(tvb, offset, pinfo, tree, di, drep);
13833 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13834 offset = samr_dissect_element_ChangePasswordUser2_lm_change(tvb, offset, pinfo, tree, di, drep);
13835 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13836 offset = samr_dissect_element_ChangePasswordUser2_lm_password(tvb, offset, pinfo, tree, di, drep);
13837 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13838 offset = samr_dissect_element_ChangePasswordUser2_lm_verifier(tvb, offset, pinfo, tree, di, drep);
13839 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13840 return offset;
13843 static int
13844 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_, uint8_t *drep _U_)
13846 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);
13848 return offset;
13851 static int
13852 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_, uint8_t *drep _U_)
13854 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 3|PIDL_SET_COL_INFO, hf_samr_samr_GetDomPwInfo_domain_name);
13856 return offset;
13859 static int
13860 samr_dissect_element_GetDomPwInfo_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13862 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);
13864 return offset;
13867 static int
13868 samr_dissect_element_GetDomPwInfo_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13870 offset = samr_dissect_struct_PwInfo(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_GetDomPwInfo_info,0);
13872 return offset;
13875 /* IDL: NTSTATUS samr_GetDomPwInfo( */
13876 /* IDL: [in] [unique(1)] lsa_String *domain_name, */
13877 /* IDL: [out] [ref] samr_PwInfo *info */
13878 /* IDL: ); */
13880 static int
13881 samr_dissect_GetDomPwInfo_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13883 uint32_t status;
13885 di->dcerpc_procedure_name="GetDomPwInfo";
13886 offset = samr_dissect_element_GetDomPwInfo_info(tvb, offset, pinfo, tree, di, drep);
13887 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13889 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13891 if (status != 0)
13892 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13894 return offset;
13897 static int
13898 samr_dissect_GetDomPwInfo_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13900 di->dcerpc_procedure_name="GetDomPwInfo";
13901 offset = samr_dissect_element_GetDomPwInfo_domain_name(tvb, offset, pinfo, tree, di, drep);
13902 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13903 return offset;
13906 static int
13907 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_, uint8_t *drep _U_)
13909 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);
13911 return offset;
13914 static int
13915 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_, uint8_t *drep _U_)
13917 char *data;
13919 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_samr_samr_Connect2_system_name, false, &data);
13920 proto_item_append_text(tree, ": %s", data);
13922 return offset;
13925 static int
13926 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_, uint8_t *drep _U_)
13928 offset = samr_dissect_bitmap_ConnectAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask, 0);
13930 return offset;
13933 static int
13934 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_, uint8_t *drep _U_)
13936 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);
13938 return offset;
13941 static int
13942 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_, uint8_t *drep _U_)
13944 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_CONNECT);
13946 return offset;
13949 /* IDL: NTSTATUS samr_Connect2( */
13950 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *system_name, */
13951 /* IDL: [in] samr_ConnectAccessMask access_mask, */
13952 /* IDL: [out] [ref] policy_handle *connect_handle */
13953 /* IDL: ); */
13955 static int
13956 samr_dissect_Connect2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13958 uint32_t status;
13960 di->dcerpc_procedure_name="Connect2";
13961 offset = samr_dissect_element_Connect2_connect_handle(tvb, offset, pinfo, tree, di, drep);
13962 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13964 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
13966 if (status != 0)
13967 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
13969 return offset;
13972 static int
13973 samr_dissect_Connect2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
13975 di->dcerpc_procedure_name="Connect2";
13976 offset = samr_dissect_element_Connect2_system_name(tvb, offset, pinfo, tree, di, drep);
13977 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13978 offset = samr_dissect_element_Connect2_access_mask(tvb, offset, pinfo, tree, di, drep);
13979 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
13980 return offset;
13983 static int
13984 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_, uint8_t *drep _U_)
13986 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);
13988 return offset;
13991 static int
13992 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_, uint8_t *drep _U_)
13994 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_user_handle, 0);
13996 return offset;
13999 static int
14000 samr_dissect_element_SetUserInfo2_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14002 offset = samr_dissect_enum_UserInfoLevel(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetUserInfo2_level, 0);
14004 return offset;
14007 static int
14008 samr_dissect_element_SetUserInfo2_info(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14010 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);
14012 return offset;
14015 static int
14016 samr_dissect_element_SetUserInfo2_info_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14018 offset = samr_dissect_UserInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetUserInfo2_info, 0);
14020 return offset;
14023 /* IDL: NTSTATUS samr_SetUserInfo2( */
14024 /* IDL: [in] [ref] policy_handle *user_handle, */
14025 /* IDL: [in] samr_UserInfoLevel level, */
14026 /* IDL: [in] [ref] [switch_is(level)] samr_UserInfo *info */
14027 /* IDL: ); */
14029 static int
14030 samr_dissect_SetUserInfo2_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14032 uint32_t status;
14034 di->dcerpc_procedure_name="SetUserInfo2";
14035 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14037 if (status != 0)
14038 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14040 return offset;
14043 static int
14044 samr_dissect_SetUserInfo2_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14046 di->dcerpc_procedure_name="SetUserInfo2";
14047 offset = samr_dissect_element_SetUserInfo2_user_handle(tvb, offset, pinfo, tree, di, drep);
14048 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14049 offset = samr_dissect_element_SetUserInfo2_level(tvb, offset, pinfo, tree, di, drep);
14050 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14051 offset = samr_dissect_element_SetUserInfo2_info(tvb, offset, pinfo, tree, di, drep);
14052 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14053 return offset;
14056 static int
14057 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_, uint8_t *drep _U_)
14059 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);
14061 return offset;
14064 static int
14065 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_, uint8_t *drep _U_)
14067 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, 0);
14069 return offset;
14072 static int
14073 samr_dissect_element_SetBootKeyInformation_unknown1(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14075 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetBootKeyInformation_unknown1, 0);
14077 return offset;
14080 static int
14081 samr_dissect_element_SetBootKeyInformation_unknown2(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14083 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetBootKeyInformation_unknown2, 0);
14085 return offset;
14088 static int
14089 samr_dissect_element_SetBootKeyInformation_unknown3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14091 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetBootKeyInformation_unknown3, 0);
14093 return offset;
14096 /* IDL: NTSTATUS samr_SetBootKeyInformation( */
14097 /* IDL: [in] [ref] policy_handle *connect_handle, */
14098 /* IDL: [in] uint32 unknown1, */
14099 /* IDL: [in] uint32 unknown2, */
14100 /* IDL: [in] uint32 unknown3 */
14101 /* IDL: ); */
14103 static int
14104 samr_dissect_SetBootKeyInformation_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14106 uint32_t status;
14108 di->dcerpc_procedure_name="SetBootKeyInformation";
14109 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14111 if (status != 0)
14112 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14114 return offset;
14117 static int
14118 samr_dissect_SetBootKeyInformation_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14120 di->dcerpc_procedure_name="SetBootKeyInformation";
14121 offset = samr_dissect_element_SetBootKeyInformation_connect_handle(tvb, offset, pinfo, tree, di, drep);
14122 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14123 offset = samr_dissect_element_SetBootKeyInformation_unknown1(tvb, offset, pinfo, tree, di, drep);
14124 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14125 offset = samr_dissect_element_SetBootKeyInformation_unknown2(tvb, offset, pinfo, tree, di, drep);
14126 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14127 offset = samr_dissect_element_SetBootKeyInformation_unknown3(tvb, offset, pinfo, tree, di, drep);
14128 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14129 return offset;
14132 static int
14133 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_, uint8_t *drep _U_)
14135 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);
14137 return offset;
14140 static int
14141 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_, uint8_t *drep _U_)
14143 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GetBootKeyInformation_domain_handle, 0);
14145 return offset;
14148 static int
14149 samr_dissect_element_GetBootKeyInformation_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14151 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);
14153 return offset;
14156 static int
14157 samr_dissect_element_GetBootKeyInformation_unknown_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14159 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_GetBootKeyInformation_unknown, 0);
14161 return offset;
14164 /* IDL: NTSTATUS samr_GetBootKeyInformation( */
14165 /* IDL: [in] [ref] policy_handle *domain_handle, */
14166 /* IDL: [out] [ref] uint32 *unknown */
14167 /* IDL: ); */
14169 static int
14170 samr_dissect_GetBootKeyInformation_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14172 uint32_t status;
14174 di->dcerpc_procedure_name="GetBootKeyInformation";
14175 offset = samr_dissect_element_GetBootKeyInformation_unknown(tvb, offset, pinfo, tree, di, drep);
14176 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14178 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14180 if (status != 0)
14181 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14183 return offset;
14186 static int
14187 samr_dissect_GetBootKeyInformation_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14189 di->dcerpc_procedure_name="GetBootKeyInformation";
14190 offset = samr_dissect_element_GetBootKeyInformation_domain_handle(tvb, offset, pinfo, tree, di, drep);
14191 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14192 return offset;
14195 static int
14196 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_, uint8_t *drep _U_)
14198 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);
14200 return offset;
14203 static int
14204 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_, uint8_t *drep _U_)
14206 char *data;
14208 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_samr_samr_Connect3_system_name, false, &data);
14209 proto_item_append_text(tree, ": %s", data);
14211 return offset;
14214 static int
14215 samr_dissect_element_Connect3_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14217 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect3_unknown, 0);
14219 return offset;
14222 static int
14223 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_, uint8_t *drep _U_)
14225 offset = samr_dissect_bitmap_ConnectAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask, 0);
14227 return offset;
14230 static int
14231 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_, uint8_t *drep _U_)
14233 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);
14235 return offset;
14238 static int
14239 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_, uint8_t *drep _U_)
14241 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_CONNECT);
14243 return offset;
14246 /* IDL: NTSTATUS samr_Connect3( */
14247 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *system_name, */
14248 /* IDL: [in] uint32 unknown, */
14249 /* IDL: [in] samr_ConnectAccessMask access_mask, */
14250 /* IDL: [out] [ref] policy_handle *connect_handle */
14251 /* IDL: ); */
14253 static int
14254 samr_dissect_Connect3_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14256 uint32_t status;
14258 di->dcerpc_procedure_name="Connect3";
14259 offset = samr_dissect_element_Connect3_connect_handle(tvb, offset, pinfo, tree, di, drep);
14260 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14262 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14264 if (status != 0)
14265 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14267 return offset;
14270 static int
14271 samr_dissect_Connect3_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14273 di->dcerpc_procedure_name="Connect3";
14274 offset = samr_dissect_element_Connect3_system_name(tvb, offset, pinfo, tree, di, drep);
14275 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14276 offset = samr_dissect_element_Connect3_unknown(tvb, offset, pinfo, tree, di, drep);
14277 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14278 offset = samr_dissect_element_Connect3_access_mask(tvb, offset, pinfo, tree, di, drep);
14279 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14280 return offset;
14283 static int
14284 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_, uint8_t *drep _U_)
14286 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);
14288 return offset;
14291 static int
14292 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_, uint8_t *drep _U_)
14294 char *data;
14296 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_samr_samr_Connect4_system_name, false, &data);
14297 proto_item_append_text(tree, ": %s", data);
14299 return offset;
14302 static int
14303 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_, uint8_t *drep _U_)
14305 offset = samr_dissect_enum_ConnectVersion(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect4_client_version, 0);
14307 return offset;
14310 static int
14311 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_, uint8_t *drep _U_)
14313 offset = samr_dissect_bitmap_ConnectAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask, 0);
14315 return offset;
14318 static int
14319 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_, uint8_t *drep _U_)
14321 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);
14323 return offset;
14326 static int
14327 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_, uint8_t *drep _U_)
14329 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_CONNECT);
14331 return offset;
14334 /* IDL: NTSTATUS samr_Connect4( */
14335 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *system_name, */
14336 /* IDL: [in] samr_ConnectVersion client_version, */
14337 /* IDL: [in] samr_ConnectAccessMask access_mask, */
14338 /* IDL: [out] [ref] policy_handle *connect_handle */
14339 /* IDL: ); */
14341 static int
14342 samr_dissect_Connect4_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14344 uint32_t status;
14346 di->dcerpc_procedure_name="Connect4";
14347 offset = samr_dissect_element_Connect4_connect_handle(tvb, offset, pinfo, tree, di, drep);
14348 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14350 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14352 if (status != 0)
14353 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14355 return offset;
14358 static int
14359 samr_dissect_Connect4_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14361 di->dcerpc_procedure_name="Connect4";
14362 offset = samr_dissect_element_Connect4_system_name(tvb, offset, pinfo, tree, di, drep);
14363 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14364 offset = samr_dissect_element_Connect4_client_version(tvb, offset, pinfo, tree, di, drep);
14365 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14366 offset = samr_dissect_element_Connect4_access_mask(tvb, offset, pinfo, tree, di, drep);
14367 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14368 return offset;
14371 static int
14372 samr_dissect_element_ChangePasswordUser3_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14374 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);
14376 return offset;
14379 static int
14380 samr_dissect_element_ChangePasswordUser3_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14382 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ChangePasswordUser3_server);
14384 return offset;
14387 static int
14388 samr_dissect_element_ChangePasswordUser3_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14390 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);
14392 return offset;
14395 static int
14396 samr_dissect_element_ChangePasswordUser3_account_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14398 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ChangePasswordUser3_account);
14400 return offset;
14403 static int
14404 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_, uint8_t *drep _U_)
14406 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);
14408 return offset;
14411 static int
14412 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_, uint8_t *drep _U_)
14414 offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_nt_password,0);
14416 return offset;
14419 static int
14420 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_, uint8_t *drep _U_)
14422 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);
14424 return offset;
14427 static int
14428 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_, uint8_t *drep _U_)
14430 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_nt_verifier,0);
14432 return offset;
14435 static int
14436 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_, uint8_t *drep _U_)
14438 offset = PIDL_dissect_uint8(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ChangePasswordUser3_lm_change, 0);
14440 return offset;
14443 static int
14444 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_, uint8_t *drep _U_)
14446 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);
14448 return offset;
14451 static int
14452 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_, uint8_t *drep _U_)
14454 offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_lm_password,0);
14456 return offset;
14459 static int
14460 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_, uint8_t *drep _U_)
14462 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);
14464 return offset;
14467 static int
14468 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_, uint8_t *drep _U_)
14470 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_lm_verifier,0);
14472 return offset;
14475 static int
14476 samr_dissect_element_ChangePasswordUser3_password3(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14478 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);
14480 return offset;
14483 static int
14484 samr_dissect_element_ChangePasswordUser3_password3_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14486 offset = samr_dissect_struct_CryptPassword(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_password3,0);
14488 return offset;
14491 static int
14492 samr_dissect_element_ChangePasswordUser3_dominfo(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14494 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);
14496 return offset;
14499 static int
14500 samr_dissect_element_ChangePasswordUser3_dominfo_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14502 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);
14504 return offset;
14507 static int
14508 samr_dissect_element_ChangePasswordUser3_dominfo__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14510 offset = samr_dissect_struct_DomInfo1(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_dominfo,0);
14512 return offset;
14515 static int
14516 samr_dissect_element_ChangePasswordUser3_reject(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14518 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_reject_, NDR_POINTER_REF, "Pointer to Reject (userPwdChangeFailureInformation)",hf_samr_samr_ChangePasswordUser3_reject);
14520 return offset;
14523 static int
14524 samr_dissect_element_ChangePasswordUser3_reject_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14526 offset = dissect_ndr_embedded_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser3_reject__, NDR_POINTER_UNIQUE, "Pointer to Reject (userPwdChangeFailureInformation)",hf_samr_samr_ChangePasswordUser3_reject);
14528 return offset;
14531 static int
14532 samr_dissect_element_ChangePasswordUser3_reject__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14534 offset = samr_dissect_struct_userPwdChangeFailureInformation(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser3_reject,0);
14536 return offset;
14539 /* IDL: NTSTATUS samr_ChangePasswordUser3( */
14540 /* IDL: [in] [unique(1)] lsa_String *server, */
14541 /* IDL: [in] [ref] lsa_String *account, */
14542 /* IDL: [in] [unique(1)] samr_CryptPassword *nt_password, */
14543 /* IDL: [in] [unique(1)] samr_Password *nt_verifier, */
14544 /* IDL: [in] uint8 lm_change, */
14545 /* IDL: [in] [unique(1)] samr_CryptPassword *lm_password, */
14546 /* IDL: [in] [unique(1)] samr_Password *lm_verifier, */
14547 /* IDL: [in] [unique(1)] samr_CryptPassword *password3, */
14548 /* IDL: [out] [ref] samr_DomInfo1 **dominfo, */
14549 /* IDL: [out] [ref] userPwdChangeFailureInformation **reject */
14550 /* IDL: ); */
14552 static int
14553 samr_dissect_ChangePasswordUser3_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14555 uint32_t status;
14557 di->dcerpc_procedure_name="ChangePasswordUser3";
14558 offset = samr_dissect_element_ChangePasswordUser3_dominfo(tvb, offset, pinfo, tree, di, drep);
14559 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14561 offset = samr_dissect_element_ChangePasswordUser3_reject(tvb, offset, pinfo, tree, di, drep);
14562 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14564 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14566 if (status != 0)
14567 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14569 return offset;
14572 static int
14573 samr_dissect_ChangePasswordUser3_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14575 di->dcerpc_procedure_name="ChangePasswordUser3";
14576 offset = samr_dissect_element_ChangePasswordUser3_server(tvb, offset, pinfo, tree, di, drep);
14577 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14578 offset = samr_dissect_element_ChangePasswordUser3_account(tvb, offset, pinfo, tree, di, drep);
14579 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14580 offset = samr_dissect_element_ChangePasswordUser3_nt_password(tvb, offset, pinfo, tree, di, drep);
14581 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14582 offset = samr_dissect_element_ChangePasswordUser3_nt_verifier(tvb, offset, pinfo, tree, di, drep);
14583 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14584 offset = samr_dissect_element_ChangePasswordUser3_lm_change(tvb, offset, pinfo, tree, di, drep);
14585 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14586 offset = samr_dissect_element_ChangePasswordUser3_lm_password(tvb, offset, pinfo, tree, di, drep);
14587 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14588 offset = samr_dissect_element_ChangePasswordUser3_lm_verifier(tvb, offset, pinfo, tree, di, drep);
14589 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14590 offset = samr_dissect_element_ChangePasswordUser3_password3(tvb, offset, pinfo, tree, di, drep);
14591 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14592 return offset;
14595 static int
14596 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_, uint8_t *drep _U_)
14598 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);
14600 return offset;
14603 static int
14604 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_, uint8_t *drep _U_)
14606 char *data;
14608 offset = dissect_ndr_cvstring(tvb, offset, pinfo, tree, di, drep, sizeof(uint16_t), hf_samr_samr_Connect5_system_name, false, &data);
14609 proto_item_append_text(tree, ": %s", data);
14611 return offset;
14614 static int
14615 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_, uint8_t *drep _U_)
14617 offset = samr_dissect_bitmap_ConnectAccessMask(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_access_mask, 0);
14619 return offset;
14622 static int
14623 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_, uint8_t *drep _U_)
14625 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect5_level_in, 0);
14627 return offset;
14630 static int
14631 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_, uint8_t *drep _U_)
14633 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);
14635 return offset;
14638 static int
14639 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_, uint8_t *drep _U_)
14641 offset = samr_dissect_ConnectInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect5_info_in, 0);
14643 return offset;
14646 static int
14647 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_, uint8_t *drep _U_)
14649 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);
14651 return offset;
14654 static int
14655 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_, uint8_t *drep _U_)
14657 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect5_level_out, 0);
14659 return offset;
14662 static int
14663 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_, uint8_t *drep _U_)
14665 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);
14667 return offset;
14670 static int
14671 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_, uint8_t *drep _U_)
14673 offset = samr_dissect_ConnectInfo(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_Connect5_info_out, 0);
14675 return offset;
14678 static int
14679 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_, uint8_t *drep _U_)
14681 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);
14683 return offset;
14686 static int
14687 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_, uint8_t *drep _U_)
14689 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_connect_handle, PIDL_POLHND_OPEN|PIDL_POLHND_TYPE_SAMR_CONNECT);
14691 return offset;
14694 /* IDL: NTSTATUS samr_Connect5( */
14695 /* IDL: [charset(UTF16)] [in] [unique(1)] uint16 *system_name, */
14696 /* IDL: [in] samr_ConnectAccessMask access_mask, */
14697 /* IDL: [in] uint32 level_in, */
14698 /* IDL: [in] [ref] [switch_is(level_in)] samr_ConnectInfo *info_in, */
14699 /* IDL: [out] [ref] uint32 *level_out, */
14700 /* IDL: [out] [ref] [switch_is(*level_out)] samr_ConnectInfo *info_out, */
14701 /* IDL: [out] [ref] policy_handle *connect_handle */
14702 /* IDL: ); */
14704 static int
14705 samr_dissect_Connect5_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14707 uint32_t status;
14709 di->dcerpc_procedure_name="Connect5";
14710 offset = samr_dissect_element_Connect5_level_out(tvb, offset, pinfo, tree, di, drep);
14711 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14713 offset = samr_dissect_element_Connect5_info_out(tvb, offset, pinfo, tree, di, drep);
14714 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14716 offset = samr_dissect_element_Connect5_connect_handle(tvb, offset, pinfo, tree, di, drep);
14717 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14719 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14721 if (status != 0)
14722 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14724 return offset;
14727 static int
14728 samr_dissect_Connect5_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14730 di->dcerpc_procedure_name="Connect5";
14731 offset = samr_dissect_element_Connect5_system_name(tvb, offset, pinfo, tree, di, drep);
14732 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14733 offset = samr_dissect_element_Connect5_access_mask(tvb, offset, pinfo, tree, di, drep);
14734 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14735 offset = samr_dissect_element_Connect5_level_in(tvb, offset, pinfo, tree, di, drep);
14736 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14737 offset = samr_dissect_element_Connect5_info_in(tvb, offset, pinfo, tree, di, drep);
14738 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14739 return offset;
14742 static int
14743 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_, uint8_t *drep _U_)
14745 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);
14747 return offset;
14750 static int
14751 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_, uint8_t *drep _U_)
14753 offset = PIDL_dissect_policy_hnd(tvb, offset, pinfo, tree, di, drep, hf_samr_domain_handle, 0);
14755 return offset;
14758 static int
14759 samr_dissect_element_RidToSid_rid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14761 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_rid, 0);
14763 return offset;
14766 static int
14767 samr_dissect_element_RidToSid_sid(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14769 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);
14771 return offset;
14774 static int
14775 samr_dissect_element_RidToSid_sid_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14777 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);
14779 return offset;
14782 static int
14783 samr_dissect_element_RidToSid_sid__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14785 offset=cnf_dissect_dom_sid2(tvb, offset, pinfo, tree, di, drep);
14787 return offset;
14790 /* IDL: NTSTATUS samr_RidToSid( */
14791 /* IDL: [in] [ref] policy_handle *domain_handle, */
14792 /* IDL: [in] uint32 rid, */
14793 /* IDL: [out] [ref] dom_sid2 **sid */
14794 /* IDL: ); */
14796 static int
14797 samr_dissect_RidToSid_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14799 uint32_t status;
14801 di->dcerpc_procedure_name="RidToSid";
14802 offset = samr_dissect_element_RidToSid_sid(tvb, offset, pinfo, tree, di, drep);
14803 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14805 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14807 if (status != 0)
14808 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14810 return offset;
14813 static int
14814 samr_dissect_RidToSid_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14816 di->dcerpc_procedure_name="RidToSid";
14817 offset = samr_dissect_element_RidToSid_domain_handle(tvb, offset, pinfo, tree, di, drep);
14818 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14819 offset = samr_dissect_element_RidToSid_rid(tvb, offset, pinfo, tree, di, drep);
14820 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14821 return offset;
14824 static int
14825 samr_dissect_element_SetDsrmPassword_name(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14827 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);
14829 return offset;
14832 static int
14833 samr_dissect_element_SetDsrmPassword_name_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14835 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_SetDsrmPassword_name);
14837 return offset;
14840 static int
14841 samr_dissect_element_SetDsrmPassword_unknown(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14843 offset = PIDL_dissect_uint32(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_SetDsrmPassword_unknown, 0);
14845 return offset;
14848 static int
14849 samr_dissect_element_SetDsrmPassword_hash(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14851 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);
14853 return offset;
14856 static int
14857 samr_dissect_element_SetDsrmPassword_hash_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14859 offset = samr_dissect_struct_Password(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_SetDsrmPassword_hash,0);
14861 return offset;
14864 /* IDL: NTSTATUS samr_SetDsrmPassword( */
14865 /* IDL: [in] [unique(1)] lsa_String *name, */
14866 /* IDL: [in] uint32 unknown, */
14867 /* IDL: [in] [unique(1)] samr_Password *hash */
14868 /* IDL: ); */
14870 static int
14871 samr_dissect_SetDsrmPassword_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14873 uint32_t status;
14875 di->dcerpc_procedure_name="SetDsrmPassword";
14876 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14878 if (status != 0)
14879 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14881 return offset;
14884 static int
14885 samr_dissect_SetDsrmPassword_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14887 di->dcerpc_procedure_name="SetDsrmPassword";
14888 offset = samr_dissect_element_SetDsrmPassword_name(tvb, offset, pinfo, tree, di, drep);
14889 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14890 offset = samr_dissect_element_SetDsrmPassword_unknown(tvb, offset, pinfo, tree, di, drep);
14891 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14892 offset = samr_dissect_element_SetDsrmPassword_hash(tvb, offset, pinfo, tree, di, drep);
14893 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14894 return offset;
14897 static int
14898 samr_dissect_element_ValidatePassword_level(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14900 offset = samr_dissect_enum_ValidatePasswordLevel(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePassword_level, 0);
14902 return offset;
14905 static int
14906 samr_dissect_element_ValidatePassword_req(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14908 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);
14910 return offset;
14913 static int
14914 samr_dissect_element_ValidatePassword_req_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14916 offset = samr_dissect_ValidatePasswordReq(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePassword_req, 0);
14918 return offset;
14921 static int
14922 samr_dissect_element_ValidatePassword_rep(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14924 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);
14926 return offset;
14929 static int
14930 samr_dissect_element_ValidatePassword_rep_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14932 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);
14934 return offset;
14937 static int
14938 samr_dissect_element_ValidatePassword_rep__(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14940 offset = samr_dissect_ValidatePasswordRep(tvb, offset, pinfo, tree, di, drep, hf_samr_samr_ValidatePassword_rep, 0);
14942 return offset;
14945 /* IDL: NTSTATUS samr_ValidatePassword( */
14946 /* IDL: [in] samr_ValidatePasswordLevel level, */
14947 /* IDL: [in] [ref] [switch_is(level)] samr_ValidatePasswordReq *req, */
14948 /* IDL: [out] [ref] [switch_is(level)] samr_ValidatePasswordRep **rep */
14949 /* IDL: ); */
14951 static int
14952 samr_dissect_ValidatePassword_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14954 uint32_t status;
14956 di->dcerpc_procedure_name="ValidatePassword";
14957 offset = samr_dissect_element_ValidatePassword_rep(tvb, offset, pinfo, tree, di, drep);
14958 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14960 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
14962 if (status != 0)
14963 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
14965 return offset;
14968 static int
14969 samr_dissect_ValidatePassword_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14971 di->dcerpc_procedure_name="ValidatePassword";
14972 offset = samr_dissect_element_ValidatePassword_level(tvb, offset, pinfo, tree, di, drep);
14973 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14974 offset = samr_dissect_element_ValidatePassword_req(tvb, offset, pinfo, tree, di, drep);
14975 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
14976 return offset;
14979 /* IDL: void samr_Opnum68NotUsedOnWire( */
14980 /* IDL: */
14981 /* IDL: ); */
14983 static int
14984 samr_dissect_Opnum68NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14986 di->dcerpc_procedure_name="Opnum68NotUsedOnWire";
14987 return offset;
14990 static int
14991 samr_dissect_Opnum68NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
14993 di->dcerpc_procedure_name="Opnum68NotUsedOnWire";
14994 return offset;
14997 /* IDL: void samr_Opnum69NotUsedOnWire( */
14998 /* IDL: */
14999 /* IDL: ); */
15001 static int
15002 samr_dissect_Opnum69NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15004 di->dcerpc_procedure_name="Opnum69NotUsedOnWire";
15005 return offset;
15008 static int
15009 samr_dissect_Opnum69NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15011 di->dcerpc_procedure_name="Opnum69NotUsedOnWire";
15012 return offset;
15015 /* IDL: void samr_Opnum70NotUsedOnWire( */
15016 /* IDL: */
15017 /* IDL: ); */
15019 static int
15020 samr_dissect_Opnum70NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15022 di->dcerpc_procedure_name="Opnum70NotUsedOnWire";
15023 return offset;
15026 static int
15027 samr_dissect_Opnum70NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15029 di->dcerpc_procedure_name="Opnum70NotUsedOnWire";
15030 return offset;
15033 /* IDL: void samr_Opnum71NotUsedOnWire( */
15034 /* IDL: */
15035 /* IDL: ); */
15037 static int
15038 samr_dissect_Opnum71NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15040 di->dcerpc_procedure_name="Opnum71NotUsedOnWire";
15041 return offset;
15044 static int
15045 samr_dissect_Opnum71NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15047 di->dcerpc_procedure_name="Opnum71NotUsedOnWire";
15048 return offset;
15051 /* IDL: void samr_Opnum72NotUsedOnWire( */
15052 /* IDL: */
15053 /* IDL: ); */
15055 static int
15056 samr_dissect_Opnum72NotUsedOnWire_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15058 di->dcerpc_procedure_name="Opnum72NotUsedOnWire";
15059 return offset;
15062 static int
15063 samr_dissect_Opnum72NotUsedOnWire_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15065 di->dcerpc_procedure_name="Opnum72NotUsedOnWire";
15066 return offset;
15069 static int
15070 samr_dissect_element_ChangePasswordUser4_server(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15072 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser4_server_, NDR_POINTER_UNIQUE, "Pointer to Server (lsa_String)",hf_samr_samr_ChangePasswordUser4_server);
15074 return offset;
15077 static int
15078 samr_dissect_element_ChangePasswordUser4_server_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15080 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ChangePasswordUser4_server);
15082 return offset;
15085 static int
15086 samr_dissect_element_ChangePasswordUser4_account(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15088 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser4_account_, NDR_POINTER_REF, "Pointer to Account (lsa_String)",hf_samr_samr_ChangePasswordUser4_account);
15090 return offset;
15093 static int
15094 samr_dissect_element_ChangePasswordUser4_account_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15096 offset=dissect_ndr_lsa_String(tvb, offset, pinfo, tree, di, drep, 0, hf_samr_samr_ChangePasswordUser4_account);
15098 return offset;
15101 static int
15102 samr_dissect_element_ChangePasswordUser4_password(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15104 offset = dissect_ndr_toplevel_pointer(tvb, offset, pinfo, tree, di, drep, samr_dissect_element_ChangePasswordUser4_password_, NDR_POINTER_REF, "Pointer to Password (samr_EncryptedPasswordAES)",hf_samr_samr_ChangePasswordUser4_password);
15106 return offset;
15109 static int
15110 samr_dissect_element_ChangePasswordUser4_password_(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15112 offset = samr_dissect_struct_EncryptedPasswordAES(tvb,offset,pinfo,tree,di,drep,hf_samr_samr_ChangePasswordUser4_password,0);
15114 return offset;
15117 /* IDL: NTSTATUS samr_ChangePasswordUser4( */
15118 /* IDL: [in] [unique(1)] lsa_String *server, */
15119 /* IDL: [in] [ref] lsa_String *account, */
15120 /* IDL: [in] [ref] samr_EncryptedPasswordAES *password */
15121 /* IDL: ); */
15123 static int
15124 samr_dissect_ChangePasswordUser4_response(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15126 uint32_t status;
15128 di->dcerpc_procedure_name="ChangePasswordUser4";
15129 offset = dissect_ntstatus(tvb, offset, pinfo, tree, di, drep, hf_samr_status, &status);
15131 if (status != 0)
15132 col_append_fstr(pinfo->cinfo, COL_INFO, ", Error: %s", val_to_str_ext(status, &NT_errors_ext, "Unknown NT status 0x%08x"));
15134 return offset;
15137 static int
15138 samr_dissect_ChangePasswordUser4_request(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, uint8_t *drep _U_)
15140 di->dcerpc_procedure_name="ChangePasswordUser4";
15141 offset = samr_dissect_element_ChangePasswordUser4_server(tvb, offset, pinfo, tree, di, drep);
15142 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
15143 offset = samr_dissect_element_ChangePasswordUser4_account(tvb, offset, pinfo, tree, di, drep);
15144 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
15145 offset = samr_dissect_element_ChangePasswordUser4_password(tvb, offset, pinfo, tree, di, drep);
15146 offset = dissect_deferred_pointers(pinfo, tvb, offset, di, drep);
15147 return offset;
15151 static const dcerpc_sub_dissector samr_dissectors[] = {
15152 { 0, "Connect",
15153 samr_dissect_Connect_request, samr_dissect_Connect_response},
15154 { 1, "Close",
15155 samr_dissect_Close_request, samr_dissect_Close_response},
15156 { 2, "SetSecurity",
15157 samr_dissect_SetSecurity_request, samr_dissect_SetSecurity_response},
15158 { 3, "QuerySecurity",
15159 samr_dissect_QuerySecurity_request, samr_dissect_QuerySecurity_response},
15160 { 4, "Shutdown",
15161 samr_dissect_Shutdown_request, samr_dissect_Shutdown_response},
15162 { 5, "LookupDomain",
15163 samr_dissect_LookupDomain_request, samr_dissect_LookupDomain_response},
15164 { 6, "EnumDomains",
15165 samr_dissect_EnumDomains_request, samr_dissect_EnumDomains_response},
15166 { 7, "OpenDomain",
15167 samr_dissect_OpenDomain_request, samr_dissect_OpenDomain_response},
15168 { 8, "QueryDomainInfo",
15169 samr_dissect_QueryDomainInfo_request, samr_dissect_QueryDomainInfo_response},
15170 { 9, "SetDomainInfo",
15171 samr_dissect_SetDomainInfo_request, samr_dissect_SetDomainInfo_response},
15172 { 10, "CreateDomainGroup",
15173 samr_dissect_CreateDomainGroup_request, samr_dissect_CreateDomainGroup_response},
15174 { 11, "EnumDomainGroups",
15175 samr_dissect_EnumDomainGroups_request, samr_dissect_EnumDomainGroups_response},
15176 { 12, "CreateUser",
15177 samr_dissect_CreateUser_request, samr_dissect_CreateUser_response},
15178 { 13, "EnumDomainUsers",
15179 samr_dissect_EnumDomainUsers_request, samr_dissect_EnumDomainUsers_response},
15180 { 14, "CreateDomAlias",
15181 samr_dissect_CreateDomAlias_request, samr_dissect_CreateDomAlias_response},
15182 { 15, "EnumDomainAliases",
15183 samr_dissect_EnumDomainAliases_request, samr_dissect_EnumDomainAliases_response},
15184 { 16, "GetAliasMembership",
15185 samr_dissect_GetAliasMembership_request, samr_dissect_GetAliasMembership_response},
15186 { 17, "LookupNames",
15187 samr_dissect_LookupNames_request, samr_dissect_LookupNames_response},
15188 { 18, "LookupRids",
15189 samr_dissect_LookupRids_request, samr_dissect_LookupRids_response},
15190 { 19, "OpenGroup",
15191 samr_dissect_OpenGroup_request, samr_dissect_OpenGroup_response},
15192 { 20, "QueryGroupInfo",
15193 samr_dissect_QueryGroupInfo_request, samr_dissect_QueryGroupInfo_response},
15194 { 21, "SetGroupInfo",
15195 samr_dissect_SetGroupInfo_request, samr_dissect_SetGroupInfo_response},
15196 { 22, "AddGroupMember",
15197 samr_dissect_AddGroupMember_request, samr_dissect_AddGroupMember_response},
15198 { 23, "DeleteDomainGroup",
15199 samr_dissect_DeleteDomainGroup_request, samr_dissect_DeleteDomainGroup_response},
15200 { 24, "DeleteGroupMember",
15201 samr_dissect_DeleteGroupMember_request, samr_dissect_DeleteGroupMember_response},
15202 { 25, "QueryGroupMember",
15203 samr_dissect_QueryGroupMember_request, samr_dissect_QueryGroupMember_response},
15204 { 26, "SetMemberAttributesOfGroup",
15205 samr_dissect_SetMemberAttributesOfGroup_request, samr_dissect_SetMemberAttributesOfGroup_response},
15206 { 27, "OpenAlias",
15207 samr_dissect_OpenAlias_request, samr_dissect_OpenAlias_response},
15208 { 28, "QueryAliasInfo",
15209 samr_dissect_QueryAliasInfo_request, samr_dissect_QueryAliasInfo_response},
15210 { 29, "SetAliasInfo",
15211 samr_dissect_SetAliasInfo_request, samr_dissect_SetAliasInfo_response},
15212 { 30, "DeleteDomAlias",
15213 samr_dissect_DeleteDomAlias_request, samr_dissect_DeleteDomAlias_response},
15214 { 31, "AddAliasMember",
15215 samr_dissect_AddAliasMember_request, samr_dissect_AddAliasMember_response},
15216 { 32, "DeleteAliasMember",
15217 samr_dissect_DeleteAliasMember_request, samr_dissect_DeleteAliasMember_response},
15218 { 33, "GetMembersInAlias",
15219 samr_dissect_GetMembersInAlias_request, samr_dissect_GetMembersInAlias_response},
15220 { 34, "OpenUser",
15221 samr_dissect_OpenUser_request, samr_dissect_OpenUser_response},
15222 { 35, "DeleteUser",
15223 samr_dissect_DeleteUser_request, samr_dissect_DeleteUser_response},
15224 { 36, "QueryUserInfo",
15225 samr_dissect_QueryUserInfo_request, samr_dissect_QueryUserInfo_response},
15226 { 37, "SetUserInfo",
15227 samr_dissect_SetUserInfo_request, samr_dissect_SetUserInfo_response},
15228 { 38, "ChangePasswordUser",
15229 samr_dissect_ChangePasswordUser_request, samr_dissect_ChangePasswordUser_response},
15230 { 39, "GetGroupsForUser",
15231 samr_dissect_GetGroupsForUser_request, samr_dissect_GetGroupsForUser_response},
15232 { 40, "QueryDisplayInfo",
15233 samr_dissect_QueryDisplayInfo_request, samr_dissect_QueryDisplayInfo_response},
15234 { 41, "GetDisplayEnumerationIndex",
15235 samr_dissect_GetDisplayEnumerationIndex_request, samr_dissect_GetDisplayEnumerationIndex_response},
15236 { 42, "TestPrivateFunctionsDomain",
15237 samr_dissect_TestPrivateFunctionsDomain_request, samr_dissect_TestPrivateFunctionsDomain_response},
15238 { 43, "TestPrivateFunctionsUser",
15239 samr_dissect_TestPrivateFunctionsUser_request, samr_dissect_TestPrivateFunctionsUser_response},
15240 { 44, "GetUserPwInfo",
15241 samr_dissect_GetUserPwInfo_request, samr_dissect_GetUserPwInfo_response},
15242 { 45, "RemoveMemberFromForeignDomain",
15243 samr_dissect_RemoveMemberFromForeignDomain_request, samr_dissect_RemoveMemberFromForeignDomain_response},
15244 { 46, "QueryDomainInfo2",
15245 samr_dissect_QueryDomainInfo2_request, samr_dissect_QueryDomainInfo2_response},
15246 { 47, "QueryUserInfo2",
15247 samr_dissect_QueryUserInfo2_request, samr_dissect_QueryUserInfo2_response},
15248 { 48, "QueryDisplayInfo2",
15249 samr_dissect_QueryDisplayInfo2_request, samr_dissect_QueryDisplayInfo2_response},
15250 { 49, "GetDisplayEnumerationIndex2",
15251 samr_dissect_GetDisplayEnumerationIndex2_request, samr_dissect_GetDisplayEnumerationIndex2_response},
15252 { 50, "CreateUser2",
15253 samr_dissect_CreateUser2_request, samr_dissect_CreateUser2_response},
15254 { 51, "QueryDisplayInfo3",
15255 samr_dissect_QueryDisplayInfo3_request, samr_dissect_QueryDisplayInfo3_response},
15256 { 52, "AddMultipleMembersToAlias",
15257 samr_dissect_AddMultipleMembersToAlias_request, samr_dissect_AddMultipleMembersToAlias_response},
15258 { 53, "RemoveMultipleMembersFromAlias",
15259 samr_dissect_RemoveMultipleMembersFromAlias_request, samr_dissect_RemoveMultipleMembersFromAlias_response},
15260 { 54, "OemChangePasswordUser2",
15261 samr_dissect_OemChangePasswordUser2_request, samr_dissect_OemChangePasswordUser2_response},
15262 { 55, "ChangePasswordUser2",
15263 samr_dissect_ChangePasswordUser2_request, samr_dissect_ChangePasswordUser2_response},
15264 { 56, "GetDomPwInfo",
15265 samr_dissect_GetDomPwInfo_request, samr_dissect_GetDomPwInfo_response},
15266 { 57, "Connect2",
15267 samr_dissect_Connect2_request, samr_dissect_Connect2_response},
15268 { 58, "SetUserInfo2",
15269 samr_dissect_SetUserInfo2_request, samr_dissect_SetUserInfo2_response},
15270 { 59, "SetBootKeyInformation",
15271 samr_dissect_SetBootKeyInformation_request, samr_dissect_SetBootKeyInformation_response},
15272 { 60, "GetBootKeyInformation",
15273 samr_dissect_GetBootKeyInformation_request, samr_dissect_GetBootKeyInformation_response},
15274 { 61, "Connect3",
15275 samr_dissect_Connect3_request, samr_dissect_Connect3_response},
15276 { 62, "Connect4",
15277 samr_dissect_Connect4_request, samr_dissect_Connect4_response},
15278 { 63, "ChangePasswordUser3",
15279 samr_dissect_ChangePasswordUser3_request, samr_dissect_ChangePasswordUser3_response},
15280 { 64, "Connect5",
15281 samr_dissect_Connect5_request, samr_dissect_Connect5_response},
15282 { 65, "RidToSid",
15283 samr_dissect_RidToSid_request, samr_dissect_RidToSid_response},
15284 { 66, "SetDsrmPassword",
15285 samr_dissect_SetDsrmPassword_request, samr_dissect_SetDsrmPassword_response},
15286 { 67, "ValidatePassword",
15287 samr_dissect_ValidatePassword_request, samr_dissect_ValidatePassword_response},
15288 { 68, "Opnum68NotUsedOnWire",
15289 samr_dissect_Opnum68NotUsedOnWire_request, samr_dissect_Opnum68NotUsedOnWire_response},
15290 { 69, "Opnum69NotUsedOnWire",
15291 samr_dissect_Opnum69NotUsedOnWire_request, samr_dissect_Opnum69NotUsedOnWire_response},
15292 { 70, "Opnum70NotUsedOnWire",
15293 samr_dissect_Opnum70NotUsedOnWire_request, samr_dissect_Opnum70NotUsedOnWire_response},
15294 { 71, "Opnum71NotUsedOnWire",
15295 samr_dissect_Opnum71NotUsedOnWire_request, samr_dissect_Opnum71NotUsedOnWire_response},
15296 { 72, "Opnum72NotUsedOnWire",
15297 samr_dissect_Opnum72NotUsedOnWire_request, samr_dissect_Opnum72NotUsedOnWire_response},
15298 { 73, "ChangePasswordUser4",
15299 samr_dissect_ChangePasswordUser4_request, samr_dissect_ChangePasswordUser4_response},
15300 { 0, NULL, NULL, NULL }
15303 void proto_register_dcerpc_samr(void)
15305 static hf_register_info hf[] = {
15306 { &hf_samr_alias_access_mask,
15307 { "Access Mask", "samr.alias.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15308 { &hf_samr_alias_handle,
15309 { "Alias Handle", "samr.alias_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
15310 { &hf_samr_connect_access_mask,
15311 { "Access Mask", "samr.connect.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15312 { &hf_samr_connect_handle,
15313 { "Connect Handle", "samr.connect_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
15314 { &hf_samr_domain_access_mask,
15315 { "Access Mask", "samr.domain.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15316 { &hf_samr_domain_handle,
15317 { "Domain Handle", "samr.domain_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
15318 { &hf_samr_group_access_mask,
15319 { "Access Mask", "samr.group.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15320 { &hf_samr_group_handle,
15321 { "Group Handle", "samr.group_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
15322 { &hf_samr_handle,
15323 { "Handle", "samr.handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
15324 { &hf_samr_lsa_Strings_count,
15325 { "Count", "samr.lsa_Strings.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15326 { &hf_samr_lsa_Strings_names,
15327 { "Names", "samr.lsa_Strings.names", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15328 { &hf_samr_opnum,
15329 { "Operation", "samr.opnum", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15330 { &hf_samr_rid,
15331 { "RID", "samr.rid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15332 { &hf_samr_samr_AcctFlags_ACB_AUTOLOCK,
15333 { "ACB AUTOLOCK", "samr.samr_AcctFlags.ACB_AUTOLOCK", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_AUTOLOCK_tfs), ( 0x00000400 ), NULL, HFILL }},
15334 { &hf_samr_samr_AcctFlags_ACB_DISABLED,
15335 { "ACB DISABLED", "samr.samr_AcctFlags.ACB_DISABLED", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_DISABLED_tfs), ( 0x00000001 ), NULL, HFILL }},
15336 { &hf_samr_samr_AcctFlags_ACB_DOMTRUST,
15337 { "ACB DOMTRUST", "samr.samr_AcctFlags.ACB_DOMTRUST", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_DOMTRUST_tfs), ( 0x00000040 ), NULL, HFILL }},
15338 { &hf_samr_samr_AcctFlags_ACB_DONT_REQUIRE_PREAUTH,
15339 { "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 }},
15340 { &hf_samr_samr_AcctFlags_ACB_ENC_TXT_PWD_ALLOWED,
15341 { "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 }},
15342 { &hf_samr_samr_AcctFlags_ACB_HOMDIRREQ,
15343 { "ACB HOMDIRREQ", "samr.samr_AcctFlags.ACB_HOMDIRREQ", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_HOMDIRREQ_tfs), ( 0x00000002 ), NULL, HFILL }},
15344 { &hf_samr_samr_AcctFlags_ACB_MNS,
15345 { "ACB MNS", "samr.samr_AcctFlags.ACB_MNS", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_MNS_tfs), ( 0x00000020 ), NULL, HFILL }},
15346 { &hf_samr_samr_AcctFlags_ACB_NORMAL,
15347 { "ACB NORMAL", "samr.samr_AcctFlags.ACB_NORMAL", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_NORMAL_tfs), ( 0x00000010 ), NULL, HFILL }},
15348 { &hf_samr_samr_AcctFlags_ACB_NOT_DELEGATED,
15349 { "ACB NOT DELEGATED", "samr.samr_AcctFlags.ACB_NOT_DELEGATED", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_NOT_DELEGATED_tfs), ( 0x00004000 ), NULL, HFILL }},
15350 { &hf_samr_samr_AcctFlags_ACB_NO_AUTH_DATA_REQD,
15351 { "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 }},
15352 { &hf_samr_samr_AcctFlags_ACB_PARTIAL_SECRETS_ACCOUNT,
15353 { "ACB PARTIAL SECRETS ACCOUNT", "samr.samr_AcctFlags.ACB_PARTIAL_SECRETS_ACCOUNT", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_PARTIAL_SECRETS_ACCOUNT_tfs), ( 0x00100000 ), NULL, HFILL }},
15354 { &hf_samr_samr_AcctFlags_ACB_PWNOEXP,
15355 { "ACB PWNOEXP", "samr.samr_AcctFlags.ACB_PWNOEXP", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_PWNOEXP_tfs), ( 0x00000200 ), NULL, HFILL }},
15356 { &hf_samr_samr_AcctFlags_ACB_PWNOTREQ,
15357 { "ACB PWNOTREQ", "samr.samr_AcctFlags.ACB_PWNOTREQ", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_PWNOTREQ_tfs), ( 0x00000004 ), NULL, HFILL }},
15358 { &hf_samr_samr_AcctFlags_ACB_PW_EXPIRED,
15359 { "ACB PW EXPIRED", "samr.samr_AcctFlags.ACB_PW_EXPIRED", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_PW_EXPIRED_tfs), ( 0x00020000 ), NULL, HFILL }},
15360 { &hf_samr_samr_AcctFlags_ACB_SMARTCARD_REQUIRED,
15361 { "ACB SMARTCARD REQUIRED", "samr.samr_AcctFlags.ACB_SMARTCARD_REQUIRED", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_SMARTCARD_REQUIRED_tfs), ( 0x00001000 ), NULL, HFILL }},
15362 { &hf_samr_samr_AcctFlags_ACB_SVRTRUST,
15363 { "ACB SVRTRUST", "samr.samr_AcctFlags.ACB_SVRTRUST", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_SVRTRUST_tfs), ( 0x00000100 ), NULL, HFILL }},
15364 { &hf_samr_samr_AcctFlags_ACB_TEMPDUP,
15365 { "ACB TEMPDUP", "samr.samr_AcctFlags.ACB_TEMPDUP", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_TEMPDUP_tfs), ( 0x00000008 ), NULL, HFILL }},
15366 { &hf_samr_samr_AcctFlags_ACB_TRUSTED_FOR_DELEGATION,
15367 { "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 }},
15368 { &hf_samr_samr_AcctFlags_ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION,
15369 { "ACB TRUSTED TO AUTHENTICATE FOR DELEGATION", "samr.samr_AcctFlags.ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION_tfs), ( 0x00040000 ), NULL, HFILL }},
15370 { &hf_samr_samr_AcctFlags_ACB_USE_AES_KEYS,
15371 { "ACB USE AES KEYS", "samr.samr_AcctFlags.ACB_USE_AES_KEYS", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_USE_AES_KEYS_tfs), ( 0x00200000 ), NULL, HFILL }},
15372 { &hf_samr_samr_AcctFlags_ACB_USE_DES_KEY_ONLY,
15373 { "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 }},
15374 { &hf_samr_samr_AcctFlags_ACB_WSTRUST,
15375 { "ACB WSTRUST", "samr.samr_AcctFlags.ACB_WSTRUST", FT_BOOLEAN, 32, TFS(&samr_AcctFlags_ACB_WSTRUST_tfs), ( 0x00000080 ), NULL, HFILL }},
15376 { &hf_samr_samr_AddAliasMember_sid,
15377 { "Sid", "samr.samr_AddAliasMember.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15378 { &hf_samr_samr_AddGroupMember_flags,
15379 { "Flags", "samr.samr_AddGroupMember.flags", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15380 { &hf_samr_samr_AddMultipleMembersToAlias_sids,
15381 { "Sids", "samr.samr_AddMultipleMembersToAlias.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15382 { &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_ADD_MEMBER,
15383 { "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 }},
15384 { &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_GET_MEMBERS,
15385 { "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 }},
15386 { &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_LOOKUP_INFO,
15387 { "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 }},
15388 { &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_REMOVE_MEMBER,
15389 { "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 }},
15390 { &hf_samr_samr_AliasAccessMask_SAMR_ALIAS_ACCESS_SET_INFO,
15391 { "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 }},
15392 { &hf_samr_samr_AliasInfoAll_description,
15393 { "Description", "samr.samr_AliasInfoAll.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15394 { &hf_samr_samr_AliasInfoAll_name,
15395 { "Name", "samr.samr_AliasInfoAll.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15396 { &hf_samr_samr_AliasInfoAll_num_members,
15397 { "Num Members", "samr.samr_AliasInfoAll.num_members", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15398 { &hf_samr_samr_AliasInfo_all,
15399 { "All", "samr.samr_AliasInfo.all", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15400 { &hf_samr_samr_AliasInfo_description,
15401 { "Description", "samr.samr_AliasInfo.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15402 { &hf_samr_samr_AliasInfo_name,
15403 { "Name", "samr.samr_AliasInfo.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15404 { &hf_samr_samr_ChangePasswordUser2_account,
15405 { "Account", "samr.samr_ChangePasswordUser2.account", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15406 { &hf_samr_samr_ChangePasswordUser2_lm_change,
15407 { "Lm Change", "samr.samr_ChangePasswordUser2.lm_change", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15408 { &hf_samr_samr_ChangePasswordUser2_lm_password,
15409 { "Lm Password", "samr.samr_ChangePasswordUser2.lm_password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15410 { &hf_samr_samr_ChangePasswordUser2_lm_verifier,
15411 { "Lm Verifier", "samr.samr_ChangePasswordUser2.lm_verifier", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15412 { &hf_samr_samr_ChangePasswordUser2_nt_password,
15413 { "Nt Password", "samr.samr_ChangePasswordUser2.nt_password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15414 { &hf_samr_samr_ChangePasswordUser2_nt_verifier,
15415 { "Nt Verifier", "samr.samr_ChangePasswordUser2.nt_verifier", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15416 { &hf_samr_samr_ChangePasswordUser2_server,
15417 { "Server", "samr.samr_ChangePasswordUser2.server", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15418 { &hf_samr_samr_ChangePasswordUser3_account,
15419 { "Account", "samr.samr_ChangePasswordUser3.account", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15420 { &hf_samr_samr_ChangePasswordUser3_dominfo,
15421 { "Dominfo", "samr.samr_ChangePasswordUser3.dominfo", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15422 { &hf_samr_samr_ChangePasswordUser3_lm_change,
15423 { "Lm Change", "samr.samr_ChangePasswordUser3.lm_change", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15424 { &hf_samr_samr_ChangePasswordUser3_lm_password,
15425 { "Lm Password", "samr.samr_ChangePasswordUser3.lm_password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15426 { &hf_samr_samr_ChangePasswordUser3_lm_verifier,
15427 { "Lm Verifier", "samr.samr_ChangePasswordUser3.lm_verifier", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15428 { &hf_samr_samr_ChangePasswordUser3_nt_password,
15429 { "Nt Password", "samr.samr_ChangePasswordUser3.nt_password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15430 { &hf_samr_samr_ChangePasswordUser3_nt_verifier,
15431 { "Nt Verifier", "samr.samr_ChangePasswordUser3.nt_verifier", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15432 { &hf_samr_samr_ChangePasswordUser3_password3,
15433 { "Password3", "samr.samr_ChangePasswordUser3.password3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15434 { &hf_samr_samr_ChangePasswordUser3_reject,
15435 { "Reject", "samr.samr_ChangePasswordUser3.reject", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15436 { &hf_samr_samr_ChangePasswordUser3_server,
15437 { "Server", "samr.samr_ChangePasswordUser3.server", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15438 { &hf_samr_samr_ChangePasswordUser4_account,
15439 { "Account", "samr.samr_ChangePasswordUser4.account", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15440 { &hf_samr_samr_ChangePasswordUser4_password,
15441 { "Password", "samr.samr_ChangePasswordUser4.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15442 { &hf_samr_samr_ChangePasswordUser4_server,
15443 { "Server", "samr.samr_ChangePasswordUser4.server", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15444 { &hf_samr_samr_ChangePasswordUser_cross1_present,
15445 { "Cross1 Present", "samr.samr_ChangePasswordUser.cross1_present", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15446 { &hf_samr_samr_ChangePasswordUser_cross2_present,
15447 { "Cross2 Present", "samr.samr_ChangePasswordUser.cross2_present", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15448 { &hf_samr_samr_ChangePasswordUser_lm_cross,
15449 { "Lm Cross", "samr.samr_ChangePasswordUser.lm_cross", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15450 { &hf_samr_samr_ChangePasswordUser_lm_present,
15451 { "Lm Present", "samr.samr_ChangePasswordUser.lm_present", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15452 { &hf_samr_samr_ChangePasswordUser_new_lm_crypted,
15453 { "New Lm Crypted", "samr.samr_ChangePasswordUser.new_lm_crypted", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15454 { &hf_samr_samr_ChangePasswordUser_new_nt_crypted,
15455 { "New Nt Crypted", "samr.samr_ChangePasswordUser.new_nt_crypted", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15456 { &hf_samr_samr_ChangePasswordUser_nt_cross,
15457 { "Nt Cross", "samr.samr_ChangePasswordUser.nt_cross", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15458 { &hf_samr_samr_ChangePasswordUser_nt_present,
15459 { "Nt Present", "samr.samr_ChangePasswordUser.nt_present", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15460 { &hf_samr_samr_ChangePasswordUser_old_lm_crypted,
15461 { "Old Lm Crypted", "samr.samr_ChangePasswordUser.old_lm_crypted", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15462 { &hf_samr_samr_ChangePasswordUser_old_nt_crypted,
15463 { "Old Nt Crypted", "samr.samr_ChangePasswordUser.old_nt_crypted", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15464 { &hf_samr_samr_Connect2_system_name,
15465 { "System Name", "samr.samr_Connect2.system_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15466 { &hf_samr_samr_Connect3_system_name,
15467 { "System Name", "samr.samr_Connect3.system_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15468 { &hf_samr_samr_Connect3_unknown,
15469 { "Unknown", "samr.samr_Connect3.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15470 { &hf_samr_samr_Connect4_client_version,
15471 { "Client Version", "samr.samr_Connect4.client_version", FT_UINT32, BASE_DEC, VALS(samr_samr_ConnectVersion_vals), 0, NULL, HFILL }},
15472 { &hf_samr_samr_Connect4_system_name,
15473 { "System Name", "samr.samr_Connect4.system_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15474 { &hf_samr_samr_Connect5_info_in,
15475 { "Info In", "samr.samr_Connect5.info_in", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15476 { &hf_samr_samr_Connect5_info_out,
15477 { "Info Out", "samr.samr_Connect5.info_out", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15478 { &hf_samr_samr_Connect5_level_in,
15479 { "Level In", "samr.samr_Connect5.level_in", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15480 { &hf_samr_samr_Connect5_level_out,
15481 { "Level Out", "samr.samr_Connect5.level_out", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15482 { &hf_samr_samr_Connect5_system_name,
15483 { "System Name", "samr.samr_Connect5.system_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15484 { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CONNECT_TO_SERVER,
15485 { "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 }},
15486 { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_CREATE_DOMAIN,
15487 { "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 }},
15488 { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_ENUM_DOMAINS,
15489 { "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 }},
15490 { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_INITIALIZE_SERVER,
15491 { "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 }},
15492 { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_LOOKUP_DOMAIN,
15493 { "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 }},
15494 { &hf_samr_samr_ConnectAccessMask_SAMR_ACCESS_SHUTDOWN_SERVER,
15495 { "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 }},
15496 { &hf_samr_samr_ConnectInfo1_client_version,
15497 { "Client Version", "samr.samr_ConnectInfo1.client_version", FT_UINT32, BASE_DEC, VALS(samr_samr_ConnectVersion_vals), 0, NULL, HFILL }},
15498 { &hf_samr_samr_ConnectInfo1_supported_features,
15499 { "Supported Features", "samr.samr_ConnectInfo1.supported_features", FT_UINT32, BASE_DEC, VALS(samr_samr_SupportedFeatures_vals), 0, NULL, HFILL }},
15500 { &hf_samr_samr_ConnectInfo_info1,
15501 { "Info1", "samr.samr_ConnectInfo.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15502 { &hf_samr_samr_Connect_system_name,
15503 { "System Name", "samr.samr_Connect.system_name", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15504 { &hf_samr_samr_CreateDomAlias_alias_name,
15505 { "Alias Name", "samr.samr_CreateDomAlias.alias_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15506 { &hf_samr_samr_CreateDomainGroup_name,
15507 { "Name", "samr.samr_CreateDomainGroup.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15508 { &hf_samr_samr_CreateUser2_access_granted,
15509 { "Access Granted", "samr.samr_CreateUser2.access_granted", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15510 { &hf_samr_samr_CreateUser2_account_name,
15511 { "Account Name", "samr.samr_CreateUser2.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15512 { &hf_samr_samr_CreateUser2_acct_flags,
15513 { "Acct Flags", "samr.samr_CreateUser2.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15514 { &hf_samr_samr_CreateUser_account_name,
15515 { "Account Name", "samr.samr_CreateUser.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15516 { &hf_samr_samr_CryptPasswordEx_data,
15517 { "Data", "samr.samr_CryptPasswordEx.data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15518 { &hf_samr_samr_CryptPassword_data,
15519 { "Data", "samr.samr_CryptPassword.data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15520 { &hf_samr_samr_DeleteAliasMember_sid,
15521 { "Sid", "samr.samr_DeleteAliasMember.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15522 { &hf_samr_samr_DispEntryAscii_account_name,
15523 { "Account Name", "samr.samr_DispEntryAscii.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15524 { &hf_samr_samr_DispEntryAscii_idx,
15525 { "Idx", "samr.samr_DispEntryAscii.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15526 { &hf_samr_samr_DispEntryFullGroup_account_name,
15527 { "Account Name", "samr.samr_DispEntryFullGroup.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15528 { &hf_samr_samr_DispEntryFullGroup_acct_flags,
15529 { "Acct Flags", "samr.samr_DispEntryFullGroup.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15530 { &hf_samr_samr_DispEntryFullGroup_description,
15531 { "Description", "samr.samr_DispEntryFullGroup.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15532 { &hf_samr_samr_DispEntryFullGroup_idx,
15533 { "Idx", "samr.samr_DispEntryFullGroup.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15534 { &hf_samr_samr_DispEntryFull_account_name,
15535 { "Account Name", "samr.samr_DispEntryFull.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15536 { &hf_samr_samr_DispEntryFull_acct_flags,
15537 { "Acct Flags", "samr.samr_DispEntryFull.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15538 { &hf_samr_samr_DispEntryFull_description,
15539 { "Description", "samr.samr_DispEntryFull.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15540 { &hf_samr_samr_DispEntryFull_idx,
15541 { "Idx", "samr.samr_DispEntryFull.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15542 { &hf_samr_samr_DispEntryGeneral_account_name,
15543 { "Account Name", "samr.samr_DispEntryGeneral.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15544 { &hf_samr_samr_DispEntryGeneral_acct_flags,
15545 { "Acct Flags", "samr.samr_DispEntryGeneral.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15546 { &hf_samr_samr_DispEntryGeneral_description,
15547 { "Description", "samr.samr_DispEntryGeneral.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15548 { &hf_samr_samr_DispEntryGeneral_full_name,
15549 { "Full Name", "samr.samr_DispEntryGeneral.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15550 { &hf_samr_samr_DispEntryGeneral_idx,
15551 { "Idx", "samr.samr_DispEntryGeneral.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15552 { &hf_samr_samr_DispInfoAscii_count,
15553 { "Count", "samr.samr_DispInfoAscii.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15554 { &hf_samr_samr_DispInfoAscii_entries,
15555 { "Entries", "samr.samr_DispInfoAscii.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15556 { &hf_samr_samr_DispInfoFullGroups_count,
15557 { "Count", "samr.samr_DispInfoFullGroups.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15558 { &hf_samr_samr_DispInfoFullGroups_entries,
15559 { "Entries", "samr.samr_DispInfoFullGroups.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15560 { &hf_samr_samr_DispInfoFull_count,
15561 { "Count", "samr.samr_DispInfoFull.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15562 { &hf_samr_samr_DispInfoFull_entries,
15563 { "Entries", "samr.samr_DispInfoFull.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15564 { &hf_samr_samr_DispInfoGeneral_count,
15565 { "Count", "samr.samr_DispInfoGeneral.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15566 { &hf_samr_samr_DispInfoGeneral_entries,
15567 { "Entries", "samr.samr_DispInfoGeneral.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15568 { &hf_samr_samr_DispInfo_info1,
15569 { "Info1", "samr.samr_DispInfo.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15570 { &hf_samr_samr_DispInfo_info2,
15571 { "Info2", "samr.samr_DispInfo.info2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15572 { &hf_samr_samr_DispInfo_info3,
15573 { "Info3", "samr.samr_DispInfo.info3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15574 { &hf_samr_samr_DispInfo_info4,
15575 { "Info4", "samr.samr_DispInfo.info4", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15576 { &hf_samr_samr_DispInfo_info5,
15577 { "Info5", "samr.samr_DispInfo.info5", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15578 { &hf_samr_samr_DomGeneralInformation2_general,
15579 { "General", "samr.samr_DomGeneralInformation2.general", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15580 { &hf_samr_samr_DomGeneralInformation2_lockout_duration,
15581 { "Lockout Duration", "samr.samr_DomGeneralInformation2.lockout_duration", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15582 { &hf_samr_samr_DomGeneralInformation2_lockout_threshold,
15583 { "Lockout Threshold", "samr.samr_DomGeneralInformation2.lockout_threshold", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15584 { &hf_samr_samr_DomGeneralInformation2_lockout_window,
15585 { "Lockout Window", "samr.samr_DomGeneralInformation2.lockout_window", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15586 { &hf_samr_samr_DomGeneralInformation_domain_name,
15587 { "Domain Name", "samr.samr_DomGeneralInformation.domain_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15588 { &hf_samr_samr_DomGeneralInformation_domain_server_state,
15589 { "Domain Server State", "samr.samr_DomGeneralInformation.domain_server_state", FT_UINT32, BASE_DEC, VALS(samr_samr_DomainServerState_vals), 0, NULL, HFILL }},
15590 { &hf_samr_samr_DomGeneralInformation_force_logoff_time,
15591 { "Force Logoff Time", "samr.samr_DomGeneralInformation.force_logoff_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15592 { &hf_samr_samr_DomGeneralInformation_num_aliases,
15593 { "Num Aliases", "samr.samr_DomGeneralInformation.num_aliases", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15594 { &hf_samr_samr_DomGeneralInformation_num_groups,
15595 { "Num Groups", "samr.samr_DomGeneralInformation.num_groups", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15596 { &hf_samr_samr_DomGeneralInformation_num_users,
15597 { "Num Users", "samr.samr_DomGeneralInformation.num_users", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15598 { &hf_samr_samr_DomGeneralInformation_oem_information,
15599 { "Oem Information", "samr.samr_DomGeneralInformation.oem_information", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15600 { &hf_samr_samr_DomGeneralInformation_primary,
15601 { "Primary", "samr.samr_DomGeneralInformation.primary", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15602 { &hf_samr_samr_DomGeneralInformation_role,
15603 { "Role", "samr.samr_DomGeneralInformation.role", FT_UINT32, BASE_DEC, VALS(samr_samr_Role_vals), 0, NULL, HFILL }},
15604 { &hf_samr_samr_DomGeneralInformation_sequence_num,
15605 { "Sequence Num", "samr.samr_DomGeneralInformation.sequence_num", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15606 { &hf_samr_samr_DomGeneralInformation_unknown3,
15607 { "Unknown3", "samr.samr_DomGeneralInformation.unknown3", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15608 { &hf_samr_samr_DomInfo12_lockout_duration,
15609 { "Lockout Duration", "samr.samr_DomInfo12.lockout_duration", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15610 { &hf_samr_samr_DomInfo12_lockout_threshold,
15611 { "Lockout Threshold", "samr.samr_DomInfo12.lockout_threshold", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15612 { &hf_samr_samr_DomInfo12_lockout_window,
15613 { "Lockout Window", "samr.samr_DomInfo12.lockout_window", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15614 { &hf_samr_samr_DomInfo13_domain_create_time,
15615 { "Domain Create Time", "samr.samr_DomInfo13.domain_create_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15616 { &hf_samr_samr_DomInfo13_modified_count_at_last_promotion,
15617 { "Modified Count At Last Promotion", "samr.samr_DomInfo13.modified_count_at_last_promotion", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15618 { &hf_samr_samr_DomInfo13_sequence_num,
15619 { "Sequence Num", "samr.samr_DomInfo13.sequence_num", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15620 { &hf_samr_samr_DomInfo1_max_password_age,
15621 { "Max Password Age", "samr.samr_DomInfo1.max_password_age", FT_INT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15622 { &hf_samr_samr_DomInfo1_min_password_age,
15623 { "Min Password Age", "samr.samr_DomInfo1.min_password_age", FT_INT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15624 { &hf_samr_samr_DomInfo1_min_password_length,
15625 { "Min Password Length", "samr.samr_DomInfo1.min_password_length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15626 { &hf_samr_samr_DomInfo1_password_history_length,
15627 { "Password History Length", "samr.samr_DomInfo1.password_history_length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15628 { &hf_samr_samr_DomInfo1_password_properties,
15629 { "Password Properties", "samr.samr_DomInfo1.password_properties", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15630 { &hf_samr_samr_DomInfo3_force_logoff_time,
15631 { "Force Logoff Time", "samr.samr_DomInfo3.force_logoff_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15632 { &hf_samr_samr_DomInfo5_domain_name,
15633 { "Domain Name", "samr.samr_DomInfo5.domain_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15634 { &hf_samr_samr_DomInfo6_primary,
15635 { "Primary", "samr.samr_DomInfo6.primary", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15636 { &hf_samr_samr_DomInfo7_role,
15637 { "Role", "samr.samr_DomInfo7.role", FT_UINT32, BASE_DEC, VALS(samr_samr_Role_vals), 0, NULL, HFILL }},
15638 { &hf_samr_samr_DomInfo8_domain_create_time,
15639 { "Domain Create Time", "samr.samr_DomInfo8.domain_create_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
15640 { &hf_samr_samr_DomInfo8_sequence_num,
15641 { "Sequence Num", "samr.samr_DomInfo8.sequence_num", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15642 { &hf_samr_samr_DomInfo9_domain_server_state,
15643 { "Domain Server State", "samr.samr_DomInfo9.domain_server_state", FT_UINT32, BASE_DEC, VALS(samr_samr_DomainServerState_vals), 0, NULL, HFILL }},
15644 { &hf_samr_samr_DomOEMInformation_oem_information,
15645 { "Oem Information", "samr.samr_DomOEMInformation.oem_information", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15646 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_ALIAS,
15647 { "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 }},
15648 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_GROUP,
15649 { "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 }},
15650 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_CREATE_USER,
15651 { "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 }},
15652 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS,
15653 { "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 }},
15654 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS,
15655 { "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 }},
15656 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1,
15657 { "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 }},
15658 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2,
15659 { "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 }},
15660 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT,
15661 { "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 }},
15662 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_1,
15663 { "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 }},
15664 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_2,
15665 { "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 }},
15666 { &hf_samr_samr_DomainAccessMask_SAMR_DOMAIN_ACCESS_SET_INFO_3,
15667 { "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 }},
15668 { &hf_samr_samr_DomainInfo_general,
15669 { "General", "samr.samr_DomainInfo.general", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15670 { &hf_samr_samr_DomainInfo_general2,
15671 { "General2", "samr.samr_DomainInfo.general2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15672 { &hf_samr_samr_DomainInfo_info1,
15673 { "Info1", "samr.samr_DomainInfo.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15674 { &hf_samr_samr_DomainInfo_info12,
15675 { "Info12", "samr.samr_DomainInfo.info12", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15676 { &hf_samr_samr_DomainInfo_info13,
15677 { "Info13", "samr.samr_DomainInfo.info13", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15678 { &hf_samr_samr_DomainInfo_info3,
15679 { "Info3", "samr.samr_DomainInfo.info3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15680 { &hf_samr_samr_DomainInfo_info5,
15681 { "Info5", "samr.samr_DomainInfo.info5", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15682 { &hf_samr_samr_DomainInfo_info6,
15683 { "Info6", "samr.samr_DomainInfo.info6", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15684 { &hf_samr_samr_DomainInfo_info7,
15685 { "Info7", "samr.samr_DomainInfo.info7", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15686 { &hf_samr_samr_DomainInfo_info8,
15687 { "Info8", "samr.samr_DomainInfo.info8", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15688 { &hf_samr_samr_DomainInfo_info9,
15689 { "Info9", "samr.samr_DomainInfo.info9", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15690 { &hf_samr_samr_DomainInfo_oem,
15691 { "Oem", "samr.samr_DomainInfo.oem", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15692 { &hf_samr_samr_EncryptedPasswordAES_PBKDF2Iterations,
15693 { "PBKDF2Iterations", "samr.samr_EncryptedPasswordAES.PBKDF2Iterations", FT_UINT64, BASE_DEC, NULL, 0, NULL, HFILL }},
15694 { &hf_samr_samr_EncryptedPasswordAES_auth_data,
15695 { "Auth Data", "samr.samr_EncryptedPasswordAES.auth_data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15696 { &hf_samr_samr_EncryptedPasswordAES_cipher,
15697 { "Cipher", "samr.samr_EncryptedPasswordAES.cipher", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15698 { &hf_samr_samr_EncryptedPasswordAES_cipher_len,
15699 { "Cipher Len", "samr.samr_EncryptedPasswordAES.cipher_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15700 { &hf_samr_samr_EncryptedPasswordAES_salt,
15701 { "Salt", "samr.samr_EncryptedPasswordAES.salt", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15702 { &hf_samr_samr_EnumDomainAliases_max_size,
15703 { "Max Size", "samr.samr_EnumDomainAliases.max_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15704 { &hf_samr_samr_EnumDomainAliases_num_entries,
15705 { "Num Entries", "samr.samr_EnumDomainAliases.num_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15706 { &hf_samr_samr_EnumDomainAliases_resume_handle,
15707 { "Resume Handle", "samr.samr_EnumDomainAliases.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15708 { &hf_samr_samr_EnumDomainAliases_sam,
15709 { "Sam", "samr.samr_EnumDomainAliases.sam", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15710 { &hf_samr_samr_EnumDomainGroups_max_size,
15711 { "Max Size", "samr.samr_EnumDomainGroups.max_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15712 { &hf_samr_samr_EnumDomainGroups_num_entries,
15713 { "Num Entries", "samr.samr_EnumDomainGroups.num_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15714 { &hf_samr_samr_EnumDomainGroups_resume_handle,
15715 { "Resume Handle", "samr.samr_EnumDomainGroups.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15716 { &hf_samr_samr_EnumDomainGroups_sam,
15717 { "Sam", "samr.samr_EnumDomainGroups.sam", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15718 { &hf_samr_samr_EnumDomainUsers_acct_flags,
15719 { "Acct Flags", "samr.samr_EnumDomainUsers.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15720 { &hf_samr_samr_EnumDomainUsers_max_size,
15721 { "Max Size", "samr.samr_EnumDomainUsers.max_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15722 { &hf_samr_samr_EnumDomainUsers_num_entries,
15723 { "Num Entries", "samr.samr_EnumDomainUsers.num_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15724 { &hf_samr_samr_EnumDomainUsers_resume_handle,
15725 { "Resume Handle", "samr.samr_EnumDomainUsers.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15726 { &hf_samr_samr_EnumDomainUsers_sam,
15727 { "Sam", "samr.samr_EnumDomainUsers.sam", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15728 { &hf_samr_samr_EnumDomains_buf_size,
15729 { "Buf Size", "samr.samr_EnumDomains.buf_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15730 { &hf_samr_samr_EnumDomains_connect_handle,
15731 { "Connect Handle", "samr.samr_EnumDomains.connect_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
15732 { &hf_samr_samr_EnumDomains_num_entries,
15733 { "Num Entries", "samr.samr_EnumDomains.num_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15734 { &hf_samr_samr_EnumDomains_resume_handle,
15735 { "Resume Handle", "samr.samr_EnumDomains.resume_handle", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15736 { &hf_samr_samr_EnumDomains_sam,
15737 { "Sam", "samr.samr_EnumDomains.sam", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15738 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCOUNT_NAME,
15739 { "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 }},
15740 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_EXPIRY,
15741 { "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 }},
15742 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_ACCT_FLAGS,
15743 { "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 }},
15744 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_ALLOW_PWD_CHANGE,
15745 { "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 }},
15746 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_BAD_PWD_COUNT,
15747 { "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 }},
15748 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_CODE_PAGE,
15749 { "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 }},
15750 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_COMMENT,
15751 { "SAMR FIELD COMMENT", "samr.samr_FieldsPresent.SAMR_FIELD_COMMENT", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_COMMENT_tfs), ( 0x00000020 ), NULL, HFILL }},
15752 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_COUNTRY_CODE,
15753 { "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 }},
15754 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_DESCRIPTION,
15755 { "SAMR FIELD DESCRIPTION", "samr.samr_FieldsPresent.SAMR_FIELD_DESCRIPTION", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_DESCRIPTION_tfs), ( 0x00000010 ), NULL, HFILL }},
15756 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_EXPIRED_FLAG,
15757 { "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 }},
15758 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_FORCE_PWD_CHANGE,
15759 { "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 }},
15760 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_FULL_NAME,
15761 { "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 }},
15762 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DIRECTORY,
15763 { "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 }},
15764 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_HOME_DRIVE,
15765 { "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 }},
15766 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGOFF,
15767 { "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 }},
15768 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_LOGON,
15769 { "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 }},
15770 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LAST_PWD_CHANGE,
15771 { "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 }},
15772 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LM_PASSWORD_PRESENT,
15773 { "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 }},
15774 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_HOURS,
15775 { "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 }},
15776 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_LOGON_SCRIPT,
15777 { "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 }},
15778 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_NT_PASSWORD_PRESENT,
15779 { "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 }},
15780 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_NUM_LOGONS,
15781 { "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 }},
15782 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_OWF_PWD,
15783 { "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 }},
15784 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_PARAMETERS,
15785 { "SAMR FIELD PARAMETERS", "samr.samr_FieldsPresent.SAMR_FIELD_PARAMETERS", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_PARAMETERS_tfs), ( 0x00200000 ), NULL, HFILL }},
15786 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIMARY_GID,
15787 { "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 }},
15788 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_PRIVATE_DATA,
15789 { "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 }},
15790 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_PROFILE_PATH,
15791 { "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 }},
15792 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_RID,
15793 { "SAMR FIELD RID", "samr.samr_FieldsPresent.SAMR_FIELD_RID", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_RID_tfs), ( 0x00000004 ), NULL, HFILL }},
15794 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_SEC_DESC,
15795 { "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 }},
15796 { &hf_samr_samr_FieldsPresent_SAMR_FIELD_WORKSTATIONS,
15797 { "SAMR FIELD WORKSTATIONS", "samr.samr_FieldsPresent.SAMR_FIELD_WORKSTATIONS", FT_BOOLEAN, 32, TFS(&samr_FieldsPresent_SAMR_FIELD_WORKSTATIONS_tfs), ( 0x00000400 ), NULL, HFILL }},
15798 { &hf_samr_samr_GetAliasMembership_rids,
15799 { "Rids", "samr.samr_GetAliasMembership.rids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15800 { &hf_samr_samr_GetAliasMembership_sids,
15801 { "Sids", "samr.samr_GetAliasMembership.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15802 { &hf_samr_samr_GetBootKeyInformation_domain_handle,
15803 { "Domain Handle", "samr.samr_GetBootKeyInformation.domain_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
15804 { &hf_samr_samr_GetBootKeyInformation_unknown,
15805 { "Unknown", "samr.samr_GetBootKeyInformation.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15806 { &hf_samr_samr_GetDisplayEnumerationIndex2_idx,
15807 { "Idx", "samr.samr_GetDisplayEnumerationIndex2.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15808 { &hf_samr_samr_GetDisplayEnumerationIndex2_level,
15809 { "Level", "samr.samr_GetDisplayEnumerationIndex2.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainDisplayInformation_vals), 0, NULL, HFILL }},
15810 { &hf_samr_samr_GetDisplayEnumerationIndex2_name,
15811 { "Name", "samr.samr_GetDisplayEnumerationIndex2.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15812 { &hf_samr_samr_GetDisplayEnumerationIndex_idx,
15813 { "Idx", "samr.samr_GetDisplayEnumerationIndex.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15814 { &hf_samr_samr_GetDisplayEnumerationIndex_level,
15815 { "Level", "samr.samr_GetDisplayEnumerationIndex.level", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15816 { &hf_samr_samr_GetDisplayEnumerationIndex_name,
15817 { "Name", "samr.samr_GetDisplayEnumerationIndex.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15818 { &hf_samr_samr_GetDomPwInfo_domain_name,
15819 { "Domain Name", "samr.samr_GetDomPwInfo.domain_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15820 { &hf_samr_samr_GetDomPwInfo_info,
15821 { "Info", "samr.samr_GetDomPwInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15822 { &hf_samr_samr_GetGroupsForUser_rids,
15823 { "Rids", "samr.samr_GetGroupsForUser.rids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15824 { &hf_samr_samr_GetMembersInAlias_sids,
15825 { "Sids", "samr.samr_GetMembersInAlias.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15826 { &hf_samr_samr_GetUserPwInfo_info,
15827 { "Info", "samr.samr_GetUserPwInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15828 { &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_ADD_MEMBER,
15829 { "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 }},
15830 { &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_GET_MEMBERS,
15831 { "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 }},
15832 { &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_LOOKUP_INFO,
15833 { "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 }},
15834 { &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_REMOVE_MEMBER,
15835 { "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 }},
15836 { &hf_samr_samr_GroupAccessMask_SAMR_GROUP_ACCESS_SET_INFO,
15837 { "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 }},
15838 { &hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED,
15839 { "SE GROUP ENABLED", "samr.samr_GroupAttrs.SE_GROUP_ENABLED", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_ENABLED_tfs), ( 0x00000004 ), NULL, HFILL }},
15840 { &hf_samr_samr_GroupAttrs_SE_GROUP_ENABLED_BY_DEFAULT,
15841 { "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 }},
15842 { &hf_samr_samr_GroupAttrs_SE_GROUP_LOGON_ID,
15843 { "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 }},
15844 { &hf_samr_samr_GroupAttrs_SE_GROUP_MANDATORY,
15845 { "SE GROUP MANDATORY", "samr.samr_GroupAttrs.SE_GROUP_MANDATORY", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_MANDATORY_tfs), ( 0x00000001 ), NULL, HFILL }},
15846 { &hf_samr_samr_GroupAttrs_SE_GROUP_OWNER,
15847 { "SE GROUP OWNER", "samr.samr_GroupAttrs.SE_GROUP_OWNER", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_OWNER_tfs), ( 0x00000008 ), NULL, HFILL }},
15848 { &hf_samr_samr_GroupAttrs_SE_GROUP_RESOURCE,
15849 { "SE GROUP RESOURCE", "samr.samr_GroupAttrs.SE_GROUP_RESOURCE", FT_BOOLEAN, 32, TFS(&samr_GroupAttrs_SE_GROUP_RESOURCE_tfs), ( 0x20000000 ), NULL, HFILL }},
15850 { &hf_samr_samr_GroupAttrs_SE_GROUP_USE_FOR_DENY_ONLY,
15851 { "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 }},
15852 { &hf_samr_samr_GroupInfoAll_attributes,
15853 { "Attributes", "samr.samr_GroupInfoAll.attributes", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15854 { &hf_samr_samr_GroupInfoAll_description,
15855 { "Description", "samr.samr_GroupInfoAll.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15856 { &hf_samr_samr_GroupInfoAll_name,
15857 { "Name", "samr.samr_GroupInfoAll.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15858 { &hf_samr_samr_GroupInfoAll_num_members,
15859 { "Num Members", "samr.samr_GroupInfoAll.num_members", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15860 { &hf_samr_samr_GroupInfoAttributes_attributes,
15861 { "Attributes", "samr.samr_GroupInfoAttributes.attributes", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15862 { &hf_samr_samr_GroupInfoDescription_description,
15863 { "Description", "samr.samr_GroupInfoDescription.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15864 { &hf_samr_samr_GroupInfo_all,
15865 { "All", "samr.samr_GroupInfo.all", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15866 { &hf_samr_samr_GroupInfo_all2,
15867 { "All2", "samr.samr_GroupInfo.all2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15868 { &hf_samr_samr_GroupInfo_attributes,
15869 { "Attributes", "samr.samr_GroupInfo.attributes", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15870 { &hf_samr_samr_GroupInfo_description,
15871 { "Description", "samr.samr_GroupInfo.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15872 { &hf_samr_samr_GroupInfo_name,
15873 { "Name", "samr.samr_GroupInfo.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15874 { &hf_samr_samr_Ids_count,
15875 { "Count", "samr.samr_Ids.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15876 { &hf_samr_samr_LogonHours_bits,
15877 { "Bits", "samr.samr_LogonHours.bits", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15878 { &hf_samr_samr_LogonHours_units_per_week,
15879 { "Units Per Week", "samr.samr_LogonHours.units_per_week", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15880 { &hf_samr_samr_LookupDomain_domain_name,
15881 { "Domain Name", "samr.samr_LookupDomain.domain_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15882 { &hf_samr_samr_LookupDomain_sid,
15883 { "Sid", "samr.samr_LookupDomain.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15884 { &hf_samr_samr_LookupNames_names,
15885 { "Names", "samr.samr_LookupNames.names", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15886 { &hf_samr_samr_LookupNames_num_names,
15887 { "Num Names", "samr.samr_LookupNames.num_names", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15888 { &hf_samr_samr_LookupNames_rids,
15889 { "Rids", "samr.samr_LookupNames.rids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15890 { &hf_samr_samr_LookupNames_types,
15891 { "Types", "samr.samr_LookupNames.types", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15892 { &hf_samr_samr_LookupRids_names,
15893 { "Names", "samr.samr_LookupRids.names", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15894 { &hf_samr_samr_LookupRids_num_rids,
15895 { "Num Rids", "samr.samr_LookupRids.num_rids", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15896 { &hf_samr_samr_LookupRids_types,
15897 { "Types", "samr.samr_LookupRids.types", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15898 { &hf_samr_samr_OemChangePasswordUser2_account,
15899 { "Account", "samr.samr_OemChangePasswordUser2.account", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15900 { &hf_samr_samr_OemChangePasswordUser2_hash,
15901 { "Hash", "samr.samr_OemChangePasswordUser2.hash", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15902 { &hf_samr_samr_OemChangePasswordUser2_password,
15903 { "Password", "samr.samr_OemChangePasswordUser2.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15904 { &hf_samr_samr_OemChangePasswordUser2_server,
15905 { "Server", "samr.samr_OemChangePasswordUser2.server", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
15906 { &hf_samr_samr_OpenDomain_sid,
15907 { "Sid", "samr.samr_OpenDomain.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15908 { &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_COMPLEX,
15909 { "DOMAIN PASSWORD COMPLEX", "samr.samr_PasswordProperties.DOMAIN_PASSWORD_COMPLEX", FT_BOOLEAN, 32, TFS(&samr_PasswordProperties_DOMAIN_PASSWORD_COMPLEX_tfs), ( 0x00000001 ), NULL, HFILL }},
15910 { &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_LOCKOUT_ADMINS,
15911 { "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 }},
15912 { &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_ANON_CHANGE,
15913 { "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 }},
15914 { &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_NO_CLEAR_CHANGE,
15915 { "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 }},
15916 { &hf_samr_samr_PasswordProperties_DOMAIN_PASSWORD_STORE_CLEARTEXT,
15917 { "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 }},
15918 { &hf_samr_samr_PasswordProperties_DOMAIN_REFUSE_PASSWORD_CHANGE,
15919 { "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 }},
15920 { &hf_samr_samr_Password_hash,
15921 { "Hash", "samr.samr_Password.hash", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
15922 { &hf_samr_samr_PwInfo_min_password_length,
15923 { "Min Password Length", "samr.samr_PwInfo.min_password_length", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
15924 { &hf_samr_samr_PwInfo_password_properties,
15925 { "Password Properties", "samr.samr_PwInfo.password_properties", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
15926 { &hf_samr_samr_QueryAliasInfo_info,
15927 { "Info", "samr.samr_QueryAliasInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15928 { &hf_samr_samr_QueryAliasInfo_level,
15929 { "Level", "samr.samr_QueryAliasInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_AliasInfoEnum_vals), 0, NULL, HFILL }},
15930 { &hf_samr_samr_QueryDisplayInfo2_buf_size,
15931 { "Buf Size", "samr.samr_QueryDisplayInfo2.buf_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15932 { &hf_samr_samr_QueryDisplayInfo2_info,
15933 { "Info", "samr.samr_QueryDisplayInfo2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15934 { &hf_samr_samr_QueryDisplayInfo2_level,
15935 { "Level", "samr.samr_QueryDisplayInfo2.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainDisplayInformation_vals), 0, NULL, HFILL }},
15936 { &hf_samr_samr_QueryDisplayInfo2_max_entries,
15937 { "Max Entries", "samr.samr_QueryDisplayInfo2.max_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15938 { &hf_samr_samr_QueryDisplayInfo2_returned_size,
15939 { "Returned Size", "samr.samr_QueryDisplayInfo2.returned_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15940 { &hf_samr_samr_QueryDisplayInfo2_start_idx,
15941 { "Start Idx", "samr.samr_QueryDisplayInfo2.start_idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15942 { &hf_samr_samr_QueryDisplayInfo2_total_size,
15943 { "Total Size", "samr.samr_QueryDisplayInfo2.total_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15944 { &hf_samr_samr_QueryDisplayInfo3_buf_size,
15945 { "Buf Size", "samr.samr_QueryDisplayInfo3.buf_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15946 { &hf_samr_samr_QueryDisplayInfo3_info,
15947 { "Info", "samr.samr_QueryDisplayInfo3.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15948 { &hf_samr_samr_QueryDisplayInfo3_level,
15949 { "Level", "samr.samr_QueryDisplayInfo3.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainDisplayInformation_vals), 0, NULL, HFILL }},
15950 { &hf_samr_samr_QueryDisplayInfo3_max_entries,
15951 { "Max Entries", "samr.samr_QueryDisplayInfo3.max_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15952 { &hf_samr_samr_QueryDisplayInfo3_returned_size,
15953 { "Returned Size", "samr.samr_QueryDisplayInfo3.returned_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15954 { &hf_samr_samr_QueryDisplayInfo3_start_idx,
15955 { "Start Idx", "samr.samr_QueryDisplayInfo3.start_idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15956 { &hf_samr_samr_QueryDisplayInfo3_total_size,
15957 { "Total Size", "samr.samr_QueryDisplayInfo3.total_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15958 { &hf_samr_samr_QueryDisplayInfo_buf_size,
15959 { "Buf Size", "samr.samr_QueryDisplayInfo.buf_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15960 { &hf_samr_samr_QueryDisplayInfo_info,
15961 { "Info", "samr.samr_QueryDisplayInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15962 { &hf_samr_samr_QueryDisplayInfo_level,
15963 { "Level", "samr.samr_QueryDisplayInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainDisplayInformation_vals), 0, NULL, HFILL }},
15964 { &hf_samr_samr_QueryDisplayInfo_max_entries,
15965 { "Max Entries", "samr.samr_QueryDisplayInfo.max_entries", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15966 { &hf_samr_samr_QueryDisplayInfo_returned_size,
15967 { "Returned Size", "samr.samr_QueryDisplayInfo.returned_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15968 { &hf_samr_samr_QueryDisplayInfo_start_idx,
15969 { "Start Idx", "samr.samr_QueryDisplayInfo.start_idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15970 { &hf_samr_samr_QueryDisplayInfo_total_size,
15971 { "Total Size", "samr.samr_QueryDisplayInfo.total_size", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
15972 { &hf_samr_samr_QueryDomainInfo2_info,
15973 { "Info", "samr.samr_QueryDomainInfo2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15974 { &hf_samr_samr_QueryDomainInfo2_level,
15975 { "Level", "samr.samr_QueryDomainInfo2.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainInfoClass_vals), 0, NULL, HFILL }},
15976 { &hf_samr_samr_QueryDomainInfo_info,
15977 { "Info", "samr.samr_QueryDomainInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15978 { &hf_samr_samr_QueryDomainInfo_level,
15979 { "Level", "samr.samr_QueryDomainInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainInfoClass_vals), 0, NULL, HFILL }},
15980 { &hf_samr_samr_QueryGroupInfo_info,
15981 { "Info", "samr.samr_QueryGroupInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15982 { &hf_samr_samr_QueryGroupInfo_level,
15983 { "Level", "samr.samr_QueryGroupInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_GroupInfoEnum_vals), 0, NULL, HFILL }},
15984 { &hf_samr_samr_QueryGroupMember_rids,
15985 { "Rids", "samr.samr_QueryGroupMember.rids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15986 { &hf_samr_samr_QuerySecurity_sdbuf,
15987 { "Sdbuf", "samr.samr_QuerySecurity.sdbuf", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15988 { &hf_samr_samr_QuerySecurity_sec_info,
15989 { "Sec Info", "samr.samr_QuerySecurity.sec_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15990 { &hf_samr_samr_QueryUserInfo2_info,
15991 { "Info", "samr.samr_QueryUserInfo2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15992 { &hf_samr_samr_QueryUserInfo2_level,
15993 { "Level", "samr.samr_QueryUserInfo2.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_UserInfoLevel_vals), 0, NULL, HFILL }},
15994 { &hf_samr_samr_QueryUserInfo_info,
15995 { "Info", "samr.samr_QueryUserInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
15996 { &hf_samr_samr_QueryUserInfo_level,
15997 { "Level", "samr.samr_QueryUserInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_UserInfoLevel_vals), 0, NULL, HFILL }},
15998 { &hf_samr_samr_RemoveMemberFromForeignDomain_sid,
15999 { "Sid", "samr.samr_RemoveMemberFromForeignDomain.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16000 { &hf_samr_samr_RemoveMultipleMembersFromAlias_sids,
16001 { "Sids", "samr.samr_RemoveMultipleMembersFromAlias.sids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16002 { &hf_samr_samr_RidToSid_sid,
16003 { "Sid", "samr.samr_RidToSid.sid", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16004 { &hf_samr_samr_RidTypeArray_count,
16005 { "Count", "samr.samr_RidTypeArray.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16006 { &hf_samr_samr_RidTypeArray_types,
16007 { "Types", "samr.samr_RidTypeArray.types", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16008 { &hf_samr_samr_RidWithAttributeArray_count,
16009 { "Count", "samr.samr_RidWithAttributeArray.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16010 { &hf_samr_samr_RidWithAttributeArray_rids,
16011 { "Rids", "samr.samr_RidWithAttributeArray.rids", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16012 { &hf_samr_samr_RidWithAttribute_attributes,
16013 { "Attributes", "samr.samr_RidWithAttribute.attributes", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16014 { &hf_samr_samr_SamArray_count,
16015 { "Count", "samr.samr_SamArray.count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16016 { &hf_samr_samr_SamArray_entries,
16017 { "Entries", "samr.samr_SamArray.entries", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16018 { &hf_samr_samr_SamEntry_idx,
16019 { "Idx", "samr.samr_SamEntry.idx", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16020 { &hf_samr_samr_SamEntry_name,
16021 { "Name", "samr.samr_SamEntry.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16022 { &hf_samr_samr_SetAliasInfo_info,
16023 { "Info", "samr.samr_SetAliasInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16024 { &hf_samr_samr_SetAliasInfo_level,
16025 { "Level", "samr.samr_SetAliasInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_AliasInfoEnum_vals), 0, NULL, HFILL }},
16026 { &hf_samr_samr_SetBootKeyInformation_unknown1,
16027 { "Unknown1", "samr.samr_SetBootKeyInformation.unknown1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16028 { &hf_samr_samr_SetBootKeyInformation_unknown2,
16029 { "Unknown2", "samr.samr_SetBootKeyInformation.unknown2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16030 { &hf_samr_samr_SetBootKeyInformation_unknown3,
16031 { "Unknown3", "samr.samr_SetBootKeyInformation.unknown3", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16032 { &hf_samr_samr_SetDomainInfo_info,
16033 { "Info", "samr.samr_SetDomainInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16034 { &hf_samr_samr_SetDomainInfo_level,
16035 { "Level", "samr.samr_SetDomainInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_DomainInfoClass_vals), 0, NULL, HFILL }},
16036 { &hf_samr_samr_SetDsrmPassword_hash,
16037 { "Hash", "samr.samr_SetDsrmPassword.hash", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16038 { &hf_samr_samr_SetDsrmPassword_name,
16039 { "Name", "samr.samr_SetDsrmPassword.name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16040 { &hf_samr_samr_SetDsrmPassword_unknown,
16041 { "Unknown", "samr.samr_SetDsrmPassword.unknown", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16042 { &hf_samr_samr_SetGroupInfo_info,
16043 { "Info", "samr.samr_SetGroupInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16044 { &hf_samr_samr_SetGroupInfo_level,
16045 { "Level", "samr.samr_SetGroupInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_GroupInfoEnum_vals), 0, NULL, HFILL }},
16046 { &hf_samr_samr_SetMemberAttributesOfGroup_unknown1,
16047 { "Unknown1", "samr.samr_SetMemberAttributesOfGroup.unknown1", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16048 { &hf_samr_samr_SetMemberAttributesOfGroup_unknown2,
16049 { "Unknown2", "samr.samr_SetMemberAttributesOfGroup.unknown2", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16050 { &hf_samr_samr_SetSecurity_sdbuf,
16051 { "Sdbuf", "samr.samr_SetSecurity.sdbuf", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16052 { &hf_samr_samr_SetSecurity_sec_info,
16053 { "Sec Info", "samr.samr_SetSecurity.sec_info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16054 { &hf_samr_samr_SetUserInfo2_info,
16055 { "Info", "samr.samr_SetUserInfo2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16056 { &hf_samr_samr_SetUserInfo2_level,
16057 { "Level", "samr.samr_SetUserInfo2.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_UserInfoLevel_vals), 0, NULL, HFILL }},
16058 { &hf_samr_samr_SetUserInfo_info,
16059 { "Info", "samr.samr_SetUserInfo.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16060 { &hf_samr_samr_SetUserInfo_level,
16061 { "Level", "samr.samr_SetUserInfo.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_UserInfoLevel_vals), 0, NULL, HFILL }},
16062 { &hf_samr_samr_Shutdown_connect_handle,
16063 { "Connect Handle", "samr.samr_Shutdown.connect_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
16064 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP,
16065 { "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 }},
16066 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_CHANGE_PASSWORD,
16067 { "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 }},
16068 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_ATTRIBUTES,
16069 { "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 }},
16070 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUPS,
16071 { "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 }},
16072 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP,
16073 { "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 }},
16074 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOCALE,
16075 { "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 }},
16076 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_LOGONINFO,
16077 { "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 }},
16078 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_GET_NAME_ETC,
16079 { "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 }},
16080 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_ATTRIBUTES,
16081 { "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 }},
16082 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_LOC_COM,
16083 { "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 }},
16084 { &hf_samr_samr_UserAccessMask_SAMR_USER_ACCESS_SET_PASSWORD,
16085 { "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 }},
16086 { &hf_samr_samr_UserInfo10_home_directory,
16087 { "Home Directory", "samr.samr_UserInfo10.home_directory", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16088 { &hf_samr_samr_UserInfo10_home_drive,
16089 { "Home Drive", "samr.samr_UserInfo10.home_drive", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16090 { &hf_samr_samr_UserInfo11_logon_script,
16091 { "Logon Script", "samr.samr_UserInfo11.logon_script", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16092 { &hf_samr_samr_UserInfo12_profile_path,
16093 { "Profile Path", "samr.samr_UserInfo12.profile_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16094 { &hf_samr_samr_UserInfo13_description,
16095 { "Description", "samr.samr_UserInfo13.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16096 { &hf_samr_samr_UserInfo14_workstations,
16097 { "Workstations", "samr.samr_UserInfo14.workstations", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16098 { &hf_samr_samr_UserInfo16_acct_flags,
16099 { "Acct Flags", "samr.samr_UserInfo16.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16100 { &hf_samr_samr_UserInfo17_acct_expiry,
16101 { "Acct Expiry", "samr.samr_UserInfo17.acct_expiry", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16102 { &hf_samr_samr_UserInfo18_lm_pwd,
16103 { "Lm Pwd", "samr.samr_UserInfo18.lm_pwd", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16104 { &hf_samr_samr_UserInfo18_lm_pwd_active,
16105 { "Lm Pwd Active", "samr.samr_UserInfo18.lm_pwd_active", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16106 { &hf_samr_samr_UserInfo18_nt_pwd,
16107 { "Nt Pwd", "samr.samr_UserInfo18.nt_pwd", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16108 { &hf_samr_samr_UserInfo18_nt_pwd_active,
16109 { "Nt Pwd Active", "samr.samr_UserInfo18.nt_pwd_active", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16110 { &hf_samr_samr_UserInfo18_password_expired,
16111 { "Password Expired", "samr.samr_UserInfo18.password_expired", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16112 { &hf_samr_samr_UserInfo1_account_name,
16113 { "Account Name", "samr.samr_UserInfo1.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16114 { &hf_samr_samr_UserInfo1_comment,
16115 { "Comment", "samr.samr_UserInfo1.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16116 { &hf_samr_samr_UserInfo1_description,
16117 { "Description", "samr.samr_UserInfo1.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16118 { &hf_samr_samr_UserInfo1_full_name,
16119 { "Full Name", "samr.samr_UserInfo1.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16120 { &hf_samr_samr_UserInfo1_primary_gid,
16121 { "Primary Gid", "samr.samr_UserInfo1.primary_gid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16122 { &hf_samr_samr_UserInfo20_parameters,
16123 { "Parameters", "samr.samr_UserInfo20.parameters", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16124 { &hf_samr_samr_UserInfo21_account_name,
16125 { "Account Name", "samr.samr_UserInfo21.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16126 { &hf_samr_samr_UserInfo21_acct_expiry,
16127 { "Acct Expiry", "samr.samr_UserInfo21.acct_expiry", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16128 { &hf_samr_samr_UserInfo21_acct_flags,
16129 { "Acct Flags", "samr.samr_UserInfo21.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16130 { &hf_samr_samr_UserInfo21_allow_password_change,
16131 { "Allow Password Change", "samr.samr_UserInfo21.allow_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16132 { &hf_samr_samr_UserInfo21_bad_password_count,
16133 { "Bad Password Count", "samr.samr_UserInfo21.bad_password_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16134 { &hf_samr_samr_UserInfo21_buf_count,
16135 { "Buf Count", "samr.samr_UserInfo21.buf_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16136 { &hf_samr_samr_UserInfo21_buffer,
16137 { "Buffer", "samr.samr_UserInfo21.buffer", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16138 { &hf_samr_samr_UserInfo21_code_page,
16139 { "Code Page", "samr.samr_UserInfo21.code_page", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16140 { &hf_samr_samr_UserInfo21_comment,
16141 { "Comment", "samr.samr_UserInfo21.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16142 { &hf_samr_samr_UserInfo21_country_code,
16143 { "Country Code", "samr.samr_UserInfo21.country_code", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16144 { &hf_samr_samr_UserInfo21_description,
16145 { "Description", "samr.samr_UserInfo21.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16146 { &hf_samr_samr_UserInfo21_fields_present,
16147 { "Fields Present", "samr.samr_UserInfo21.fields_present", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16148 { &hf_samr_samr_UserInfo21_force_password_change,
16149 { "Force Password Change", "samr.samr_UserInfo21.force_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16150 { &hf_samr_samr_UserInfo21_full_name,
16151 { "Full Name", "samr.samr_UserInfo21.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16152 { &hf_samr_samr_UserInfo21_home_directory,
16153 { "Home Directory", "samr.samr_UserInfo21.home_directory", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16154 { &hf_samr_samr_UserInfo21_home_drive,
16155 { "Home Drive", "samr.samr_UserInfo21.home_drive", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16156 { &hf_samr_samr_UserInfo21_last_logoff,
16157 { "Last Logoff", "samr.samr_UserInfo21.last_logoff", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16158 { &hf_samr_samr_UserInfo21_last_logon,
16159 { "Last Logon", "samr.samr_UserInfo21.last_logon", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16160 { &hf_samr_samr_UserInfo21_last_password_change,
16161 { "Last Password Change", "samr.samr_UserInfo21.last_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16162 { &hf_samr_samr_UserInfo21_lm_owf_password,
16163 { "Lm Owf Password", "samr.samr_UserInfo21.lm_owf_password", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16164 { &hf_samr_samr_UserInfo21_lm_password_set,
16165 { "Lm Password Set", "samr.samr_UserInfo21.lm_password_set", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16166 { &hf_samr_samr_UserInfo21_logon_count,
16167 { "Logon Count", "samr.samr_UserInfo21.logon_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16168 { &hf_samr_samr_UserInfo21_logon_hours,
16169 { "Logon Hours", "samr.samr_UserInfo21.logon_hours", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16170 { &hf_samr_samr_UserInfo21_logon_script,
16171 { "Logon Script", "samr.samr_UserInfo21.logon_script", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16172 { &hf_samr_samr_UserInfo21_nt_owf_password,
16173 { "Nt Owf Password", "samr.samr_UserInfo21.nt_owf_password", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16174 { &hf_samr_samr_UserInfo21_nt_password_set,
16175 { "Nt Password Set", "samr.samr_UserInfo21.nt_password_set", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16176 { &hf_samr_samr_UserInfo21_parameters,
16177 { "Parameters", "samr.samr_UserInfo21.parameters", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16178 { &hf_samr_samr_UserInfo21_password_expired,
16179 { "Password Expired", "samr.samr_UserInfo21.password_expired", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16180 { &hf_samr_samr_UserInfo21_primary_gid,
16181 { "Primary Gid", "samr.samr_UserInfo21.primary_gid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16182 { &hf_samr_samr_UserInfo21_private_data,
16183 { "Private Data", "samr.samr_UserInfo21.private_data", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16184 { &hf_samr_samr_UserInfo21_private_data_sensitive,
16185 { "Private Data Sensitive", "samr.samr_UserInfo21.private_data_sensitive", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16186 { &hf_samr_samr_UserInfo21_profile_path,
16187 { "Profile Path", "samr.samr_UserInfo21.profile_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16188 { &hf_samr_samr_UserInfo21_workstations,
16189 { "Workstations", "samr.samr_UserInfo21.workstations", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16190 { &hf_samr_samr_UserInfo23_info,
16191 { "Info", "samr.samr_UserInfo23.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16192 { &hf_samr_samr_UserInfo23_password,
16193 { "Password", "samr.samr_UserInfo23.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16194 { &hf_samr_samr_UserInfo24_password,
16195 { "Password", "samr.samr_UserInfo24.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16196 { &hf_samr_samr_UserInfo24_password_expired,
16197 { "Password Expired", "samr.samr_UserInfo24.password_expired", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16198 { &hf_samr_samr_UserInfo25_info,
16199 { "Info", "samr.samr_UserInfo25.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16200 { &hf_samr_samr_UserInfo25_password,
16201 { "Password", "samr.samr_UserInfo25.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16202 { &hf_samr_samr_UserInfo26_password,
16203 { "Password", "samr.samr_UserInfo26.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16204 { &hf_samr_samr_UserInfo26_password_expired,
16205 { "Password Expired", "samr.samr_UserInfo26.password_expired", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16206 { &hf_samr_samr_UserInfo2_code_page,
16207 { "Code Page", "samr.samr_UserInfo2.code_page", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16208 { &hf_samr_samr_UserInfo2_comment,
16209 { "Comment", "samr.samr_UserInfo2.comment", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16210 { &hf_samr_samr_UserInfo2_country_code,
16211 { "Country Code", "samr.samr_UserInfo2.country_code", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16212 { &hf_samr_samr_UserInfo2_reserved,
16213 { "Reserved", "samr.samr_UserInfo2.reserved", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16214 { &hf_samr_samr_UserInfo31_password,
16215 { "Password", "samr.samr_UserInfo31.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16216 { &hf_samr_samr_UserInfo31_password_expired,
16217 { "Password Expired", "samr.samr_UserInfo31.password_expired", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16218 { &hf_samr_samr_UserInfo32_info,
16219 { "Info", "samr.samr_UserInfo32.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16220 { &hf_samr_samr_UserInfo32_password,
16221 { "Password", "samr.samr_UserInfo32.password", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16222 { &hf_samr_samr_UserInfo3_account_name,
16223 { "Account Name", "samr.samr_UserInfo3.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16224 { &hf_samr_samr_UserInfo3_acct_flags,
16225 { "Acct Flags", "samr.samr_UserInfo3.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16226 { &hf_samr_samr_UserInfo3_allow_password_change,
16227 { "Allow Password Change", "samr.samr_UserInfo3.allow_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16228 { &hf_samr_samr_UserInfo3_bad_password_count,
16229 { "Bad Password Count", "samr.samr_UserInfo3.bad_password_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16230 { &hf_samr_samr_UserInfo3_force_password_change,
16231 { "Force Password Change", "samr.samr_UserInfo3.force_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16232 { &hf_samr_samr_UserInfo3_full_name,
16233 { "Full Name", "samr.samr_UserInfo3.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16234 { &hf_samr_samr_UserInfo3_home_directory,
16235 { "Home Directory", "samr.samr_UserInfo3.home_directory", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16236 { &hf_samr_samr_UserInfo3_home_drive,
16237 { "Home Drive", "samr.samr_UserInfo3.home_drive", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16238 { &hf_samr_samr_UserInfo3_last_logoff,
16239 { "Last Logoff", "samr.samr_UserInfo3.last_logoff", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16240 { &hf_samr_samr_UserInfo3_last_logon,
16241 { "Last Logon", "samr.samr_UserInfo3.last_logon", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16242 { &hf_samr_samr_UserInfo3_last_password_change,
16243 { "Last Password Change", "samr.samr_UserInfo3.last_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16244 { &hf_samr_samr_UserInfo3_logon_count,
16245 { "Logon Count", "samr.samr_UserInfo3.logon_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16246 { &hf_samr_samr_UserInfo3_logon_hours,
16247 { "Logon Hours", "samr.samr_UserInfo3.logon_hours", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16248 { &hf_samr_samr_UserInfo3_logon_script,
16249 { "Logon Script", "samr.samr_UserInfo3.logon_script", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16250 { &hf_samr_samr_UserInfo3_primary_gid,
16251 { "Primary Gid", "samr.samr_UserInfo3.primary_gid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16252 { &hf_samr_samr_UserInfo3_profile_path,
16253 { "Profile Path", "samr.samr_UserInfo3.profile_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16254 { &hf_samr_samr_UserInfo3_workstations,
16255 { "Workstations", "samr.samr_UserInfo3.workstations", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16256 { &hf_samr_samr_UserInfo4_logon_hours,
16257 { "Logon Hours", "samr.samr_UserInfo4.logon_hours", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16258 { &hf_samr_samr_UserInfo5_account_name,
16259 { "Account Name", "samr.samr_UserInfo5.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16260 { &hf_samr_samr_UserInfo5_acct_expiry,
16261 { "Acct Expiry", "samr.samr_UserInfo5.acct_expiry", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16262 { &hf_samr_samr_UserInfo5_acct_flags,
16263 { "Acct Flags", "samr.samr_UserInfo5.acct_flags", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16264 { &hf_samr_samr_UserInfo5_bad_password_count,
16265 { "Bad Password Count", "samr.samr_UserInfo5.bad_password_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16266 { &hf_samr_samr_UserInfo5_description,
16267 { "Description", "samr.samr_UserInfo5.description", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16268 { &hf_samr_samr_UserInfo5_full_name,
16269 { "Full Name", "samr.samr_UserInfo5.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16270 { &hf_samr_samr_UserInfo5_home_directory,
16271 { "Home Directory", "samr.samr_UserInfo5.home_directory", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16272 { &hf_samr_samr_UserInfo5_home_drive,
16273 { "Home Drive", "samr.samr_UserInfo5.home_drive", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16274 { &hf_samr_samr_UserInfo5_last_logoff,
16275 { "Last Logoff", "samr.samr_UserInfo5.last_logoff", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16276 { &hf_samr_samr_UserInfo5_last_logon,
16277 { "Last Logon", "samr.samr_UserInfo5.last_logon", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16278 { &hf_samr_samr_UserInfo5_last_password_change,
16279 { "Last Password Change", "samr.samr_UserInfo5.last_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16280 { &hf_samr_samr_UserInfo5_logon_count,
16281 { "Logon Count", "samr.samr_UserInfo5.logon_count", FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
16282 { &hf_samr_samr_UserInfo5_logon_hours,
16283 { "Logon Hours", "samr.samr_UserInfo5.logon_hours", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16284 { &hf_samr_samr_UserInfo5_logon_script,
16285 { "Logon Script", "samr.samr_UserInfo5.logon_script", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16286 { &hf_samr_samr_UserInfo5_primary_gid,
16287 { "Primary Gid", "samr.samr_UserInfo5.primary_gid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16288 { &hf_samr_samr_UserInfo5_profile_path,
16289 { "Profile Path", "samr.samr_UserInfo5.profile_path", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16290 { &hf_samr_samr_UserInfo5_workstations,
16291 { "Workstations", "samr.samr_UserInfo5.workstations", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16292 { &hf_samr_samr_UserInfo6_account_name,
16293 { "Account Name", "samr.samr_UserInfo6.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16294 { &hf_samr_samr_UserInfo6_full_name,
16295 { "Full Name", "samr.samr_UserInfo6.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16296 { &hf_samr_samr_UserInfo7_account_name,
16297 { "Account Name", "samr.samr_UserInfo7.account_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16298 { &hf_samr_samr_UserInfo8_full_name,
16299 { "Full Name", "samr.samr_UserInfo8.full_name", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16300 { &hf_samr_samr_UserInfo9_primary_gid,
16301 { "Primary Gid", "samr.samr_UserInfo9.primary_gid", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16302 { &hf_samr_samr_UserInfo_info1,
16303 { "Info1", "samr.samr_UserInfo.info1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16304 { &hf_samr_samr_UserInfo_info10,
16305 { "Info10", "samr.samr_UserInfo.info10", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16306 { &hf_samr_samr_UserInfo_info11,
16307 { "Info11", "samr.samr_UserInfo.info11", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16308 { &hf_samr_samr_UserInfo_info12,
16309 { "Info12", "samr.samr_UserInfo.info12", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16310 { &hf_samr_samr_UserInfo_info13,
16311 { "Info13", "samr.samr_UserInfo.info13", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16312 { &hf_samr_samr_UserInfo_info14,
16313 { "Info14", "samr.samr_UserInfo.info14", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16314 { &hf_samr_samr_UserInfo_info16,
16315 { "Info16", "samr.samr_UserInfo.info16", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16316 { &hf_samr_samr_UserInfo_info17,
16317 { "Info17", "samr.samr_UserInfo.info17", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16318 { &hf_samr_samr_UserInfo_info18,
16319 { "Info18", "samr.samr_UserInfo.info18", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16320 { &hf_samr_samr_UserInfo_info2,
16321 { "Info2", "samr.samr_UserInfo.info2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16322 { &hf_samr_samr_UserInfo_info20,
16323 { "Info20", "samr.samr_UserInfo.info20", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16324 { &hf_samr_samr_UserInfo_info21,
16325 { "Info21", "samr.samr_UserInfo.info21", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16326 { &hf_samr_samr_UserInfo_info23,
16327 { "Info23", "samr.samr_UserInfo.info23", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16328 { &hf_samr_samr_UserInfo_info24,
16329 { "Info24", "samr.samr_UserInfo.info24", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16330 { &hf_samr_samr_UserInfo_info25,
16331 { "Info25", "samr.samr_UserInfo.info25", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16332 { &hf_samr_samr_UserInfo_info26,
16333 { "Info26", "samr.samr_UserInfo.info26", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16334 { &hf_samr_samr_UserInfo_info3,
16335 { "Info3", "samr.samr_UserInfo.info3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16336 { &hf_samr_samr_UserInfo_info31,
16337 { "Info31", "samr.samr_UserInfo.info31", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16338 { &hf_samr_samr_UserInfo_info32,
16339 { "Info32", "samr.samr_UserInfo.info32", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16340 { &hf_samr_samr_UserInfo_info4,
16341 { "Info4", "samr.samr_UserInfo.info4", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16342 { &hf_samr_samr_UserInfo_info5,
16343 { "Info5", "samr.samr_UserInfo.info5", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16344 { &hf_samr_samr_UserInfo_info6,
16345 { "Info6", "samr.samr_UserInfo.info6", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16346 { &hf_samr_samr_UserInfo_info7,
16347 { "Info7", "samr.samr_UserInfo.info7", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16348 { &hf_samr_samr_UserInfo_info8,
16349 { "Info8", "samr.samr_UserInfo.info8", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16350 { &hf_samr_samr_UserInfo_info9,
16351 { "Info9", "samr.samr_UserInfo.info9", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16352 { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT,
16353 { "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 }},
16354 { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME,
16355 { "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 }},
16356 { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_LOCKOUT_TIME,
16357 { "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 }},
16358 { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY,
16359 { "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 }},
16360 { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH,
16361 { "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 }},
16362 { &hf_samr_samr_ValidateFieldsPresent_SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET,
16363 { "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 }},
16364 { &hf_samr_samr_ValidatePasswordInfo_bad_password_time,
16365 { "Bad Password Time", "samr.samr_ValidatePasswordInfo.bad_password_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16366 { &hf_samr_samr_ValidatePasswordInfo_bad_pwd_count,
16367 { "Bad Pwd Count", "samr.samr_ValidatePasswordInfo.bad_pwd_count", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16368 { &hf_samr_samr_ValidatePasswordInfo_fields_present,
16369 { "Fields Present", "samr.samr_ValidatePasswordInfo.fields_present", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16370 { &hf_samr_samr_ValidatePasswordInfo_last_password_change,
16371 { "Last Password Change", "samr.samr_ValidatePasswordInfo.last_password_change", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16372 { &hf_samr_samr_ValidatePasswordInfo_lockout_time,
16373 { "Lockout Time", "samr.samr_ValidatePasswordInfo.lockout_time", FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }},
16374 { &hf_samr_samr_ValidatePasswordInfo_pwd_history,
16375 { "Pwd History", "samr.samr_ValidatePasswordInfo.pwd_history", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16376 { &hf_samr_samr_ValidatePasswordInfo_pwd_history_len,
16377 { "Pwd History Len", "samr.samr_ValidatePasswordInfo.pwd_history_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16378 { &hf_samr_samr_ValidatePasswordRepCtr_info,
16379 { "Info", "samr.samr_ValidatePasswordRepCtr.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16380 { &hf_samr_samr_ValidatePasswordRepCtr_status,
16381 { "Status", "samr.samr_ValidatePasswordRepCtr.status", FT_UINT1632, BASE_DEC, VALS(samr_samr_ValidationStatus_vals), 0, NULL, HFILL }},
16382 { &hf_samr_samr_ValidatePasswordRep_ctr1,
16383 { "Ctr1", "samr.samr_ValidatePasswordRep.ctr1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16384 { &hf_samr_samr_ValidatePasswordRep_ctr2,
16385 { "Ctr2", "samr.samr_ValidatePasswordRep.ctr2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16386 { &hf_samr_samr_ValidatePasswordRep_ctr3,
16387 { "Ctr3", "samr.samr_ValidatePasswordRep.ctr3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16388 { &hf_samr_samr_ValidatePasswordReq1_info,
16389 { "Info", "samr.samr_ValidatePasswordReq1.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16390 { &hf_samr_samr_ValidatePasswordReq1_password_matched,
16391 { "Password Matched", "samr.samr_ValidatePasswordReq1.password_matched", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16392 { &hf_samr_samr_ValidatePasswordReq2_account,
16393 { "Account", "samr.samr_ValidatePasswordReq2.account", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16394 { &hf_samr_samr_ValidatePasswordReq2_hash,
16395 { "Hash", "samr.samr_ValidatePasswordReq2.hash", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16396 { &hf_samr_samr_ValidatePasswordReq2_info,
16397 { "Info", "samr.samr_ValidatePasswordReq2.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16398 { &hf_samr_samr_ValidatePasswordReq2_password,
16399 { "Password", "samr.samr_ValidatePasswordReq2.password", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16400 { &hf_samr_samr_ValidatePasswordReq2_password_matched,
16401 { "Password Matched", "samr.samr_ValidatePasswordReq2.password_matched", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16402 { &hf_samr_samr_ValidatePasswordReq3_account,
16403 { "Account", "samr.samr_ValidatePasswordReq3.account", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16404 { &hf_samr_samr_ValidatePasswordReq3_clear_lockout,
16405 { "Clear Lockout", "samr.samr_ValidatePasswordReq3.clear_lockout", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16406 { &hf_samr_samr_ValidatePasswordReq3_hash,
16407 { "Hash", "samr.samr_ValidatePasswordReq3.hash", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16408 { &hf_samr_samr_ValidatePasswordReq3_info,
16409 { "Info", "samr.samr_ValidatePasswordReq3.info", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16410 { &hf_samr_samr_ValidatePasswordReq3_password,
16411 { "Password", "samr.samr_ValidatePasswordReq3.password", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16412 { &hf_samr_samr_ValidatePasswordReq3_pwd_must_change_at_next_logon,
16413 { "Pwd Must Change At Next Logon", "samr.samr_ValidatePasswordReq3.pwd_must_change_at_next_logon", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16414 { &hf_samr_samr_ValidatePasswordReq_req1,
16415 { "Req1", "samr.samr_ValidatePasswordReq.req1", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16416 { &hf_samr_samr_ValidatePasswordReq_req2,
16417 { "Req2", "samr.samr_ValidatePasswordReq.req2", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16418 { &hf_samr_samr_ValidatePasswordReq_req3,
16419 { "Req3", "samr.samr_ValidatePasswordReq.req3", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16420 { &hf_samr_samr_ValidatePassword_level,
16421 { "Level", "samr.samr_ValidatePassword.level", FT_UINT1632, BASE_DEC, VALS(samr_samr_ValidatePasswordLevel_vals), 0, NULL, HFILL }},
16422 { &hf_samr_samr_ValidatePassword_rep,
16423 { "Rep", "samr.samr_ValidatePassword.rep", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16424 { &hf_samr_samr_ValidatePassword_req,
16425 { "Req", "samr.samr_ValidatePassword.req", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }},
16426 { &hf_samr_samr_ValidationBlob_data,
16427 { "Data", "samr.samr_ValidationBlob.data", FT_UINT8, BASE_DEC, NULL, 0, NULL, HFILL }},
16428 { &hf_samr_samr_ValidationBlob_length,
16429 { "Length", "samr.samr_ValidationBlob.length", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16430 { &hf_samr_sec_desc_buf_len,
16431 { "Sec Desc Buf Len", "samr.sec_desc_buf_len", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }},
16432 { &hf_samr_status,
16433 { "NT Error", "samr.status", FT_UINT32, BASE_HEX|BASE_EXT_STRING, &NT_errors_ext, 0, NULL, HFILL }},
16434 { &hf_samr_userPwdChangeFailureInformation_extendedFailureReason,
16435 { "ExtendedFailureReason", "samr.userPwdChangeFailureInformation.extendedFailureReason", FT_UINT32, BASE_DEC, VALS(samr_samPwdChangeReason_vals), 0, NULL, HFILL }},
16436 { &hf_samr_userPwdChangeFailureInformation_filterModuleName,
16437 { "FilterModuleName", "samr.userPwdChangeFailureInformation.filterModuleName", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }},
16438 { &hf_samr_user_access_mask,
16439 { "Access Mask", "samr.user.access_mask", FT_UINT32, BASE_HEX, NULL, 0, NULL, HFILL }},
16440 { &hf_samr_user_handle,
16441 { "User Handle", "samr.user_handle", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }},
16445 static int *ett[] = {
16446 &ett_dcerpc_samr,
16447 &ett_samr_lsa_Strings,
16448 &ett_samr_samr_AcctFlags,
16449 &ett_samr_samr_ConnectAccessMask,
16450 &ett_samr_samr_UserAccessMask,
16451 &ett_samr_samr_DomainAccessMask,
16452 &ett_samr_samr_GroupAccessMask,
16453 &ett_samr_samr_AliasAccessMask,
16454 &ett_samr_samr_SamEntry,
16455 &ett_samr_samr_SamArray,
16456 &ett_samr_samr_PasswordProperties,
16457 &ett_samr_samr_DomInfo1,
16458 &ett_samr_samr_DomGeneralInformation,
16459 &ett_samr_samr_DomInfo3,
16460 &ett_samr_samr_DomOEMInformation,
16461 &ett_samr_samr_DomInfo5,
16462 &ett_samr_samr_DomInfo6,
16463 &ett_samr_samr_DomInfo7,
16464 &ett_samr_samr_DomInfo8,
16465 &ett_samr_samr_DomInfo9,
16466 &ett_samr_samr_DomGeneralInformation2,
16467 &ett_samr_samr_DomInfo12,
16468 &ett_samr_samr_DomInfo13,
16469 &ett_samr_samr_DomainInfo,
16470 &ett_samr_samr_Ids,
16471 &ett_samr_samr_GroupAttrs,
16472 &ett_samr_samr_GroupInfoAll,
16473 &ett_samr_samr_GroupInfoAttributes,
16474 &ett_samr_samr_GroupInfoDescription,
16475 &ett_samr_samr_GroupInfo,
16476 &ett_samr_samr_RidTypeArray,
16477 &ett_samr_samr_AliasInfoAll,
16478 &ett_samr_samr_AliasInfo,
16479 &ett_samr_samr_UserInfo1,
16480 &ett_samr_samr_UserInfo2,
16481 &ett_samr_samr_LogonHours,
16482 &ett_samr_samr_UserInfo3,
16483 &ett_samr_samr_UserInfo4,
16484 &ett_samr_samr_UserInfo5,
16485 &ett_samr_samr_UserInfo6,
16486 &ett_samr_samr_UserInfo7,
16487 &ett_samr_samr_UserInfo8,
16488 &ett_samr_samr_UserInfo9,
16489 &ett_samr_samr_UserInfo10,
16490 &ett_samr_samr_UserInfo11,
16491 &ett_samr_samr_UserInfo12,
16492 &ett_samr_samr_UserInfo13,
16493 &ett_samr_samr_UserInfo14,
16494 &ett_samr_samr_UserInfo16,
16495 &ett_samr_samr_UserInfo17,
16496 &ett_samr_samr_Password,
16497 &ett_samr_samr_UserInfo18,
16498 &ett_samr_samr_UserInfo20,
16499 &ett_samr_samr_FieldsPresent,
16500 &ett_samr_samr_UserInfo21,
16501 &ett_samr_samr_CryptPassword,
16502 &ett_samr_samr_UserInfo23,
16503 &ett_samr_samr_UserInfo24,
16504 &ett_samr_samr_CryptPasswordEx,
16505 &ett_samr_samr_UserInfo25,
16506 &ett_samr_samr_UserInfo26,
16507 &ett_samr_samr_EncryptedPasswordAES,
16508 &ett_samr_samr_UserInfo31,
16509 &ett_samr_samr_UserInfo32,
16510 &ett_samr_samr_UserInfo,
16511 &ett_samr_samr_RidWithAttribute,
16512 &ett_samr_samr_RidWithAttributeArray,
16513 &ett_samr_samr_DispEntryGeneral,
16514 &ett_samr_samr_DispInfoGeneral,
16515 &ett_samr_samr_DispEntryFull,
16516 &ett_samr_samr_DispInfoFull,
16517 &ett_samr_samr_DispEntryFullGroup,
16518 &ett_samr_samr_DispInfoFullGroups,
16519 &ett_samr_samr_DispEntryAscii,
16520 &ett_samr_samr_DispInfoAscii,
16521 &ett_samr_samr_DispInfo,
16522 &ett_samr_samr_PwInfo,
16523 &ett_samr_userPwdChangeFailureInformation,
16524 &ett_samr_samr_ConnectInfo1,
16525 &ett_samr_samr_ConnectInfo,
16526 &ett_samr_samr_ValidateFieldsPresent,
16527 &ett_samr_samr_ValidationBlob,
16528 &ett_samr_samr_ValidatePasswordInfo,
16529 &ett_samr_samr_ValidatePasswordRepCtr,
16530 &ett_samr_samr_ValidatePasswordRep,
16531 &ett_samr_samr_ValidatePasswordReq3,
16532 &ett_samr_samr_ValidatePasswordReq2,
16533 &ett_samr_samr_ValidatePasswordReq1,
16534 &ett_samr_samr_ValidatePasswordReq,
16537 proto_dcerpc_samr = proto_register_protocol("SAMR (pidl)", "SAMR", "samr");
16538 proto_register_field_array(proto_dcerpc_samr, hf, array_length (hf));
16539 proto_register_subtree_array(ett, array_length(ett));
16542 void proto_reg_handoff_dcerpc_samr(void)
16544 dcerpc_init_uuid(proto_dcerpc_samr, ett_dcerpc_samr,
16545 &uuid_dcerpc_samr, ver_dcerpc_samr,
16546 samr_dissectors, hf_samr_opnum);